We have implementend Storekit 2 in our app, for one time purchases and subscriptions, so it is iOS15 and higher only.
Everything works fine, but now we want to add App Store promotions for our IAP's. That doesn't work because the App requires the app to implement SKPaymentTransactionObserver
How to Promote Your In-App Purchases
Make sure your app supports a delegate method in SKPaymentTransactionObserver. You can choose to customize which promoted in-app purchases a user sees on a specific device by implementing SKProductStorePromotionController.
The problem is that this observer is part of the original Storekit API and not of the new one.
What can we do to make this work with the new Storekit 2 API?
Post
Replies
Boosts
Views
Activity
I have an iPhone 11 running iOS 16 beta 6, and a paired Apple Watch SE 40mm running WatchOS9 beta 6.
When connecting to the computer, Xcode downloads the symbols of the iPhone, but not of the paired watch, and inside Xcode I can't select my watch as run target because "there was an error downloading its symbols".
I tried rebooting both the watch and the phone several times, and restarting Xcode. Nothing helps
I see in Finder the symbols for my phone, but the folder that's supposed to contain those for my watch is there but it has no contents.
This is blocking as I can't test my WatchOS app for WatchOS9 because of this.
We built a standalone WatchOS app with Xcode 14 beta 5 and uploaded it to Testflight. Minimum WatchOS version is 8
Installing it through an iPhone with iOS 15 is no problem.
Installing it through an iPhone with iOS 16 Beta 6 does not work. We get the circle progress indicator but it doesn't move.
When I look in the Console app and check for Testflight logs I see this:
Error getting application record with bundle ID com.---.---.watch.watchkitapp: The operation couldn’t be completed. (OSStatus error -10814.)
Any idea what's going on?
Just installed Xcode 14 Beta 6. Clicked to install the WatchOS9 simulator.
I got the following error at the end of the download:
Duplicate of E50E35E0-4EEC-411C-80EB-FA454D352F42
Domain: SimDiskImageErrorDomain
Code: 5
User Info: {
DVTErrorCreationDateKey = "2022-08-24 15:37:31 +0000";
unusableErrorDetail = "";
}
--
System Information
macOS Version 12.4 (Build 21F79)
Xcode 14.0 (21330) (Build 14A5294g)
Timestamp: 2022-08-24T17:37:31+02:00
The documentation here:
https://developer.apple.com/documentation/clockkit/creating_complications_for_your_watchos_app/enabling_complications_for_your_watchos_app
Is completely outdated and I find zero documentation on how to add complications to an existing WatchOS project.
The "Extension" no longer exists, and the settings in the target no longer exist either.
Xcode 14.2
iOS 16.0.2
I am running my app through Xcode on my iPhone 13 Pro. Some time ago I have used some Sandbox test accounts to do in apps purchases. It seems that those purchases generate errors now for some unknown reason, and considering the error code I don't think it's on my side:
When starting my app I start listening for transactions through:
return Task.detached {
for await verificationResult in Transaction.updates {
A bit after starting this I see the following error several times in the log output:
[Default] Error enumerating all current transactions: Error Domain=ASDErrorDomain Code=500 "Unhandled exception" UserInfo={NSUnderlyingError=0x28156b630 {Error Domain=AMSErrorDomain Code=2 "Finance Authentication Error" UserInfo={NSLocalizedDescription=Finance Authentication Error, AMSURL=https://mzstorekit-sb.itunes.apple.com/inApps/v1/history?guid=00008110-001414803EA2801E&reason=initial, AMSStatusCode=401, NSLocalizedFailureReason=No delegate to perform authentication: <AMSAuthenticateRequest: 0x100e43920> {
account = ***@******.be (9A040C11-C4A6-4D23-A7A2-450F363B8751),
logKey = 789580B8,
options = <AMSAuthenticateOptions: 0x100e4f910> {
AMSAuthenticateOptionsAllowPasswordGeneration = 0,
AMSAuthenticateOptionsAllowSecondaryCredentialSource = 0,
AMSAuthenticateOptionsAllowServerDialogs = 0,
AMSAuthenticateOptionsAuthenticationTypeKey = 1,
AMSAuthenticateOptionsCanMakeAccountActiveKey = 0,
AMSAuthenticateOptionsClientInfo = {length = 823, bytes = 0x62706c69 73743030 d4010203 04050607 ... 00000000 0000029d },
AMSAuthenticateOptionsCredentialSourceKey = 0,
AMSAuthenticateOptionsDebugReason = no dialogResponse in AMSFinanceAuthenticateResponse,
AMSAuthenticateOptionsEnableAccountCreationKey = 0,
AMSAuthenticateOptionsEphemeralKey = 0,
AMSAuthenticateOptionsForceSyncToPairedWatchKey = 0,
AMSAuthenticateOptionsIgnoreAccountConversion = 0,
AMSAuthenticateOptionsLogKeyKey = 789580B8,
AMSAuthenticateOptionsRemoteProxyAuthenticationKey = 0,
AMSAuthenticateOptionsServiceType = 2,
},
}}}, storefront-country-code=BEL, client-environment-type=Sandbox, NSLocalizedFailureReason=An unknown error occurred, NSLocalizedDescription=Unhandled exception}
What is going on and how can I get rid of those errors?
I have a combined iOS + WatchOS app that has worked fine on iOS 16 and WatchOS 9, but on iOS17 / WatchOS 10 I have location permission issues.
As you can tell from the previous sentence, all plist entries are set and asking for location updates when the app is in foreground worked fine on the watch on WatchOS 9, however since switching to Xcode 15 things have stopped working.
What happens now is:
I call locationManager.requestWhenInUseAuthorization() on the watch, which doesn't do anything. I do not get the popup asking for location permissions and none of the delegate methods are called on locationManager.
However as soon as I do the same call on my iOS app I get the popup on my phone and immediately the delegate is called in my watch app. So right now the only way of getting location permissions from the user is inside the iOS app, not the watch app.
Has anyone else encountered this? Is there a solution?
I have some formatting strings that got in my string catalog, e.g. "%@" or "(%@)".
However these strings are no longer used in my code anywhere (searching "In this project" in Xcode only matches the entries in my strings catalog), but Xcode does not remove them.
I tried editing the file in a text editor, removing them manually but they keep coming back.
Any solution for this?
Xcode Version 15.4 (15F31d)