Hello all,
Wondering if anyone has seen or has ideas on the following issue. My game has started failing IAP initialization when building for iOS.
It looks like IAP needs com.apple.developer.web-browser-engine.rendering AND target is not running or doesn’t have entitlement com.apple.developer.web-browser-engine.networking AND target is not running or doesn’t have entitlement com.apple.developer.web-browser-engine.webcontent
and these aren’t being added?
I’ve taken a look at apple’s documentation on capabilities Entitlements | Apple Developer Documentation
and looked through what can be added post build in xcode following these steps
https://help.apple.com/xcode/mac/current/#/dev88ff319e7
but none of the capabilities listed seem to be relevant, In-App Purchases is already added
Unity version is 2022.3.55f1 and IAP package version is 4.12.2
- I am not adding any product ID’s on iOS at this time, just trying to initialize IAP.
- IAP works both in editor and on android, with product ID’s
- xcode is managing signing
- the app seems to build clean with no errors
IAP is initialized in this constructor - the constructor is failing
public InAppPurchasingManager () {
#if UNITY_EDITOR
StandardPurchasingModule.Instance().useFakeStoreUIMode = FakeStoreUIMode.StandardUser;
#endif
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
#if UNITY_IOS
Debug.Log("Not initializing products - ios IAP not approved yet");
#else
builder.AddProduct("gempack_100", ProductType.Consumable, new IDs
{
{"gempack_100_google", GooglePlay.Name},
{"gempack_100_apple", AppleAppStore.Name}
});
builder.AddProduct("gempack_250", ProductType.Consumable, new IDs
{
{"gempack_250_google", GooglePlay.Name},
{"gempack_250_apple", AppleAppStore.Name}
});
builder.AddProduct("gempack_500", ProductType.Consumable, new IDs
{
{"gempack_500_google", GooglePlay.Name},
{"gempack_500_apple", AppleAppStore.Name}
});
builder.AddProduct("gempack_1000", ProductType.Consumable, new IDs
{
{"gempack_1000_google", GooglePlay.Name},
{"gempack_1000_apple", AppleAppStore.Name}
});
builder.AddProduct("gempack_2500", ProductType.Consumable, new IDs
{
{"gempack_2500_google", GooglePlay.Name},
{"gempack_2500_apple", AppleAppStore.Name}
});
builder.AddProduct("season_pass", ProductType.Subscription, new IDs
{
{"season_pass_sub_google", GooglePlay.Name},
{"season_pass_apple", AppleAppStore.Name}
});
#endif
UnityPurchasing.Initialize (this, builder);
}
The error in the xcode log is the following:
UnityIAP: Requesting product data...
Failed to terminate process: Error Domain=com.apple.extensionKit.errorDomain Code=18 "(null)" UserInfo={NSUnderlyingError=0x30290f9c0 {Error Domain=RBSRequestErrorDomain Code=3 "No such process found" UserInfo={NSLocalizedFailureReason=No such process found}}}
Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "((target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.rendering AND target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.networking AND target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.webcontent))" UserInfo={NSLocalizedFailureReason=((target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.rendering AND target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.networking AND target is not running or doesn't have entitlement com.apple.developer.web-browser-engine.webcontent))}>
Failed to terminate process: Error Domain=com.apple.extensionKit.errorDomain Code=18 "(null)" UserInfo={NSUnderlyingError=0x302926370 {Error Domain=RBSRequestErrorDomain Code=3 "No such process found" UserInfo={NSLocalizedFailureReason=No such process found}}}
0x128024840 - ProcessAssertion::acquireSync Failed to acquire RBS assertion 'XPCConnectionTerminationWatchdog' for process with PID=517, error: (null)
Error acquiring assertion: <Error Domain=RBSAssertionErrorDomain Code=2 "Specified target process does not exist" UserInfo={NSLocalizedFailureReason=Specified target process does not exist}>
0x1280243c0 - ProcessAssertion::acquireSync Failed to acquire RBS assertion 'WebProcess NearSuspended Assertion' for process with PID=517, error: (null)