> On 6 Jul 2016, at 18:09, Douglas Gregor <dgre...@apple.com> wrote: > >> On Jul 5, 2016, at 10:35 PM, Ben Rimmington <m...@benrimmington.com >> <mailto:m...@benrimmington.com>> wrote: >> >>> On 5 Jul 2016, at 21:41, Douglas Gregor <dgre...@apple.com >>> <mailto:dgre...@apple.com>> wrote: >>> >>>> The following comment is incorrect, AFAIK. The `helpAnchor` is the name >>>> attribute of a HTML anchor element. >>>> >>>> /// A localized message providing "help" text if the user requests help. >>>> var helpAnchor: String? { get } >>> >>> Apple’s documentation says: >>> >>> NSHelpAnchorErrorKey >>> The corresponding value is an NSString containing the localized help >>> corresponding to the help button. See helpAnchor >>> <https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSError_Class/#//apple_ref/occ/instp/NSError/helpAnchor> >>> for more information. >>> >> >> A `helpAnchor` in AppKit is the name of an HTML anchor element: >> >> AppKit > NSPrintPanel > helpAnchor >> <https://developer.apple.com/reference/appkit/nsprintpanel/1490537-helpanchor >> >> <https://developer.apple.com/reference/appkit/nsprintpanel/1490537-helpanchor>> >> >> AppKit > NSHelpManager > openHelpAnchor(_:inBook:) >> <https://developer.apple.com/reference/appkit/nshelpmanager/1500908-openhelpanchor >> >> <https://developer.apple.com/reference/appkit/nshelpmanager/1500908-openhelpanchor>> >> >> Apple Help Programming Guide > Authoring Apple Help > Indexing Your Help >> Book > Setting Anchors >> <https://developer.apple.com/library/mac/documentation/Carbon/Conceptual/ProvidingUserAssitAppleHelp/authoring_help/authoring_help_book.html#//apple_ref/doc/uid/TP30000903-CH206-CHDFBEHF >> >> <https://developer.apple.com/library/mac/documentation/Carbon/Conceptual/ProvidingUserAssitAppleHelp/authoring_help/authoring_help_book.html#//apple_ref/doc/uid/TP30000903-CH206-CHDFBEHF>> > > The relevant “helpAnchor” is from the NSError reference documentation: > > > https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSError_Class/#//apple_ref/occ/instp/NSError/helpAnchor > > <https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSError_Class/#//apple_ref/occ/instp/NSError/helpAnchor> > > which says: > > A string to display in response to an alert panel help anchor button being > pressed. (read-only) > > Declaration > SWIFT > var helpAnchor: String > <https://developer.apple.com/library/mac/documentation/Swift/Reference/Swift_String_Structure/index.html#//apple_ref/swift/struct/s:SS>? > { get } > OBJECTIVE-C > @property(readonly, copy) NSString > <https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/index.html#//apple_ref/doc/c_ref/NSString>*helpAnchor > Discussion > The object in the user info dictionary for the key NSHelpAnchorErrorKey > <https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSError_Class/#//apple_ref/c/data/NSHelpAnchorErrorKey>. > If the user info dictionary doesn’t contain a value for NSHelpAnchorErrorKey > <https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSError_Class/#//apple_ref/c/data/NSHelpAnchorErrorKey>, > this property is nil. > > If this property is non-nil for an error being presented by alertWithError: > <https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSAlert_Class/index.html#//apple_ref/occ/clm/NSAlert/alertWithError:>, > the alert panel will include a help anchor button that can display this > string. > > Availability > Available in OS X v10.6 and later. > > - Doug >
The documentation on NSError help anchors is incorrect. <rdar://problem/27208074> I've tested this with a document-based Cocoa application. In the NSDocument subclass, I modified the template as follows: override func data(ofType typeName: String) throws -> Data { throw NSError(domain: NSOSStatusErrorDomain, code: unimpErr, userInfo: [NSHelpAnchorErrorKey: "ibks5f526382"]) } override func read(from data: Data, ofType typeName: String) throws { throw NSError(domain: NSOSStatusErrorDomain, code: unimpErr, userInfo: [NSHelpAnchorErrorKey: "pbhlp3714a9d"]) } Those help anchors were copied from the following file (in macOS 10.11.5): <file:/Library/Documentation/Help/MacHelp.help/Contents/Resources/en.lproj/navigation.json> When I try to open or save a document, an NSAlert with a help button is presented. Clicking on that help button shows the expected help page: {"name":"Read books in iBooks","href":"help:anchor='ibks5f526382' bookID='com.apple.iBooksX.help'"} {"name":"Take a Photo Booth photo","href":"help:anchor='pbhlp3714a9d' bookID='com.apple.PhotoBooth.help'"} But if I use a normal word or phrase with NSHelpAnchorErrorKey, the Mac Help window displays: The selected topic is currently unavailable. The topic you were trying to view could not be found. -- Ben
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution