The user thas has made the original purchases is one of my sandbox accounts I used some time ago when testing the auto-renewable subscription. What I can not understad is why after I refresh the receipt when the new user is logged in into the sandbox environment and then reopen the app without switching the user or logging out the newest recept is lost again.Should not the latest version of the receipt that was acquired by sending the SKReceiptRefreshRequest be persisted?
Post
Replies
Boosts
Views
Activity
For the purity of the experiment I just repeated all my test scenario:- I created new clear sandbox user in AppStore connect.- I removed the app- Logged out from my real account and from sandbox account.- Reinstalled the app from XCode.- The app sent the local receipt for verification. The receipt returned from the app store contains old transactions created by some previous user.- Then I tap on the restore button. The app tries to send SKReceiptRefreshRequest. User is asked to enter his AppleID credentials. After SKReceiptRefreshRequest is completed the receipt is sent again to verification server.Now the parsed and verified receipt returned from the App Store /verifyReceipt, is clear, there are not any transaction(which is an expected behavior).- I close the app. I go to settings> iTunes & App Store to check if the new sandbox account is logged in. It is.- Open app. The app sends local receipt for verification. Verified receipt contains old, not related to the current user transactions.
So it means I need to send SKReceiptRefreshRequest every time the app is relaunched?
This makes sense. Thanks a lot for the help.
Tried to register a dummy Audio Unit thinking it somehow triger the AU List refresh:let desc = AudioComponentDescription(componentType: kAudioUnitType_MusicDevice, componentSubType: fourCC("dumy"), componentManufacturer: fourCC("dmkl"), componentFlags: 0, componentFlagsMask: 0)AUAudioUnit.registerSubclass(DummyAudioUnit.self, as: desc, name: "Dmitry Klochkov: Dummy", version: 0)But unfortunatly it didn't work. Now I see the Dummy audio unit in the list, but no other third party units.And again, if I open GarageBand, and then restart my app, all the third-party audio units are in place.What GarageBand could do to succesfully retrieve the list?
As is turned out the problem was happening because my app did not have an entitlements file with the “Inter-App Audio” capability key. After adding this capability to my project target in xcode the problem is gone.