应用被拒绝,但我不使用UDID

今天,我们收到了有关提交内容的反馈,但我们无法理解所报告的问题:“应用程序不允许访问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

FacebookSDK使用uniqueIdentifier?分辨率是多少?


FFIVE
浏览 641回答 3
3回答

江户川乱折腾

就我而言,它是ibGoogleAnalytics_debug.a库。要查找使用uniqueidentifier方法的库,请转到您的项目文件夹并输入:$ find . | grep -v .svn  | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier我得到了:二进制文件./My_Project/libGoogleAnalytics_debug.a匹配

料青山看我应如是

解决了这个问题:问题是您的项目仍引用旧的SDK,并且使用旧的sdk方法(包括苹果拒绝的UDID)编译代码。在SEARCH PATH Framework搜索路径库搜索路径的构建属性中修复它删除不必要的值,例如旧的sdk路径,并将当前的sdk路径放在此处清理所有项目的文件:窗口->组织者->项目-删除项目产品->清理现在重建它,然后重新提交给苹果。请享用 :)

牛魔王的故事

检查您使用strings命令生成的二进制文件,并查找uniqueIdentifier:$ strings YOUR_BINARY | grep uniqueIdentifier您很可能会在那找到它。我发现OpenSSL uniqueIdentifier在其标头中声明了一个字符串,因此您的应用程序(或您随应用程序提供的任何静态库)可能包含了它。就我而言,罪魁祸首是libspotify。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS