Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed issues #289, #235 for Xcode 4.4 and above

1. Xcode will crash on ALT-DoubleClick every time when trying to look up selected text in Xcode Organiser
2. ALT-Click shows QuickHelp bubble OK, but if the method is not from one of the standard framework classes, the 'Reference' link at the bottom of the pop-up is not shown.
   Thus you can't jump to Organiser help on  your own classes and methods from the Quick Help bubble.
3. Added sample Xcode integration script to generate dockets automatically as target

Fix Notes:
    1. modify template file "tokens-template.xml" to add node reference for methods
    2. modify "GBDocSetOutputGenerator.m" to add this node reference to the generated xml file
  • Loading branch information...
commit 8b6e20fa197889f1f0a961aeccf9de9c7024dbe5 1 parent 3377667
@andreiaf authored
View
1  Generating/GBDocSetOutputGenerator.m
@@ -237,6 +237,7 @@ - (BOOL)processTokensXmlForObjects:(NSArray *)objects type:(NSString *)type temp
for (GBMethodData *method in methodsProvider.methods) {
NSMutableDictionary *data = [NSMutableDictionary dictionaryWithCapacity:4];
[data setObject:[self.settings htmlReferenceNameForObject:method] forKey:@"anchor"];
+ [data setObject:[simplifiedObjectData objectForKey:@"id"] forKey:@"refid"];
[self addTokensXmlModelObjectDataForObject:method toData:data];
[self addTokensXmlModelObjectDataForPropertySetterAndGetter:method withData:data toArray:membersData];
[membersData addObject:data];
View
1  Templates/docset/Contents/Resources/tokens-template.xml
@@ -25,6 +25,7 @@
</Parameters>{{/hasParameters}}
{{#returnValue}}<ReturnValue>{{>Abstract}}</ReturnValue>{{/returnValue}}
{{#anchor}}<Anchor>{{anchor}}</Anchor>{{/anchor}}
+ {{#refid}}<NodeRef refid="{{refid}}"/>{{/refid}}
</Token>
{{/members}}
</File>
View
46 XcodeIntegrationScript.markdown
@@ -0,0 +1,46 @@
+Sample script to Enamble Xcode integration
+==========================================
+
+appledoc can be integrated with Xcode in many ways. Below is one of those to get you up and running quickly on Xcode 4.6
+
+1. Select top of your project in Project Navigator
+2. Click Add Target
+3. Depending on your project type (IOS or OS X) choose Aggregate Template
+4. Create new target. I suggest to call it Documentation
+5. Click on Build Phases and add new Build Phase based on Script
+6. Paste the script below into the script window
+7. Adjust variables in section "Start Constants" as required
+8. Uncomment correct 'target' for your project and comment out another one depending on your project type.
+9. Adjust path to appledoc binary and appledoc's command-line switches if required
+10. When you ready to generate a docset from your project, build Documentation target.
+11. Docset will be installed into new loction and will become available to Xcode immediately.
+12. To refresh Quick Help (ALT+Click) and (ALT+double-click) you may need to restart Xcode to refresh its index cache.
+
+
+
+#appledoc Xcode script
+# Start constants
+company="ACME";
+companyID="com.ACME";
+companyURL="http://ACME.com";
+target="iphoneos";
+#target="macosx";
+outputPath="~/help";
+# End constants
+/usr/local/bin/appledoc \
+--project-name "${PROJECT_NAME}" \
+--project-company "${company}" \
+--company-id "${companyID}" \
+--docset-atom-filename "${company}.atom" \
+--docset-feed-url "${companyURL}/${company}/%DOCSETATOMFILENAME" \
+--docset-package-url "${companyURL}/${company}/%DOCSETPACKAGEFILENAME" \
+--docset-fallback-url "${companyURL}/${company}" \
+--output "${outputPath}" \
+--publish-docset \
+--docset-platform-family "${target}" \
+--logformat xcode \
+--keep-intermediate-files \
+--no-repeat-first-par \
+--no-warn-invalid-crossref \
+--exit-threshold 2 \
+"${PROJECT_DIR}"
View
2  appledoc.xcodeproj/project.pbxproj
@@ -527,6 +527,7 @@
73FC742B11FE274300AAD0B9 /* GBMethodArgument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GBMethodArgument.h; sourceTree = "<group>"; };
73FC742C11FE274300AAD0B9 /* GBMethodArgument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GBMethodArgument.m; sourceTree = "<group>"; };
73FC743511FE2CEB00AAD0B9 /* GBMethodDataTesting.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GBMethodDataTesting.m; sourceTree = "<group>"; };
+ 75C6C0D416CAA8D900E254F7 /* XcodeIntegrationScript.markdown */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = XcodeIntegrationScript.markdown; sourceTree = "<group>"; };
8DD76FA10486AA7600D96B5E /* appledoc */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = appledoc; sourceTree = BUILT_PRODUCTS_DIR; };
B4D1FFC015FF5F05009736E2 /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypt.h; sourceTree = "<group>"; };
B4D1FFC115FF5F05009736E2 /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = "<group>"; };
@@ -594,6 +595,7 @@
B4D1FFF615FF643D009736E2 /* install-appledoc.sh */,
73EA656912B7944E00398BD1 /* Readme.markdown */,
73EEB7A812CA2BE700E546DB /* Developer Notes.markdown */,
+ 75C6C0D416CAA8D900E254F7 /* XcodeIntegrationScript.markdown */,
739038301319926400B9CA74 /* AppledocSettings.plist */,
73D54C9011F8D18300CCDDB0 /* Classes */,
739AD36F1254449D00B642C3 /* Templates */,
Please sign in to comment.
Something went wrong with that request. Please try again.