Thanks for the suggestions, folks!
@John+Daniel, unfortunately I need to leave the files where they are. Part of the appeal of this app is that it will work with external resources without having to move them around, but that's a solid suggestion under different circumstances.
@eskimo I may end up having to do this, thanks for the suggestion about authorising a common parent. Not sure how that would play out in the user's experience, mind you ("why does this app need to access my entire home directory?!").
I think I need to file some feedback asking for enhancements to the user experience here — perhaps if the files I wanted to create security scoped bookmarks for could be collated into a single, easily reviewable dialog somehow that would be a much better experience, ie: I'm only asking the end user for access to what I actually need, and the user isn't bombarded with a bunch of same-same dialogs asking for access to each individual file (which would consequently cause the Vista effect and they'll just click through them without checking).
Post
Replies
Boosts
Views
Activity
You'll need to annotate any methods from NSTableViewDataSource that you implement with @objc.
For what it's worth, I don't believe any of the drag and drop protocol methods are implemented in the base NSTableViewDiffableDataSource type.
It's all done via a script, but the basic gist is:
xcrun xcodebuild archive -archivePath MyFramework.xcarchive -scheme MyFramework
xcrun xcodebuild -create-xcframework \
-framework MyFramework.xcarchive/Products/@rpath/MyFramework.framework \
-debug-symbols MyFramework.xcarchive/dSYMs/MyFramework.framework \
-output MyFramework.xcframework
ditto -c -k --rsrc --keepParent MyFramework.xcframework MyFramework.xcframework.zip
The zip file is attached to a GitHub release, and I download it in the app project, expand it and link to it as normal.
I can see looking at this how the signing might be a bit "off" by reaching into the xcarchive directly, rather than exporting the framework first. I might try using xcodebuild -exportArchive prior to creating the XCFramework, and see if that helps.
Thanks, Quinn! That's very informative.
For CI, someone also suggested separately that using ephemeral CI environments would also prevent this situation from triggering.
This happened for me with Xcode 15.3 beta 1 and beta 2, and I've just tested and it's still happening with Xcode 15.3 beta 3. I've reported this as FB13620516.
I've filed FB13786010. It's frustrating that this is still happening over a year later.