Hi all,
I’m struggling to get my in-app purchases working and suspect a bug.
I’m able to successfully query and retrieve info for multiple in-app purchases that I’ve set up on App Store Connect, however when it comes to clicking BUY and having the Make In-App Purchase node do it’s thing I’m getting nowhere.
It appears, based on Xcode console inspection, that the iOS subsystem nodes in UE4 aren’t working with the device’s credentials correctly.
I’ll post some console messages in a comment below. But the TLDR is: it doesn’t even raise a prompt to sign in when you fire the Make Purchase node. It should as far as I understand it.
iOS devices tested are all 12.2 or higher iPad Pro, iPad Air, iPhone. UE4.22 is where I’m building. BP only project (but I have tried building Unreal Match 3 and get same result).
I’m building a developer build and transferring to iPad via IPP tool. I have also uploaded a distro build to testflight which also did nothing.
Going nuts. Feel like crying.
Here’s the console stuff I was looking at. I’m a bit out of my depth, but trying hard to do all the right diagnostics.
default 19:53:08.482950 +0800 itunesstored ISStoreURLOperation: [CEAF55A6] Attempting to determine the account identifier for (null).
default 19:53:08.518881 +0800 assertiond -[BKAssertion dealloc] - <0x100f07ec0>
default 19:53:08.519564 +0800 itunesstored ISStoreURLOperation: [4335E10D] Attempting to determine the account identifier for https://sandbox.itunes.apple.com/WebObjects/MZStore.woa/wa/fetchSoftwareAddOns.
default 19:53:08.520015 +0800 itunesstored ISStoreURLOperation: [7B64E177] Attempting to determine the account identifier for https://sandbox.itunes.apple.com/WebObjects/MZStore.woa/wa/fetchSoftwareAddOns.
default 19:53:08.522444 +0800 accountsd "Daemon save called for account <private>: username=(null), client=<private> (170), verify=0"
default 19:53:08.522490 +0800 accountsd "Account type <private> does support multiples."
default 19:53:08.522542 +0800 accountsd iTunesAccountsNotificationPlugin: [04CA77A1] Determining whether or not we can save <SSAccount: 0x143e80c10>: Local Account | storefront = 143460-27,30>. client = itunesstored
default 19:53:08.522589 +0800 accountsd "Updating existing account: (null)"
default 19:53:08.523610 +0800 accountsd "The plugin for account <private> does not implement credentialForAccount"
default 19:53:08.523868 +0800 accountsd "No plugin provides credentials for account <private>. Falling back to legacy behavior."
default 19:53:08.524003 +0800 accountsd Nil qualifiedUsername for account <private>. Can't look up credential
error 19:53:08.524068 +0800 accountsd "Error returned from daemon: Error Domain=com.apple.accounts Code=11"
default 19:53:08.524996 +0800 accountsd "The plugin for account <private> does not implement credentialForAccount"
default 19:53:08.525175 +0800 accountsd "No plugin provides credentials for account <private>. Falling back to legacy behavior."
default 19:53:08.525308 +0800 accountsd Nil qualifiedUsername for account <private>. Can't look up credential
error 19:53:08.525381 +0800 accountsd "Error returned from daemon: Error Domain=com.apple.accounts Code=11"
default 19:53:08.525465 +0800 accountsd "Account <private> is being modified. Diff not available."
default 19:53:08.526443 +0800 accountsd Notifying interested clients that account <private> WILL change (old account: <private>)
default 19:53:08.526489 +0800 accountsd Calling plugin '<private>' for WILL change...
Looks like the root cause of this was (possibly) Blueprint misconfig. I haven’t confirmed why it was occurring, but I have managed to get past it. More discussion and detail over in this related thread: Is anyone sucessfully using BP Make In-App Purchase node on iOS 12.x