non-public API usage Warning…preventing validation on upload to App store?

99封情书 提交于 2019-12-04 16:54:47
PerkinsB1024

Apple recently disallowed developers from accessing the device's UDID (Unique Device Identifier), but some third party libraries haven't updated yet. In particular, some people have been having problems with Google Analytics. Another post on here recently gave a pretty good answer: App rejected, but I don't use UDID

Jai Govindani

The library that seems to be the most common one causing this is Google Analytics' debug library (libGoogleAnalytics_debug.a) - make sure you're not linking against the debug version in your production build, but instead link against the release version (libGoogleAnalytics.a)

The other one I encountered was PayPal's Mobile Express Checkout Library (MECL). For this one there's no fix since they don't seem to be planning on updating the MECL to not use the device token. You'll have to switch to PayPal's MPL library or their new SDK which is US-only.

To find the offending library/framework, run this in your project folder:

find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier

It will have some trouble traversing some folders so see the output and manually go into the folders that it can't get to, and run it again in there. The command above came from this SO answer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!