google-ar / arcore-unity-extensions

Google ARCore Extensions and Geospatial Creator for Unity's AR Foundation
Other
354 stars 96 forks source link

iOS Non-public API usage #17

Open prisonerjohn opened 4 years ago

prisonerjohn commented 4 years ago

Hello,

I've been getting rejected pushing an app to the iOS App Store with this extension in it. The message from Apple:

ITMS-90338: Non-public API usage - The app references non-public symbols in Frameworks/UnityFramework.framework/UnityFramework: ZN3icu5Edits10addReplaceEii, ZN3icu5Edits12addUnchangedEi. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/

I removed this package from the project and did not get the warning. I am on the latest release, the last time I attempted this was with release 1.15 and it worked without issues.

(EDIT: Remembered I never submitted anything to the App Store with this extension included)

jfarrell-current commented 4 years ago

@prisonerjohn I was ran into this issue earlier this week and it seemed that if I disable Bit Code while trying to upload to Test Flight the error is gone

rsfuller commented 4 years ago

Thanks for the report!

We are looking into this issue and are hoping to have a fix in the release after 1.19 (which is rolling out currently).

SergeStrashko commented 2 years ago

Any update on this?

maxcelar commented 2 years ago

Has anyone found a workaround for this? Disabling BitCode doesn't help. We still receive an email rejecting the upload.

maxcelar commented 2 years ago

This only happens when using com.google.ar.core.arfoundation.extensions in combination with firebase. The error doesn't occur when building and including only AR Core extensions or only Firebase separately.

Unity Version: 2021.3

EDM doesn't seem to process the dependencies unless they are added as .unitypackage. The only way I could get Firebase to upload to App Store without the error is by installing all the required firebase packages as .unitypackage.

Why is there no ARCore Extensions package available in .unitypackage?

Since ARCore Extensions are not available as .unitypackage we're using the .tgz archives:

Our Unity project manifest.json contains the following : "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.172.tgz", "com.google.ar.core.arfoundation.extensions-lite": "file:../GooglePackages/arcore-unity-extensions-1.32.0-without-edm4u.tgz",

Firebase packgades used: com.google.firebase.app com.google.firebase.auth com.google.firebase.database com.google.firebase.storage

We also tried (with no success):

We're now spending days trying to resolve this. Is anyone at Google looking into this issue?

Thanks in advance.

darryl-bartlett commented 2 years ago

I am also having the same issue, I am using both ARCore Foundation and Firebase. I take it there is no resolution at the moment?

skoteskote commented 2 years ago

Any updates on this? This bug is currently blocking us from release. Not being able to combine Firebase and AR Core is a pretty grave limitation, essentially making either package useless.

Barokoli commented 2 years ago

I am also running into this issue on ARCoreExtensions 1.34 with unity 2021.3 and firebase 9.1.0 with the exact same line "The app references non-public symbols in Frameworks/UnityFramework.framework/UnityFramework: ZN3icu5Edits10addReplaceEii, ZN3icu5Edits12addUnchangedEi." I have ARCoreExtensions installed via a local fork with the EDM removed. The dependencies seem to be added correctly.

maxcelar commented 1 year ago

A workaround posted HERE resolved this issue. Our app is working as expected so far.