Post

Replies

Boosts

Views

Activity

Reply to xcodebuild keeps defaulting to Mac Catalyst
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild archive -project netcdf.xcodeproj -scheme netcdf-simulator "-destination=generic/iOS Simulator, arch:x86_64, id:AB7A99B3-8D24-4F73-A42D-9BB45321928D" -archivePath=archives/netcdf_simulator --- xcodebuild: WARNING: Using the first of multiple matching destinations: { platform:macOS, arch:arm64, variant:Mac Catalyst, id:00006041-0008492E3AA1801C, name:My Mac } { platform:macOS, arch:x86_64, variant:Mac Catalyst, id:00006041-0008492E3AA1801C, name:My Mac } { platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:00006041-0008492E3AA1801C, name:My Mac } { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device } { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device } { platform:macOS, variant:Mac Catalyst, name:Any Mac } { platform:iOS, arch:arm64, id:00008101-001C61991A90001E, name:August’s iPhone } { platform:iOS Simulator, arch:arm64, id:AB7A99B3-8D24-4F73-A42D-9BB45321928D, OS:18.6, name:iPad (A16) } { platform:iOS Simulator, arch:x86_64, id:AB7A99B3-8D24-4F73-A42D-9BB45321928D, OS:18.6, name:iPad (A16) } { platform:iOS Simulator, arch:arm64, id:EC02D77D-5ECA-4CB1-9BD0-6CEB91BBD832, OS:18.6, name:iPad Air 11-inch (M3) } { platform:iOS Simulator, arch:x86_64, id:EC02D77D-5ECA-4CB1-9BD0-6CEB91BBD832, OS:18.6, name:iPad Air 11-inch (M3) } { platform:iOS Simulator, arch:arm64, id:0BC29FE6-1F8B-4DCD-AD47-5CADA2E5CC06, OS:18.6, name:iPad Air 13-inch (M3) } { platform:iOS Simulator, arch:x86_64, id:0BC29FE6-1F8B-4DCD-AD47-5CADA2E5CC06, OS:18.6, name:iPad Air 13-inch (M3) } { platform:iOS Simulator, arch:arm64, id:B24E869E-FDF7-45ED-BEE5-1D9615EE007D, OS:18.6, name:iPad Pro 11-inch (M4) } { platform:iOS Simulator, arch:x86_64, id:B24E869E-FDF7-45ED-BEE5-1D9615EE007D, OS:18.6, name:iPad Pro 11-inch (M4) } { platform:iOS Simulator, arch:arm64, id:4B6B605E-2B33-4848-88AC-44BDF6D23715, OS:18.6, name:iPad Pro 13-inch (M4) } { platform:iOS Simulator, arch:x86_64, id:4B6B605E-2B33-4848-88AC-44BDF6D23715, OS:18.6, name:iPad Pro 13-inch (M4) } { platform:iOS Simulator, arch:arm64, id:53CF6E78-17DC-45B9-9CCF-65610F9DD8E0, OS:18.6, name:iPad mini (A17 Pro) } { platform:iOS Simulator, arch:x86_64, id:53CF6E78-17DC-45B9-9CCF-65610F9DD8E0, OS:18.6, name:iPad mini (A17 Pro) } { platform:iOS Simulator, arch:arm64, id:56E721D4-8795-4EF0-92C1-7624D0FB2201, OS:18.6, name:iPhone 16 } { platform:iOS Simulator, arch:x86_64, id:56E721D4-8795-4EF0-92C1-7624D0FB2201, OS:18.6, name:iPhone 16 } { platform:iOS Simulator, arch:arm64, id:9BFA0CE5-E6EB-42F4-9C73-530393B8B2B0, OS:18.6, name:iPhone 16 Plus } { platform:iOS Simulator, arch:x86_64, id:9BFA0CE5-E6EB-42F4-9C73-530393B8B2B0, OS:18.6, name:iPhone 16 Plus } { platform:iOS Simulator, arch:arm64, id:056553B1-63F4-4BB3-A115-2656BC5F6C2B, OS:18.6, name:iPhone 16 Pro } { platform:iOS Simulator, arch:x86_64, id:056553B1-63F4-4BB3-A115-2656BC5F6C2B, OS:18.6, name:iPhone 16 Pro } { platform:iOS Simulator, arch:arm64, id:AFEA9301-5373-48D5-B5F1-B49FC4DFF6E2, OS:18.6, name:iPhone 16 Pro Max } { platform:iOS Simulator, arch:x86_64, id:AFEA9301-5373-48D5-B5F1-B49FC4DFF6E2, OS:18.6, name:iPhone 16 Pro Max } { platform:iOS Simulator, arch:arm64, id:8452A8F2-5026-4259-BA10-F6E8BEABF137, OS:18.6, name:iPhone 16e } { platform:iOS Simulator, arch:x86_64, id:8452A8F2-5026-4259-BA10-F6E8BEABF137, OS:18.6, name:iPhone 16e }
Aug ’25
Reply to AppTransaction: how to use in ObjC apps (now that we are forced to use it after the exit(173) deprecation)
To call the StoreKit2 codeI have a class called AppValidator written in swift: @available(macOS 13.0, *) public class appValidator: NSObject { var errorDescription : String = "" @objc func error() -> String { return errorDescription } @objc func validateApp() async -> Int { do { let verificationResult = try await AppTransaction.shared switch verificationResult { case .verified(let appTransaction): // StoreKit verified that the user purchased this app and // the properties in the AppTransaction instance. errorDescription = "success, original version: \(appTransaction.originalAppVersion)" return 1 case .unverified(let appTransaction, let error): // The app transaction didn't pass StoreKit's verification. // Handle unverified app transaction information according // to your business model. errorDescription = error.localizedDescription return 0 } } } catch { // Handle errors. switch (error) { case StoreKitError.unknown: errorDescription = "storekit unknown error \(error.localizedDescription)" return -1 case StoreKitError.networkError(let url_error): errorDescription = url_error.localizedDescription return -2 case StoreKitError.systemError(let error): errorDescription = error.localizedDescription return 0 case StoreKitError.userCancelled: errorDescription = "user canceled, \(error.localizedDescription)" return -3 default: errorDescription = "Storekit error: \(error.localizedDescription)" return -4 } } } } To call this is Obj-C I do: if (@available(macOS 13.0, *)) { appValidator* av = [appValidator new]; [av validateAppWithCompletionHandler:^(NSInteger result) { // handle the result. Call av.error to get the error, if needed }]; } } I'm not exposing any Obj-C code to swift so my bridging header is empty. Mostly this works just fine but I do get some unknown errors coming back from StoreKit, and some where the transaction timed out. I just continue when I get those errors. HTH.
Jan ’25
Reply to Watch Complication Only Showing Dashes
Thanks for the reply! Your description matches what I was seeing exactly. I'm glad I wasn't the only one seeing it, as I thought I was going crazy! Unfortunately I didn't see the problem before shipping out the update. Apple could have done a better job about reporting this back to us, as a mismatched descriptor is a real problem! A log entry from the watch to the phone would have cleared up a lot of confusion, even if it didn't help us fix the problem. I didn't think about removing the watch face, so I unpaired the watch and set it up as a new watch (and then had to reconfigure the watch faces). This cleared the problem but I've seen other issues show up: The complication will show the template and then update itself several times until it reaches the correct date The complication will forget what it is and show incorrect data. I traced this down to code that used an old graphic bezel complication layout instead of the new layout, but I'm still puzzled by why it branched out to that code path. I need to make sure any changes don't cause other problems now. All of this makes me wish I hadn't switched over to the single-app approach. Apple's constant nagging about doing it finally convinced me, and now like you I am regretting it. But at least now with your help I understand what is going on. Again, many thanks!
Topic: App & System Services SubTopic: Core OS Tags:
May ’23
Reply to App review rejected with below message
I have the same problem. You can't solve it. App Review won't allow iPad apps that are built with Xcode 14 because it includes iOS 16, which isn't released for the iPad yet. I know that Apple calls it iPad OS 16, but App Review sees the "16" and rejects it. I've argued with them, appealed the decision, and they are stuck on "it's prerelease you can't use it!" - even though Xcode 14.0.1 is officially released. The only workaround is to install Xcode 13 and use it to compile and submit the app. App Review will not budge, there are a lot of posts about how unreasonable they are about this.
Oct ’22
Reply to iPad app update rejected due to iPad OS 16?
I have found, after much back and forth from App Review, that they are rejecting the app as the base sdk is set to iOS 16, and they equate that with iPad OS 16 and are saying it's prerelease and therefore forbidden. In Xcode there is no option for iPadOS as the base SDK, just iOS (which is equivalent to iphoneos) and that can't be changed. The targeted version is iOS 14.0, but since it's compiled against the iOS 16 sdk they are adamant about rejecting it. I have asked if it's the official position of App Review that iPad apps compiled with Xcode 14.0.1 cannot be submitted for review. It seems the only option is to install Xcode 13, switch to it, and use that to compile the app. What a pain in the butt.
Oct ’22
Reply to XCode26 and Icon Composer woes
If I don't include a .icon file, the icon on Tahoe looks like this. That's setting the Finder to show 128x128 icons. Not pretty.
Replies
Boosts
Views
Activity
Nov ’25
Reply to xcodebuild keeps defaulting to Mac Catalyst
For some reason it put the quotes around -destination but the command line is -destination="generic/iOS Simulator..."
Replies
Boosts
Views
Activity
Aug ’25
Reply to xcodebuild keeps defaulting to Mac Catalyst
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild archive -project netcdf.xcodeproj -scheme netcdf-simulator "-destination=generic/iOS Simulator, arch:x86_64, id:AB7A99B3-8D24-4F73-A42D-9BB45321928D" -archivePath=archives/netcdf_simulator --- xcodebuild: WARNING: Using the first of multiple matching destinations: { platform:macOS, arch:arm64, variant:Mac Catalyst, id:00006041-0008492E3AA1801C, name:My Mac } { platform:macOS, arch:x86_64, variant:Mac Catalyst, id:00006041-0008492E3AA1801C, name:My Mac } { platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:00006041-0008492E3AA1801C, name:My Mac } { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device } { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device } { platform:macOS, variant:Mac Catalyst, name:Any Mac } { platform:iOS, arch:arm64, id:00008101-001C61991A90001E, name:August’s iPhone } { platform:iOS Simulator, arch:arm64, id:AB7A99B3-8D24-4F73-A42D-9BB45321928D, OS:18.6, name:iPad (A16) } { platform:iOS Simulator, arch:x86_64, id:AB7A99B3-8D24-4F73-A42D-9BB45321928D, OS:18.6, name:iPad (A16) } { platform:iOS Simulator, arch:arm64, id:EC02D77D-5ECA-4CB1-9BD0-6CEB91BBD832, OS:18.6, name:iPad Air 11-inch (M3) } { platform:iOS Simulator, arch:x86_64, id:EC02D77D-5ECA-4CB1-9BD0-6CEB91BBD832, OS:18.6, name:iPad Air 11-inch (M3) } { platform:iOS Simulator, arch:arm64, id:0BC29FE6-1F8B-4DCD-AD47-5CADA2E5CC06, OS:18.6, name:iPad Air 13-inch (M3) } { platform:iOS Simulator, arch:x86_64, id:0BC29FE6-1F8B-4DCD-AD47-5CADA2E5CC06, OS:18.6, name:iPad Air 13-inch (M3) } { platform:iOS Simulator, arch:arm64, id:B24E869E-FDF7-45ED-BEE5-1D9615EE007D, OS:18.6, name:iPad Pro 11-inch (M4) } { platform:iOS Simulator, arch:x86_64, id:B24E869E-FDF7-45ED-BEE5-1D9615EE007D, OS:18.6, name:iPad Pro 11-inch (M4) } { platform:iOS Simulator, arch:arm64, id:4B6B605E-2B33-4848-88AC-44BDF6D23715, OS:18.6, name:iPad Pro 13-inch (M4) } { platform:iOS Simulator, arch:x86_64, id:4B6B605E-2B33-4848-88AC-44BDF6D23715, OS:18.6, name:iPad Pro 13-inch (M4) } { platform:iOS Simulator, arch:arm64, id:53CF6E78-17DC-45B9-9CCF-65610F9DD8E0, OS:18.6, name:iPad mini (A17 Pro) } { platform:iOS Simulator, arch:x86_64, id:53CF6E78-17DC-45B9-9CCF-65610F9DD8E0, OS:18.6, name:iPad mini (A17 Pro) } { platform:iOS Simulator, arch:arm64, id:56E721D4-8795-4EF0-92C1-7624D0FB2201, OS:18.6, name:iPhone 16 } { platform:iOS Simulator, arch:x86_64, id:56E721D4-8795-4EF0-92C1-7624D0FB2201, OS:18.6, name:iPhone 16 } { platform:iOS Simulator, arch:arm64, id:9BFA0CE5-E6EB-42F4-9C73-530393B8B2B0, OS:18.6, name:iPhone 16 Plus } { platform:iOS Simulator, arch:x86_64, id:9BFA0CE5-E6EB-42F4-9C73-530393B8B2B0, OS:18.6, name:iPhone 16 Plus } { platform:iOS Simulator, arch:arm64, id:056553B1-63F4-4BB3-A115-2656BC5F6C2B, OS:18.6, name:iPhone 16 Pro } { platform:iOS Simulator, arch:x86_64, id:056553B1-63F4-4BB3-A115-2656BC5F6C2B, OS:18.6, name:iPhone 16 Pro } { platform:iOS Simulator, arch:arm64, id:AFEA9301-5373-48D5-B5F1-B49FC4DFF6E2, OS:18.6, name:iPhone 16 Pro Max } { platform:iOS Simulator, arch:x86_64, id:AFEA9301-5373-48D5-B5F1-B49FC4DFF6E2, OS:18.6, name:iPhone 16 Pro Max } { platform:iOS Simulator, arch:arm64, id:8452A8F2-5026-4259-BA10-F6E8BEABF137, OS:18.6, name:iPhone 16e } { platform:iOS Simulator, arch:x86_64, id:8452A8F2-5026-4259-BA10-F6E8BEABF137, OS:18.6, name:iPhone 16e }
Replies
Boosts
Views
Activity
Aug ’25
Reply to xcodebuild keeps defaulting to Mac Catalyst
It says it's matching multiple destinations and going with Mac Catalyst. Putting ANYTHING into -destination results in Mac Catalyst. Even if I give it an exact match for iOS or MacOS, I get Mac Catalyst.
Replies
Boosts
Views
Activity
Aug ’25
Reply to ITMS-90078 bogosity
This started for me with Xcode 16.3 as well. I don't use push notifications nor do I implement any of the app delegate call back functions. I think this is a bug in Xcode.
Replies
Boosts
Views
Activity
Apr ’25
Reply to AppTransaction: how to use in ObjC apps (now that we are forced to use it after the exit(173) deprecation)
To call the StoreKit2 codeI have a class called AppValidator written in swift: @available(macOS 13.0, *) public class appValidator: NSObject { var errorDescription : String = "" @objc func error() -> String { return errorDescription } @objc func validateApp() async -> Int { do { let verificationResult = try await AppTransaction.shared switch verificationResult { case .verified(let appTransaction): // StoreKit verified that the user purchased this app and // the properties in the AppTransaction instance. errorDescription = "success, original version: \(appTransaction.originalAppVersion)" return 1 case .unverified(let appTransaction, let error): // The app transaction didn't pass StoreKit's verification. // Handle unverified app transaction information according // to your business model. errorDescription = error.localizedDescription return 0 } } } catch { // Handle errors. switch (error) { case StoreKitError.unknown: errorDescription = "storekit unknown error \(error.localizedDescription)" return -1 case StoreKitError.networkError(let url_error): errorDescription = url_error.localizedDescription return -2 case StoreKitError.systemError(let error): errorDescription = error.localizedDescription return 0 case StoreKitError.userCancelled: errorDescription = "user canceled, \(error.localizedDescription)" return -3 default: errorDescription = "Storekit error: \(error.localizedDescription)" return -4 } } } } To call this is Obj-C I do: if (@available(macOS 13.0, *)) { appValidator* av = [appValidator new]; [av validateAppWithCompletionHandler:^(NSInteger result) { // handle the result. Call av.error to get the error, if needed }]; } } I'm not exposing any Obj-C code to swift so my bridging header is empty. Mostly this works just fine but I do get some unknown errors coming back from StoreKit, and some where the transaction timed out. I just continue when I get those errors. HTH.
Replies
Boosts
Views
Activity
Jan ’25
Reply to StoreKit2 AppTransaction originalPurchaseVersion
My $0.02 is to drop 14 and 15 and go with 16 as the minimum OS. Most people are on 17 and 18, with only a few (<4%) on 16.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jan ’25
Reply to Watch Complication Only Showing Dashes
Thanks for the reply! Your description matches what I was seeing exactly. I'm glad I wasn't the only one seeing it, as I thought I was going crazy! Unfortunately I didn't see the problem before shipping out the update. Apple could have done a better job about reporting this back to us, as a mismatched descriptor is a real problem! A log entry from the watch to the phone would have cleared up a lot of confusion, even if it didn't help us fix the problem. I didn't think about removing the watch face, so I unpaired the watch and set it up as a new watch (and then had to reconfigure the watch faces). This cleared the problem but I've seen other issues show up: The complication will show the template and then update itself several times until it reaches the correct date The complication will forget what it is and show incorrect data. I traced this down to code that used an old graphic bezel complication layout instead of the new layout, but I'm still puzzled by why it branched out to that code path. I need to make sure any changes don't cause other problems now. All of this makes me wish I hadn't switched over to the single-app approach. Apple's constant nagging about doing it finally convinced me, and now like you I am regretting it. But at least now with your help I understand what is going on. Again, many thanks!
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
May ’23
Reply to Xcode 14: [Assert] UINavigationBar decoded as unlocked for UINavigationController
I have this problem with similar configuration (old storyboard app with navigation controller etc.) and I noticed that the warning shows the frame for the navigation bar has zero width. I wonder if some code is checking on the navigation bar's frame, sees that it's not configured right, and is falling through to show us this warning?
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Oct ’22
Reply to App review rejected with below message
I have the same problem. You can't solve it. App Review won't allow iPad apps that are built with Xcode 14 because it includes iOS 16, which isn't released for the iPad yet. I know that Apple calls it iPad OS 16, but App Review sees the "16" and rejects it. I've argued with them, appealed the decision, and they are stuck on "it's prerelease you can't use it!" - even though Xcode 14.0.1 is officially released. The only workaround is to install Xcode 13 and use it to compile and submit the app. App Review will not budge, there are a lot of posts about how unreasonable they are about this.
Replies
Boosts
Views
Activity
Oct ’22
Reply to iPad app update rejected due to iPad OS 16?
By the way you can't say "Tim" and "Cook" in a post...
Replies
Boosts
Views
Activity
Oct ’22
Reply to iPad app update rejected due to iPad OS 16?
I have found, after much back and forth from App Review, that they are rejecting the app as the base sdk is set to iOS 16, and they equate that with iPad OS 16 and are saying it's prerelease and therefore forbidden. In Xcode there is no option for iPadOS as the base SDK, just iOS (which is equivalent to iphoneos) and that can't be changed. The targeted version is iOS 14.0, but since it's compiled against the iOS 16 sdk they are adamant about rejecting it. I have asked if it's the official position of App Review that iPad apps compiled with Xcode 14.0.1 cannot be submitted for review. It seems the only option is to install Xcode 13, switch to it, and use that to compile the app. What a pain in the butt.
Replies
Boosts
Views
Activity
Oct ’22