Tia*_*ago 45 uniqueidentifier app-store udid appstore-approval ios
今天我们收到了有关我们提交内容的反馈,但我们不了解所报告的问题:"不允许应用访问UDID,也不得使用UIDevice的uniqueIdentifier方法.请更新您的应用和服务器,以便将用户与供应商或广告相关联iOS 6中引入的标识符."
我们知道关于udid的拒绝,但我们的应用程序不使用它!阅读本文后,我们的团队重新评估了应用程序,我们没有发现"UIDevice uniqueIdentifier"的出现.我们还修改了所有使用过的库,实际上我们找不到UDID的任何调用.
有人有想法吗?
经过研究,我执行了"greap"命令,我怀疑FacebookSDK:
my-app-directory $ grep -Rnis 'uniqueIdentifier' *
Binary file MyApp/FacebookSDK.framework/FacebookSDK matches
Binary file MyApp/FacebookSDK.framework/Versions/A/FacebookSDK matches
Binary file MyApp/FacebookSDK.framework/Versions/Current/FacebookSDK matches
Binary file MyApp/MyApp.xcodeproj/project.xcworkspace/xcuserdata/myuser.xcuserdatad/UserInterfaceState.xcuserstate matches
Run Code Online (Sandbox Code Playgroud)
FacebookSDK使用uniqueIdentifier ?? 决议是什么?
scu*_*oni 86
在我的情况下,它是ibGoogleAnalytics_debug.a库.
要查找使用uniqueidentifier方法的库,请转到项目文件夹并键入:
$ find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier
Run Code Online (Sandbox Code Playgroud)
我得到了这个:二进制文件./My_Project/libGoogleAnalytics_debug.a匹配
解决了问题:问题是你的项目仍然引用旧的SDK,它用旧的sdk方法编译代码,包括苹果拒绝的UDID.
将其修复在SEARCH PATH框架搜索路径库搜索路径的构建属性中
删除不必要的值,例如旧的sdk路径,并将当前的sdk路径放在那里
清理所有项目的文件:Window-> Organizer-> Project - 删除项目Product-> Clean
现在重建它并重新提交给apple.
请享用 :)
检查使用该strings
命令生成的二进制文件,并查找uniqueIdentifier
:
$ strings YOUR_BINARY | grep uniqueIdentifier
Run Code Online (Sandbox Code Playgroud)
很可能你会在那里找到它.
我发现OpenSSL uniqueIdentifier
在其标题中声明了一个字符串,因此很可能您的应用程序(或您提供的应用程序中的任何静态库)都包含它.
在我的情况下,罪魁祸首是libspotify
.
小智 2
我今天也有同样的问题。我将AdMob SDK升级到6.4.1并再次提交但没有用。但在我禁用 AdMob 代码并且不链接到其库后,它通过了上传检查。
根据Google的公告,AdMob SDK 6.4及以上版本不再访问UDID。显然,苹果并不这么认为。
归档时间: |
|
查看次数: |
23746 次 |
最近记录: |