-->

二进制拒绝,因为非公开API的使用(谷歌分析iOSv2)(Binary rejected becau

2019-09-02 04:56发布

我最近有一个应用程序被拒绝,因为原因 - 非公开API的使用:应用程序不允许访问UDID,不得使用的UIDevice的唯一标识符方法。 请更新您的应用程序和服务器在iOS 6中推出的卖方或广告标识的用户相关联。

我已经在这个程序中使用谷歌分析的iOS V2,是造成这个问题?

Answer 1:

我的应用程序被拒绝,由于新的UDID政策了。 就我而言,我使用AdMob和步骤来解决此问题是:

  • AdMob的更新到最新版本(谷歌警告我说,我的应用程序将被拒绝,如果我会尝试5月1日之后提交)。

  • 去的Xcode>管理>项目> YourProject>删除(导出数据)。

  • 产品>清洁。

完成这些步骤后,我提交了程序,现在正在等待审核(之前这些步骤苹果拒绝了我此刻的应用程序上传后收到的)。

希望能帮助到你!



Answer 2:

而且,还有一点,如果你的代码中使用

[UIDevice currentDevice].uniqueIdentifier;

你必须要chenge

// Get UUID value
NSUUID  *uuid = [NSUUID UUID];

// Convert UUID to string and output result
NSLog(@"UUID: %@", [uuid UUIDString]);

输出看起来是这样的:

UUID: A84AFC3C-B3A7-31C7-B3E9-234AF423C6B1


Answer 3:

为了找出什么使用问题的方法,使用终端和cd到项目的根目录,然后运行下面的命令;

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

那么这会告诉你什么是使用它。 更新和或删除您的代码,或者是一个使用它的库。



Answer 4:

我有同样的问题...我删除了给这个问题,在我的情况的AdMob库库。 但要注意检查连文件夹内你没有任何更多的老图书馆,那是我的问题。 祝好运



Answer 5:

对于谷歌Analytics(分析)SDK 2.0b4和UDID参考,只是删除libGoogleAnalytics_debug.a从项目完全,干净,重新编译并再次提交。



Answer 6:

您需要替换

[[UIDevice currentDevice] uniqueIdentifier] 

与其他方法。 请参考这个网址它是为我工作。



文章来源: Binary rejected because of Non-public API usage (google analytic iOSv2)