ARKit iOS plist injection on build
Our ARapp build in UE4 got rejected by the apple appstore for the following reason -
"We noticed that your app requests the user’s consent to access their camera but does not clarify the use of this feature in the permission modal alert. "
even though we are using the standard permission modal alert that states "The camera is used for augmented reality".
The problem arises once I am trying to change the default string for NSCameraUsageDescription by entering my on string in the additional plist data box in the settings. Apparently UE4 injects its own plist on build and overwrites whatever I input in the box to the default string again.
Scanning through the build log it clearly states -
"AppleARKit adding arkit requirement and camera permission to plist ..."
I am not sure if this is intended behaviour or a bug but I would love to find out how I can change this particular string in any way. Where is this default string stored that UE4 is injecting or how can I overwrite it after the fact?
Thanks forgiving my problem a thought!
asked Nov 21 '18 at 09:10 AM in Packaging & Deployment
I found another way to change the string, but still it is a temporary solution:
edit \Program Files\Epic Games\UE_4.21\Engine\Plugins\Runtime\AppleARKit\Source\AppleARKit\AppleARKit_IOS_UPL.xml or wherever the engine code is and change the NSCameraUsageDescription value in there:
In my case:
Make sure to change the value for each engine update :)
After that the ipa would be fine :)
I taught that an engine rebuild will be needed, but the ipa build reads this xml file at runtime!
Follow this question
Once you sign in you will be able to subscribe for any updates here