Author and share great documentation for your Swift packages and frameworks.

Posts under DocC tag

69 Posts

Post

Replies

Boosts

Views

Activity

XCode Quick Help panel
I'm a big fan of keeping documentation in the code, so it appears at the point of use. Obviously, DocC and the Quick Help panel are a pretty important part of that strategy. Unfortunately, it only works randomly, so even if I've just build documentation (which should not even matter, the doc is just a cmd+click away), Quick Help stays blank, often even on system items like Label. It seems totally accidental, which makes it hard to make to reproduce. Sometimes an Xcode restart helps, sometimes not. Sometimes changing the editor display helps, sometimes not. Any tips on that?
1
0
169
May ’26
"Show API Changes" no longer available on Apple Developer Documentation website?
There was a time that Apple Developer Documentation provides a filter to show the changes across versions, at https://developer.apple.com/documentation/technologies , with purple (modified), green (added), and red (deprecated) annotations. I wonder if this feature is completely removed, or is it still hiding somewhere? It is helpful to diff the API changes among versions. Thanks. edit: as pointed out by Rick, here is an archive link to what it used to look like
2
0
349
Jul ’25
Can DocC be used to abstract out lines of comments?
I'd like to point to comments about my code from outside the coding file to keep the code easier to read, but still have the comments show in Xcode's Quick Help. I've grown to appreciate lengthier comments, including Examples for demonstrating values that explain what calculations are doing. My DocC formatted comments have quickly reach 25 lines and some would benefit from even more lines than that, which I do not want to bloat my code files with. I have tried to find a way to abstract these lines into a .docc file that references the given property, and the following markdown successfully shows this when I run Build Documentation. However, clicking on this property fails to show any comments in Quick Help, even though they did prior to my moving them to an .md file. Unfortunately, I'd prefer reading these in the future in Quick Help over Xcode's Developer Documentation Window. I haven't used markdown in decades, so I'm hoping I'm merely making a markdown mistake someone can find below. For reference, InvItem is a SwiftData Model and circularDepletionArcValue is the property failing to show in Quick Help after the following got moved to a .docc file, but had previously shown in QuickHelp, and still does compile within Developer Documentation. `# ``InvItem/circularDepletionArcValue`` A computed property that determines the fill percentage of a circular arc based on the number of days until the inventory runs out. ## Overview The calculation follows these rules: - Returns 0.01 (minimum visible value) for less than 1 day - Returns 1.0 (full circle) for more than 11 days - Returns a proportional value between 0.1 and 1.0 for 1-11 days ## Examples ```swift let item = InvItem() item.daysTilRunOut = 0 item.circularDepletionArcValue // Returns 0.01 item.daysTilRunOut = 5 item.circularDepletionArcValue // Returns 0.5 item.daysTilRunOut = 12 item.circularDepletionArcValue // Returns 1.0
2
0
167
Apr ’25
What's the idea behind the changes in the Objective-C flavor of the Foundation documentation?
I just noticed that when you check the online documentation for Foundation using the delicious Objective-C flavor, some values are no more the expected ones: https://developer.apple.com/documentation/foundation/filemanager/copyitem(at:to:)?language=objc#return-value true if the item was copied successfully or the file manager’s delegate stopped the operation deliberately. Returns false if an error occurred. Considering that a BOOL used to be YES or NO for the last quarter of a century, I have the following question: [Q] What is the idea behind the disturbing changes of the Objective-C documentation?
5
0
288
Apr ’25
Winner's visa issue
It was mentioned in the Swift Student Challenge that outstanding winners will have the opportunity to visit Apple Park in the United States. However, as a challenger from China who is not currently in the U.S., this means that if I receive the outstanding award, I will need to apply for a visa to travel to Apple Park. Since I am under 18, my guardian would also need to apply for a visa. Therefore, I would like to know if Apple provides visa assistance for outstanding winners and their guardians from China, or if we are responsible for applying for the visas on our own.
1
1
580
Feb ’25
Xcode "Build documentation" not working with Swift Macro package in project
I have a workspace with my project and a Swift Macro. When I use the "Build Documentation" command the build fails with this error: fatal error: module map file '/Users/me/Library/Developer/Xcode/DerivedData/Project-fmdkuqlofexbqdhhitpgjnoqzyrz/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/Macros.modulemap' not found Is there a way around this?
3
4
1.3k
Oct ’24
Can't link Obj-C Enum Symbol with DocC
Hi all, I am trying to use this guide to link directly to symbols in my documentation. But I am unable to get it to link to an Objective-C enum case. For example ``EnumNameType/EnumNameMyCase`` does not create a link. It works fine for method names, etc. I have tried all of the combinations I can think of, but I can't get it to work. Any help is much appreciated!
3
0
664
Oct ’24
Building documentation (Docc) gives error coming from `FirebaseCoreExtension` while building with Xcode 16
The project setup is as follows: Uses pods Has swift bridging header as it uses both Objc and Swift With Xcode Version 16.0 (16A242d), when building the project everything is fine but when I build the Documentation (Product > Build Documentation), I am getting this error via: /.../Project/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h:23:28: redefinition of 'FIRLoggerLevel' ... Building the documentation of the same project with Xcode Version 15.4 works just fine, so the error must come from the new xcodebuild (Xcode 16.0 Build version 16A242d). Here are the pods in the project: pod 'Firebase/Crashlytics', '10.29.0' pod 'Firebase/Performance', '10.29.0' # (Recommended) Pod for Google Analytics pod 'FirebaseAnalytics', '10.29.0' pod 'GoogleAnalytics', '3.21' pod 'GoogleTagManager', '7.4.3' pod 'FirebaseRemoteConfig', '10.29.0' pod 'GoogleUtilities', '7.13.0' Tried with all latest, but the same issue persists. Any ideas, on how to resolve this? I read that it is not possible to disable the pods being build by docc as they are dependencies of the target which is being build by the docc process, if that is not true, maybe I can disable docc from building the Pods.
1
0
695
Oct ’24
Import DocC to Xcode
I'm trying to figure out how to build DocC from other frameworks to Xcode's Developer Documentation. I tried using the build documentation command, and it generates the DocC for my project and displays it in the Developer Documentation, but not libraries in the SPM. The code documentation does appear in the Developer Documentation, but the contents of the DocC are not shown.
2
0
1k
Jun ’24
DocC not finding local sources files
Context Hello everyone, I'm a freshly graduate engineer currently learning Swift and Apple ecosystem frameworks as I wish to become an Apple Developer / Engineer. I made a very simple and light Swift package but I cannot build the documentation using DocC. Issue See my project here on github and explanations below. Behavior Building Documentation for my Swift package results in an empty page with only my Package name. Adding a documentation catalog with a start page work but only the start page is displayed after building. None of my structs in any sources files appears in the built documentation. Trying to add symbol linking to my sources files's structs in the start page (using double backquotes) results in the Topic section not built and a warning "MyStruct doesn't exist at '/MyPackage'" What I tried I found multiple information while looking for a solution, so I tried everything. None of my structs / classes have the same name as the package I did not remove the Topics section in the start page of the documentation catalog, neither I removed the Header 2 formatting. My documentation catalog and my sources files lies within MyPackage/Sources/MyPackage/ I compared my starting page and folder architecture with the Sloth demo project I did comment my structs / classes / functions with three slash /// using Xcode shortcut to pre-write documentation Technical Specifications macOS 14.5 MacBook Pro M3 Pro 18Go Xcode Version 15.4 (15F31d) swift-tools-version: 5.10 Images Conclusion I have no idea what else to do and if I am doing something wrong. Any feedback or solution on my issue would be really appreciated as I'm doing my best to learn the best practices to become an Apple developer. Thank you.
1
0
1.2k
Jun ’24
(How) Can I use DocC for internal documentation?
As presented in the talks and documentation I’ve seen so far, DocC works for public and open Swift symbols. But how about stuff for internal use? We are developing a fairly complex mixed source SDK with several components, that would benefit greatly from direct integration of auxiliary content for diagrams and so on. But since many of these parts are for internal use only, they have module or below level visibility. Is there a way to build an internal documentation target that includes this information with DocC, and — if so — how?
11
3
7.0k
May ’24
Missing ModuleMap with Docbuild
When performing xcodebuild docbuild I'm getting an error that I'm missing a module map for one of my Swift Packages I've included in the project. This is because I want to build the docbuild for iOS only, but have the Swift Package as a macOS only import fatal error: module map file '/Users/administrator/Library/Developer/Xcode/DerivedData/AppName/Build/Intermediates.noindex/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/SQLite.modulemap' not found The docbuild is as follows xcodebuild docbuild \ -scheme XXX \ -derivedDataPath ${DD_LOCATION} \ -configuration Release \ -sdk iphoneos \ SKIP_INSTALL=NO \ BUILD_LIBRARY_FOR_DISTRIBUTION=YES \ BUILD_DIR=${WORKSPACE}/build \ DEVELOPMENT_TEAM=XXX \ The Swift package mentioned is added as macOS only with an optional linkage and I have excluded the paths from source files which makes me able to run the app via xcode. Is there anything else I should be doing to exclude this from being added to the iOS side of our project? Thanks in advance for any help. I'm posting on here as this is generic for any Swift Packages which support iOS and macOS but important as a single OS package.
1
1
1.8k
Feb ’24
Documentation Deprecated Note
In the case of an entire framework being deprecated, like ML Compute, is there a note left somewhere or a link that helps explain the direction and intended replacement? When visiting the ML Compute page, there are just lots of "deprecated" badges, but no resource that provides explanation.
1
0
893
Feb ’24
visionOS DOCC command line build documentation fails
Hi, I am working on a visionOS Swift Package. I'm trying to generate the documentation for preview and export with the following commands, however I keep getting the error: /Users/chris/myfile.swift:6:8: error: no such module 'UIKit' import UIKit - I'm using UIKit for a color variable. My Package has: ... platforms: [.visionOS(.v1)] ... Failing Commands: swift package --disable-sandbox preview-documentation and PACKAGE_NAME=packageName REPOSITORY_NAME=repoName OUTPUT_PATH=./docs swift package --allow-writing-to-directory $OUTPUT_PATH \ generate-documentation --target $PACKAGE_NAME \ --disable-indexing \ --transform-for-static-hosting \ --hosting-base-path $REPOSITORY_NAME \ --output-path $OUTPUT_PATH The documentation does build if I build it from within Xcode's Product->Build Documentation menu Does anyone have any ideas what's wrong here?
1
0
957
Feb ’24
XCode Quick Help panel
I'm a big fan of keeping documentation in the code, so it appears at the point of use. Obviously, DocC and the Quick Help panel are a pretty important part of that strategy. Unfortunately, it only works randomly, so even if I've just build documentation (which should not even matter, the doc is just a cmd+click away), Quick Help stays blank, often even on system items like Label. It seems totally accidental, which makes it hard to make to reproduce. Sometimes an Xcode restart helps, sometimes not. Sometimes changing the editor display helps, sometimes not. Any tips on that?
Replies
1
Boosts
0
Views
169
Activity
May ’26
How works Experiment (Documentation) in Swift Playground?
Experiment Create a constant with an explicit type of Float and a value of 4. https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour
Replies
3
Boosts
0
Views
2.5k
Activity
Mar ’26
"Show API Changes" no longer available on Apple Developer Documentation website?
There was a time that Apple Developer Documentation provides a filter to show the changes across versions, at https://developer.apple.com/documentation/technologies , with purple (modified), green (added), and red (deprecated) annotations. I wonder if this feature is completely removed, or is it still hiding somewhere? It is helpful to diff the API changes among versions. Thanks. edit: as pointed out by Rick, here is an archive link to what it used to look like
Replies
2
Boosts
0
Views
349
Activity
Jul ’25
Can DocC be used to abstract out lines of comments?
I'd like to point to comments about my code from outside the coding file to keep the code easier to read, but still have the comments show in Xcode's Quick Help. I've grown to appreciate lengthier comments, including Examples for demonstrating values that explain what calculations are doing. My DocC formatted comments have quickly reach 25 lines and some would benefit from even more lines than that, which I do not want to bloat my code files with. I have tried to find a way to abstract these lines into a .docc file that references the given property, and the following markdown successfully shows this when I run Build Documentation. However, clicking on this property fails to show any comments in Quick Help, even though they did prior to my moving them to an .md file. Unfortunately, I'd prefer reading these in the future in Quick Help over Xcode's Developer Documentation Window. I haven't used markdown in decades, so I'm hoping I'm merely making a markdown mistake someone can find below. For reference, InvItem is a SwiftData Model and circularDepletionArcValue is the property failing to show in Quick Help after the following got moved to a .docc file, but had previously shown in QuickHelp, and still does compile within Developer Documentation. `# ``InvItem/circularDepletionArcValue`` A computed property that determines the fill percentage of a circular arc based on the number of days until the inventory runs out. ## Overview The calculation follows these rules: - Returns 0.01 (minimum visible value) for less than 1 day - Returns 1.0 (full circle) for more than 11 days - Returns a proportional value between 0.1 and 1.0 for 1-11 days ## Examples ```swift let item = InvItem() item.daysTilRunOut = 0 item.circularDepletionArcValue // Returns 0.01 item.daysTilRunOut = 5 item.circularDepletionArcValue // Returns 0.5 item.daysTilRunOut = 12 item.circularDepletionArcValue // Returns 1.0
Replies
2
Boosts
0
Views
167
Activity
Apr ’25
What's the idea behind the changes in the Objective-C flavor of the Foundation documentation?
I just noticed that when you check the online documentation for Foundation using the delicious Objective-C flavor, some values are no more the expected ones: https://developer.apple.com/documentation/foundation/filemanager/copyitem(at:to:)?language=objc#return-value true if the item was copied successfully or the file manager’s delegate stopped the operation deliberately. Returns false if an error occurred. Considering that a BOOL used to be YES or NO for the last quarter of a century, I have the following question: [Q] What is the idea behind the disturbing changes of the Objective-C documentation?
Replies
5
Boosts
0
Views
288
Activity
Apr ’25
DocC documentation warnings as errors
DocC supports treating build warnings as errors using the --warnings-as-errors flag. Is there a way to pass this flag to xcodebuild docbuild command or do I need to use xcrun docc convert after generating the symbol graph?
Replies
1
Boosts
0
Views
326
Activity
Mar ’25
Winner's visa issue
It was mentioned in the Swift Student Challenge that outstanding winners will have the opportunity to visit Apple Park in the United States. However, as a challenger from China who is not currently in the U.S., this means that if I receive the outstanding award, I will need to apply for a visa to travel to Apple Park. Since I am under 18, my guardian would also need to apply for a visa. Therefore, I would like to know if Apple provides visa assistance for outstanding winners and their guardians from China, or if we are responsible for applying for the visas on our own.
Replies
1
Boosts
1
Views
580
Activity
Feb ’25
Xcode "Build documentation" not working with Swift Macro package in project
I have a workspace with my project and a Swift Macro. When I use the "Build Documentation" command the build fails with this error: fatal error: module map file '/Users/me/Library/Developer/Xcode/DerivedData/Project-fmdkuqlofexbqdhhitpgjnoqzyrz/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/Macros.modulemap' not found Is there a way around this?
Replies
3
Boosts
4
Views
1.3k
Activity
Oct ’24
Can't link Obj-C Enum Symbol with DocC
Hi all, I am trying to use this guide to link directly to symbols in my documentation. But I am unable to get it to link to an Objective-C enum case. For example ``EnumNameType/EnumNameMyCase`` does not create a link. It works fine for method names, etc. I have tried all of the combinations I can think of, but I can't get it to work. Any help is much appreciated!
Replies
3
Boosts
0
Views
664
Activity
Oct ’24
Building documentation (Docc) gives error coming from `FirebaseCoreExtension` while building with Xcode 16
The project setup is as follows: Uses pods Has swift bridging header as it uses both Objc and Swift With Xcode Version 16.0 (16A242d), when building the project everything is fine but when I build the Documentation (Product > Build Documentation), I am getting this error via: /.../Project/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h:23:28: redefinition of 'FIRLoggerLevel' ... Building the documentation of the same project with Xcode Version 15.4 works just fine, so the error must come from the new xcodebuild (Xcode 16.0 Build version 16A242d). Here are the pods in the project: pod 'Firebase/Crashlytics', '10.29.0' pod 'Firebase/Performance', '10.29.0' # (Recommended) Pod for Google Analytics pod 'FirebaseAnalytics', '10.29.0' pod 'GoogleAnalytics', '3.21' pod 'GoogleTagManager', '7.4.3' pod 'FirebaseRemoteConfig', '10.29.0' pod 'GoogleUtilities', '7.13.0' Tried with all latest, but the same issue persists. Any ideas, on how to resolve this? I read that it is not possible to disable the pods being build by docc as they are dependencies of the target which is being build by the docc process, if that is not true, maybe I can disable docc from building the Pods.
Replies
1
Boosts
0
Views
695
Activity
Oct ’24
Import DocC to Xcode
I'm trying to figure out how to build DocC from other frameworks to Xcode's Developer Documentation. I tried using the build documentation command, and it generates the DocC for my project and displays it in the Developer Documentation, but not libraries in the SPM. The code documentation does appear in the Developer Documentation, but the contents of the DocC are not shown.
Replies
2
Boosts
0
Views
1k
Activity
Jun ’24
DocC not finding local sources files
Context Hello everyone, I'm a freshly graduate engineer currently learning Swift and Apple ecosystem frameworks as I wish to become an Apple Developer / Engineer. I made a very simple and light Swift package but I cannot build the documentation using DocC. Issue See my project here on github and explanations below. Behavior Building Documentation for my Swift package results in an empty page with only my Package name. Adding a documentation catalog with a start page work but only the start page is displayed after building. None of my structs in any sources files appears in the built documentation. Trying to add symbol linking to my sources files's structs in the start page (using double backquotes) results in the Topic section not built and a warning "MyStruct doesn't exist at '/MyPackage'" What I tried I found multiple information while looking for a solution, so I tried everything. None of my structs / classes have the same name as the package I did not remove the Topics section in the start page of the documentation catalog, neither I removed the Header 2 formatting. My documentation catalog and my sources files lies within MyPackage/Sources/MyPackage/ I compared my starting page and folder architecture with the Sloth demo project I did comment my structs / classes / functions with three slash /// using Xcode shortcut to pre-write documentation Technical Specifications macOS 14.5 MacBook Pro M3 Pro 18Go Xcode Version 15.4 (15F31d) swift-tools-version: 5.10 Images Conclusion I have no idea what else to do and if I am doing something wrong. Any feedback or solution on my issue would be really appreciated as I'm doing my best to learn the best practices to become an Apple developer. Thank you.
Replies
1
Boosts
0
Views
1.2k
Activity
Jun ’24
(How) Can I use DocC for internal documentation?
As presented in the talks and documentation I’ve seen so far, DocC works for public and open Swift symbols. But how about stuff for internal use? We are developing a fairly complex mixed source SDK with several components, that would benefit greatly from direct integration of auxiliary content for diagrams and so on. But since many of these parts are for internal use only, they have module or below level visibility. Is there a way to build an internal documentation target that includes this information with DocC, and — if so — how?
Replies
11
Boosts
3
Views
7.0k
Activity
May ’24
Color Assets documentation
if I want to document my color asset with DocC to help the development team use colors correctly in app development, how can I do it? p.s. think about when you have to work in a team but there isn't a graphic repository, like Figma or Zeplin
Replies
0
Boosts
0
Views
780
Activity
May ’24
How do I get changes to the documentation data in two versions
I am working on an sdk project and hope to find interface change information by comparing two doccarchive
Replies
0
Boosts
0
Views
711
Activity
Apr ’24
Documentation
Does anyone know of any documentation for the various directives in the guidebook? Things like @GuideBook, @Guide, @Task, @SuccessMessage, etc. Thanks, David
Replies
1
Boosts
0
Views
1.2k
Activity
Mar ’24
Hide Frameworks?
How can I hide "App Frameworks" documentation? Seems like it's just cluttering my documentation, especially since I want to host on a website. O just want my imported documentation. I want to hide this:
Replies
0
Boosts
1
Views
816
Activity
Mar ’24
Missing ModuleMap with Docbuild
When performing xcodebuild docbuild I'm getting an error that I'm missing a module map for one of my Swift Packages I've included in the project. This is because I want to build the docbuild for iOS only, but have the Swift Package as a macOS only import fatal error: module map file '/Users/administrator/Library/Developer/Xcode/DerivedData/AppName/Build/Intermediates.noindex/Build/Intermediates.noindex/GeneratedModuleMaps-iphoneos/SQLite.modulemap' not found The docbuild is as follows xcodebuild docbuild \ -scheme XXX \ -derivedDataPath ${DD_LOCATION} \ -configuration Release \ -sdk iphoneos \ SKIP_INSTALL=NO \ BUILD_LIBRARY_FOR_DISTRIBUTION=YES \ BUILD_DIR=${WORKSPACE}/build \ DEVELOPMENT_TEAM=XXX \ The Swift package mentioned is added as macOS only with an optional linkage and I have excluded the paths from source files which makes me able to run the app via xcode. Is there anything else I should be doing to exclude this from being added to the iOS side of our project? Thanks in advance for any help. I'm posting on here as this is generic for any Swift Packages which support iOS and macOS but important as a single OS package.
Replies
1
Boosts
1
Views
1.8k
Activity
Feb ’24
Documentation Deprecated Note
In the case of an entire framework being deprecated, like ML Compute, is there a note left somewhere or a link that helps explain the direction and intended replacement? When visiting the ML Compute page, there are just lots of "deprecated" badges, but no resource that provides explanation.
Replies
1
Boosts
0
Views
893
Activity
Feb ’24
visionOS DOCC command line build documentation fails
Hi, I am working on a visionOS Swift Package. I'm trying to generate the documentation for preview and export with the following commands, however I keep getting the error: /Users/chris/myfile.swift:6:8: error: no such module 'UIKit' import UIKit - I'm using UIKit for a color variable. My Package has: ... platforms: [.visionOS(.v1)] ... Failing Commands: swift package --disable-sandbox preview-documentation and PACKAGE_NAME=packageName REPOSITORY_NAME=repoName OUTPUT_PATH=./docs swift package --allow-writing-to-directory $OUTPUT_PATH \ generate-documentation --target $PACKAGE_NAME \ --disable-indexing \ --transform-for-static-hosting \ --hosting-base-path $REPOSITORY_NAME \ --output-path $OUTPUT_PATH The documentation does build if I build it from within Xcode's Product->Build Documentation menu Does anyone have any ideas what's wrong here?
Replies
1
Boosts
0
Views
957
Activity
Feb ’24