You mentioned that it would be acceptable for an embedded helper tool to reference its host app's Swift runtime. What about a daemon that's included with an app?In my case, the daemon is installed to /Library/LaunchDaemons, and its companion app is installed wherever the user chooses (/Applications would be traditional, but nothing prevents the user from putting it somewhere else). The daemon isn't embedded in its companion app, nor does the companion app have a guaranteed location in the filesystem.The daemon and its companion app must support back to macOS 10.13. Would it be acceptable to include the Swift 5 runtime libraries from Apple's package here: https://support.apple.com/kb/DL1998?locale=en_US, inside the installer package for my own app? Otherwise, for users running versions of macOS prior to 10.14.4, they couldn't run my app and daemon without first installing the separate Swift 5 runtime package from Apple. I'm concerned that the installation experience will be poor, and hard to explain and support (instead of "just working" after they run my installer).Thank you for any insight!
Post
Replies
Boosts
Views
Activity
I feel weird replying to my own post, but since no one else has replied, I'm going to seed this with another example of why developers want this.
While my above example uses a two column grid, another common use case is a collection view containing a section with an orthogonal scroll direction, and a series of items with potentially different heights (self-sizing for the win, right?). Think: Horizontally scrolling carousel of cards. It's easy to force the height of this "carousel" and its items to some fixed height, but we don't want that. We want the content to self-size and the height to be a function of that. That's also easy if we don't care about the vertical alignment of the items, or requiring the items to share the height of the tallest item. Here's a visual aid:
How can we leverage self-sizing, but then additional require that all of the items in the group must share the height of the tallest item?
In a more general sense, you can think of this as an alignment issue. How do you leverage self-sizing but then control the alignment of the items within the group? By default, they're top-aligned. That's often fine, but sometimes you might want center-aligned or even bottom-aligned. And the case I'm asking about could be thought of as "fully justified" (if we interpret that to mean, "stretching all of the items to fill the available height, which itself is dictated by the height of the tallest item."
I'm also unable to pair my iPhone 16 Pro with Xcode 16.0 (16A242d) on macOS 15.0 (24A335).
The error details that Xcode displays will be attached.
Things I've tried:
Installing the latest iOS 18 software update (as of this morning).
Rebooting iPhone.
Rebooting Mac.
Restarting Xcode.
Turning Developer Mode off and back on again.
Clearing Trusted Computers in iOS Settings > Developer menu.
Deleting Xcode, along with ~/Library/Caches/Xcode and ~/Library/Developer and reinstalling Xcode.
Moving /Library/Developer/DeveloperDiskImages/iOS aside so Xcode can't find them (in hope that it would re-download corrected versions).
So far, none of this has worked (including various different permutations of the above).
As far as I can tell, Xcode is unusable with the new iPhones (which is nearly unbelievably shocking, but it's hard to imagine a transient hiccup surviving all of the above).
The developer disk image could not be mounted on this device.
Domain: com.apple.dt.CoreDeviceError
Code: 12040
Failure Reason: Error mounting image: 0xe800010f (kAMDMobileImageMounterPersonalizedBundleMissingVariantError: The bundle image is missing the requested variant for this device.)
User Info: {
DDIPath = "/Library/Developer/DeveloperDiskImages/iOS_DDI.dmg";
DVTErrorCreationDateKey = "2024-09-21 18:30:22 +0000";
DeviceIdentifier = "498371D5-46A6-4CBC-B78E-C2089F911F51";
NSURL = "file:///Library/Developer/DeveloperDiskImages/iOS_DDI.dmg";
Options = {
MountedBundlePath = "file:///private/var/tmp/CoreDevice_DDI_Staging_501/498371D5-46A6-4CBC-B78E-C2089F911F51/";
UseCredentials = 0;
};
"com.apple.dt.DVTCoreDevice.operationName" = enablePersonalizedDDI;
}
--
Error mounting image: 0xe800010f (kAMDMobileImageMounterPersonalizedBundleMissingVariantError: The bundle image is missing the requested variant for this device.)
Domain: com.apple.mobiledevice
Code: -402652913
User Info: {
FunctionName = AMDeviceRemoteMountPersonalizedBundle;
LineNumber = 2145;
}
--
Failed to initialize image properties: 0xe800010f (kAMDMobileImageMounterPersonalizedBundleMissingVariantError: The bundle image is missing the requested variant for this device.)
Domain: com.apple.mobiledevice
Code: -402652913
User Info: {
FunctionName = "-[PersonalizedImage mountImage:]";
LineNumber = 1816;
}
--
Failed to find image for variant/identity: (variant: DeveloperDiskImage | boardID: 12 | chipID: 33088 | securityDomain: 1).
Domain: com.apple.mobiledevice
Code: -402652913
User Info: {
FunctionName = "-[PersonalizedImage initializeImageProperties:]";
LineNumber = 1063;
}
--
System Information
macOS Version 15.0 (Build 24A335)
Xcode 16.0 (23051) (Build 16A242d)
Timestamp: 2024-09-21T11:30:22-07:00
I found that if I:
Installed Xcode 16.1 beta 2
Then paired my device and built an app to it
Then quit Xcode beta and launched Xcode 16.0
...that I was then able to successfully pair the device and install built apps to it from the non-beta Xcode.
Your mileage may vary.