I'm writing a SIMBL plugin for Spotlight, and I'm trying to create a subclass of an internal Spotlight type. While I can get headers directly from the executable using class-dump, I don't have a static library to link against, so compiling a subclass of one of those internal classes fails (even though the classes will be available at runtime). I've been following Mike Ash's instructions on subclassing classes at runtime, but it's pretty inconvenient. Is there any way to create a subclass of an Objective-C class without the superclass being available at link time?
Subclass Objective-C class without linking with the superclass?
615 Views Asked by nate777 At
1
There are 1 best solutions below
Related Questions in OBJECTIVE-C
- How to control the volume of an iPhone programmatically in objective-c
- Occasional crash at NSURLSessionDataTask dataTaskWithRequest:completionHandler:
- How to set value the descriptor of iOS BLE in Objective-C?
- Unexpected #selector() Behavior in Swift-Objective-C Interop?
- In what context can we use an unqualified #selector() expression in Swift?
- AVPictureInPictureController crashes during initialization
- How to use pow() in Objective-C?
- How to change the image on the MGSwipeButton in MGSwipeTableCell
- Using sort descriptors in Outline View
- Why is my Swift function not printing from inside the dataTask closure?
- Using UICollectionViewCell with IBOutlet
- Undefined symbol: _OBJC_CLASS_$_ only on simulator
- Why can't I receive a notification sent from Camera Extension(Swift) to an observer application (obj-c++)
- Behavior of __block modifier in objc
- Inserting subview into view where I've added subviews and sublayers
Related Questions in COCOA
- In what context can we use an unqualified #selector() expression in Swift?
- How can I trigger macOS system gamepad API based on a value received from iOS app through core bluetooth
- Using sort descriptors in Outline View
- NSTableView to NSOutlineView Drag & Drop not accepting drop
- How to remove horizontal line in bottom of section NSTableView?
- CGSRegionRef: How is an arbitrary region represented as union of rects?
- Listen for Touch Events on MacOS (Trackpad)
- Window "yanks" when moving
- Writing NSFilePromiseProviders to pasteboard blocks app on quit
- Basic ImGui program doesn't render, leaks memory and crashes
- NSTokenField suggestion using context menu in swift
- How to link multiple text views to a single text storage in TextKit 2
- I would like to know why I’m not getting IBOutlets connected in an App’s window
- How to make a custom event loop in Cocoa?
- Why is restoreWindow(withIdentifier:state:) called after applicationDidFinishLaunching(_:)?
Related Questions in OBJECTIVE-C-RUNTIME
- How do I fix this error: MapFileParser.sh: Permission denied Command PhaseScriptExecution failed with a nonzero exit code
- How to dynamically set a getter for an Objective-C object property?
- Objective-C ISA pointer on disk vs when object being instantiated
- Convert CFArray to pointer
- What's the format for `objc_method_description.types` for swift blocks?
- Mac dylib and executable problem, help needed
- OC memory continued to grow after using method swapping(swizzle)
- Handling a third party library in iOS as optional/-weak_framework
- Mac native function (ObjC / LibC) to call function with arguments
- Uncaught exception handler on iOS for particular threads
- KVO-compliant dependent readonly property in category
- Is the number before selector name in crash log meaningful to developer?
- @autoreleasepool with no foundation or corefoundation (libobjc only)
- How arguments are passed in performSelector
- Is it possible to get class name when implementing malloc_logger function in iOS?
Related Questions in CYDIA-SUBSTRATE
- DragonMake iOS-simulator error when trying to build
- How can I hook Springboard and all apps to listen for a physical button press?
- Trouble getting an address from _dyld_get_image_header method in iOS program
- How can I detect which Android native function that is hooked by Cydia Substrate: MSHookFunction?
- How to hook into Objective-C method using Theos Tweak
- Make a theos tweak work with all user apps
- Cannot Find Private URL For Opening Files App From Within Another App On iOS
- How can I hook a subview of a subview?
- How can i enable smart invert in iOS? (Objective C and cydia jailbreak app)
- How to compile RootCloak Plus APK from Github source?
- Cydia Substrate Android: MSHookFunction crashes with Fatal signal 11
- How does cycript / substrate work to hook into a process?
- How would I use SharedInstance correctly in a Cydia Tweak?
- Jail broken iOS: Communication between tweak and application
- Setting frame if in landscape not functioning iOS
Related Questions in SIMBL
- Cocoa get current running path of SIMBL Plugin
- Can I cast a NSConcreteValue to its objCType?
- SIMBL installation error? No folder Library/Applications Support/SIMBL
- Linker Command Failed with exit code 1 Category
- Subclass Objective-C class without linking with the superclass?
- openFrameworks: Math killing debugger?
- TerminalColours not loading in OS X Terminal
- LaunchAgent not launched
- Create SIMBL Plugin in Cocoa
- How to find the full path for finder overlay icon in icon view?
- MacOSX: Writing a Dock plugin under 10.8.x using [Easy]SIMBL?
- mach_inject or Simbl for inject code into the Finder
- Getting full path of list view in Lion
- Why SIMBL plugins don't seem to work with TextEdit and Preview in Lion?
- SIMBL swizzling in finder
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is entirely possible, and not actually very difficult to do. Here's a simple example with NSValue:
class_setSuperclass, while deprecated, still has an implementation as of OS X 10.10, and can be done after the class has been registered. I have not fully explored the effects of changing a class's superclass post the creation of an instance of that class, however, so take caution if you are to do this at any point past+loador+initialize.This may make it difficult to call methods on
super, but this could be gotten around by simply declaring a category onNSObject(or whichever superclass you choose to inherit from in your implementation).