我最近因为某个原因拒绝了应用程序 - 非公共API使用:不允许应用访问UDID,也不得使用UIDevice的uniqueIdentifier方法。请更新您的应用和服务器,以将用户与iOS 6中引入的供应商或广告标识符相关联。
我在这款应用中使用了谷歌分析iOS v2,是否会导致此问题?
答案 0 :(得分:4)
由于新的UDID政策,我的应用也被拒绝了。就我而言,我正在使用AdMob,解决此问题的步骤是:
将AdMob更新到最新版本(Google警告我,如果我尝试在5月1日之后提交,我的应用会被拒绝。)
转到Xcode>组织者>项目>你的项目>删除(派生数据)。
产品>干净。
完成这些步骤后,我提交了我的应用程序,现在正在等待审核(在这些步骤之前Apple在上传收到后拒绝了我的应用程序)。
希望它有所帮助!
答案 1 :(得分:2)
另外,如果在您的代码中使用
[UIDevice currentDevice].uniqueIdentifier;
你必须变为
// Get UUID value
NSUUID *uuid = [NSUUID UUID];
// Convert UUID to string and output result
NSLog(@"UUID: %@", [uuid UUIDString]);
输出看起来像这样:
UUID: A84AFC3C-B3A7-31C7-B3E9-234AF423C6B1
答案 2 :(得分:2)
要找出使用相关方法的内容,请使用terminal和cd到项目的根目录并运行以下命令;
find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier
然后会告诉你使用它的是什么。更新和/或删除您的代码和/或正在使用它的任何库。
答案 3 :(得分:1)
我遇到了同样的问题......在我的案例adMob库中删除了提出问题的库。但要注意检查甚至在你没有旧库的文件夹内,这是我的问题。祝你好运
答案 4 :(得分:0)
对于Google Analytics SDK 2.0b4和UDID参考,只需从项目中完全删除libGoogleAnalytics_debug.a
,清理,重新编译并再次提交。
答案 5 :(得分:0)