Version 0.991 (July 24, 2012)
- Added a system service: "Look Up in AppKiDo". (In AppKiDo-for-iPhone it's "Look Up in AppKiDo-for-iPhone".) See the note below this list for details.
- Added a preference for whether a search request via AppleScript or system services opens a new window. Defaults to NO. Previously, a search via AppleScript would always open a new window.
- Fixed a bug causing a lot of constants (e.g. NSCocoaErrorDomain) not to appear.
- I'm starting to use fast enumeration in the code, which means AppKiDo now requires at least 10.5 (Leopard). I've updated the system requirements on the home page accordingly.
- "Check for Newer Version" now connects to appkido.com, the new home for AppKiDo now that MobileMe has been shut down.
- "Check for Newer Version" should now work for AppKiDo-for-iPhone. It was broken even before MobileMe was turned off, because a file was missing on the web site.
- Links in the About box now connect to appkido.com.
- Fixed the AppKiDo-for-iPhone icon so it displays properly on Retina displays. (Only AppKiDo-for-iPhone had this problem.)
About "Look Up in AppKiDo"
"Look Up in AppKiDo" is a service that you can invoke from any application where you have selected some text. It activates AppKiDo and performs a search for that text.
Often what we want to search for is a method name. AppKiDo tries to help by determining whether the selected text contains an Objective-C message-send or method declaration. If so, it searches for that method name. Otherwise, it searches for the literal text you have selected.
For example, in Xcode if you have [self flyToX:100 y:200 z:300], you can double-click one of the square brackets to select the whole expression, then invoke this service. AppKiDo will search for the method name flyToX:y:z:.
If you happen to be in BBEdit, where double-clicking a bracket selects the text inside the brackets, the service should still work. If there is leading whitespace or a cast, or newlines or comments anywhere, it should still work, so if you have lines like this you can select them all and then invoke the service:
(void)[self flyToX:100 // cast to void to discard the return value
y:200
z:900 /*300*/];
Note that "Look Up in AppKiDo" doesn't work if there is an assignment in the selected text. For example, it won't work if you select this whole line:
BOOL didFly = [self flyToX:100 y:200 z:300];
The workaround is to select just the message-send -- the part after the "=".
Another intended use is when you're looking at code that declares a method and you want to search for that method name. For example, you can select these lines and it will search for browser:child:ofItem: (the "-(id)" will be ignored):
- (id)browser:(NSBrowser *)browser
child:(NSInteger)index
ofItem:(id)item
This service assumes well-formed Objective-C. You might get unexpected results otherwise. If there are nested messages, it uses the top-level one. The algorithm mainly looks at punctuation -- delimiters like brackets and a few other characters that need special treatment. The basic idea is that it ignores anything between delimiters, like (blah blah blah), [blah blah blah], or {blah blah blah}. For this reason it should work if your selected code contains blocks or the new object literals.
If you use the "Look Up" service, remember to assign a hotkey in System Preferences > Keyboard > Keyboard Shortcuts > Services for maximum convenience.
Version 0.988 (Feb 7, 2012)
- Fixed corrupted nib files and converted them to xibs.
Version 0.987 (Feb 6, 2012)
- Fixed (at least for me) the bug where NSFileVersion wasn't appearing.
- Fixed bug where docs for NSFetchedResultsControllerDelegate weren't appearing.
- Made version number selectable in the About window.
Version 0.986 (Feb 2, 2012)
- This is a bug fix release.
- Fixed an exception that occurs when you use the contextual menu in the doc view and there is no doc (e.g., when you select NSFileWrapper > Class Methods -- NSFileWrapper doesn't have class methods).
- Includes changes from 0.986 sneakypeeks:
- Now works with Xcode 4.
- Fixed a problem with 10.4.
- Fixed a rarely occurring crash on quit. (Could reproduce by selecting CGEventTapIsEnabled before quitting.)
- Now displaying more info about Dev Tools directories and why they are or aren't recognized as such.
- Fixes for 64-bit (NSInteger instead of int).
Version 0.985 (September 25, 2010)
- Added patch submitted by Gerriet Denkmann that fixes the problem with Xcode 3.2.4 due to the name change from "iPhoneOS" to "iOS", which caused AppKiDo not to recognize a valid dev tools folder as such.
- Includes changes from 0.985 sneakypeeks:
- Fixed a bug where if a third party installs a docset in the Dev Tools directory, we might try to use that as our docset instead of the correct Apple one. Thanks to Fritz Anderson for finding this and correctly suggesting the cause.
- The bug Fritz found went deeper than I thought. Added handling for the case where docset is missing expected plist file, and for the fact that 3.1 iPhone docs now get installed in /Library/Developer/Shared/Documentation/DocSets.
- Added fix, sent by Michael Klein, for the fact that -[NSFont defaultLineHeightForFont:] is deprecated and isn't available to 64-bit applications.
Version 0.984 (April 8, 2010)
- Added Jeff Johnson's fix for a problem with the latest 3.2 docs whereby no docs would appear.
Version 0.983 (August 28, 2009)
- Works with the Xcode 3.2 docs (i.e., Snow Leopard).
- Added NSDate to the "Strings, data, collections" quicklist.
- If you switch to a different app while AppKiDo is loading, you won't get AppKiDo windows popping up in front when it's done loading.
- Changed to look for docs in the right place when the Dev Tools version is 2.5 and the Dev Tools directory is not /Developer.
- Added a popup button in prefs so you can choose between iPhone SDKs if you have more than one installed.
- Fixed bug where links to http: pages (like the sample code links in +stringWithString:) weren't going anywhere.
- Fixed bug causing DOM classes to show up as root classes.
- When you do a search, jumps to the first search result that has the search string as a prefix, if there is one.
- Staggers placement of new windows.
Version 0.982 (December 11, 2008)
- This is a bug-fix release, not the faster-loading version I promised earlier (that version will be 0.99).
- Now that the iPhone NDA has been lifted, AppKiDo-for-iPhone is available. It is a separate app with a very slightly different icon. Also, the AppKiDo source code is again available. I don't think it contains anything all that secret, but I wanted to be on the safe side.
- Added nil checks to prevent some of the crashes that were reported in 0.981.
- Some docs weren't showing up -- for example, NSIndexPath UIKit Additions and UITextField's delegate methods.
- The "Classes with delegates" quicklist was missing classes that have a delegate property as opposed to an explicit setDelegate: method.
- Fixed the Spaces bug where a new window would be created every time you switch to the space containing AppKiDo.
- Known issue: a few deprecated methods show up in "Delegate Methods" section -- for example, [NSData deserializeAlignedBytesLengthAtCursor:].
Version 0.981 (September 3, 2008)
- Documentation for Core Animation classes now shows up. I believe a few classes in other frameworks are also fixed.
- Documentation for properties now shows up.
- Hyperlinks work better, although links to Core Foundation docs still open a browser page. Thanks to Gerriet Denkmann for help with links.
- You can specify the location of your Dev Tools if it isn't /Developer.
- More frameworks are supported if you use Xcode 3, which is recommended.
- The contextual menu in the doc pane now has an "Open Page in Browser" option, which is handy if you want to send feedback to Apple using the link at the bottom of the HTML page.
- Keyboard shortcuts have changed. Command-(number) and Command-Option-(number) are now used to select items in the table of contents ("General", "Properties", "ALL Properties", "Classes", "ALL Classes", etc.). The keyboard shortcut for selecting a Favorite is now Control-(number).
- In the prefs panel, you can "Select All" and "Deselect All" when specifying which frameworks to include.
- You can do a prefix search by ending your search string with "*". This is not a general regex search, just a special case for prefixes.
- Note #1: There was a 0.98 release, but it only went out to a handful of people as a beta. This version fixes a performance bug that was found in 0.98.
- Note #2: AppKiDo works best with Xcode 3.x. It will work with 2.4 and 2.5, but some of the docs will be missing.
- Note #3: I'll release the source code if Apple tells me I'm not violating the iPhone NDA by doing so (I've asked), or when the NDA gets lifted, whichever comes first. At that time I will also release a compiled version that supports the iPhone SDK docs. AppKiDo-for-iPhone will be a separate app that is compiled from the same code as regular AppKiDo except for a few #ifdefs.
|