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 }
3d
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