2013-05-09 96 views
13

我使用最新谷歌分析的iOS SDK在我的项目和应用程序在几分钟得到抑制2.0无效的二进制。我收到了苹果审查小组发来的一封电子邮件,其中“应用程序不允许访问UDID并且不能使用UIDevice的uniqueIdentifier方法:”。我用终端命令搜索了所有的应用程序,并且手动地搜索了UDID。我在没有Google Analytic的情况下上传应用,并在6天内获得批准,但通过Google分析,它会遭到拒绝。请分享更多相同的细节。应用拒绝:谷歌Analytics(分析)IOS SDK 2.0

我已搜查

App rejected, but I don't use UDID

之后的R & d及以下回答的我发现,苹果建议。 otool & nm工具检查私人API,但我无法检查UDID。

How does Apple know you are using private API?

回答

6

不幸的是,目前唯一可用的SDK(16/05/2013)是2.0beta4。 从9/05/2013起,Apple似乎会自动拒绝所有参考uniqueIdentifier的应用程序,其中包括Google AnalyticsSDK。

2.0beta4(以及绝对早期版本)的问题在libGoogleAnalytics.a以及其他地方,代码是开放的和可修改的。


编辑

看来,UDID引用libGoogleAnalytics.alibGoogleAnalytics_debug.a

完全从XCode项目中删除它(从文件系统删除文件只是为了确保)不会自动拒绝该应用程序。 (如果没有它,你将无法进行调试)。

(测试此上20/05/2013)

+0

我没有_debug库中实现,但仍然得到自动拒绝 – 2013-05-23 14:09:52

+0

如果您有它实现与否并不重要。如果你在项目中使用它,它会被编译,它被包含在二进制文件中并导致拒绝。从Project Navigator中完全删除它,清理并重新编译。 – Pericles 2013-05-24 14:37:17

+0

我更新AdmobSDK后我的问题消失了 – 2013-05-24 14:58:14

0

请交叉检查谷歌分析的iOS SDK 2.0是否使用第三方库或包含UDID的类。

0

我没有使用谷歌分析,但我用过testflight。在开发时,他们使用UDID,以便在测试/开发时可以看到设备上发生了什么,并查看它们的崩溃情况。当您部署生产版本时,您被告知要将UDID取出,以便苹果不会拒绝它。

您可能需要检查相关文档。

3

请确认您使用的是最新版本的Google AnalyticsSDK。我相信这是V2.0 beta 4版本:

https://developers.google.com/analytics/devguides/collection/ios/resources

据尼尔·罗德,谷歌的工程师,该SDK不使用UDID追踪:

https://productforums.google.com/forum/#!searchin/analytics/UDID/analytics/6_Mh2wL593s/pVkcr0lUQY4J

如果你确信你拥有最新的Google AnalyticsSDK,并且仍然被Apple拒绝,请通过iTunes Connect网站与他们联系并寻求帮助。

祝你好运!