应用程序被拒绝,但我没有使用UDID
今天我们收到了关于我们提交的反馈,并且我们不理解报告的问题:“应用程序不被允许访问UDID,并且不能使用UIDevice的uniqueIdentifier方法。更新您的应用程序和服务器,将用户与iOS 6中引入的供应商或广告标识符相关联。“。应用程序被拒绝,但我没有使用UDID
我们知道关于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使用唯一标识符?这个决议是什么?
今天我有同样的问题。我将AdMob SDK升级到6.4.1,然后再次提交但没有用处。 但是,在我禁用AdMob代码并且未链接到其库之后,它通过了上传检查。
根据Google的声明,AdMob SDK 6.4及更高版本不再访问UDID。显然,苹果公司并不这么认为。
升级AdMob SDK为我解决了这个问题。我想你可能有另一个使用uniqueIdentifier的第三部分库。 – 2013-05-07 17:21:27
我今天提交了前几天被拒绝的相同二进制文件,但未被拒绝。我想这个问题是在iTunes连接端,而不是在admob库中。 – hectr 2013-05-14 07:25:35
我用相同的AdMob SDK提交了一个新版本,iTunes连接没有抱怨。我认为问题出在iTunes连接上,他们已经像其他人所说的那样解决了问题。 – 2013-05-23 03:00:05
通常用于分析和beta测试的第三方库使用uniqueIdentifier来跟踪用户(例如测试飞行或GA的旧版本),检查您使用的任何第三方库是否使用此功能。如果不是这种情况,您可以在http://itunesconnect.apple.com处要求澄清。
检查二进制您的strings
命令生成,并查找uniqueIdentifier
:
$ strings YOUR_BINARY | grep uniqueIdentifier
很可能你会发现它在那里。
我发现OpenSSL在头文件中声明了一个字符串uniqueIdentifier
,所以很可能你的应用程序(或者你的应用程序提供的任何静态库)包含了它。
在我的情况下,罪魁祸首是libspotify
。
如何使用String命令?我有一个xyz.app然后?我使用$ strings xyz.app | grep uniqueIdentifier并获取不能映射文件:xyz.app(无效参数)。谢谢 – Mangesh 2013-05-09 06:59:45
在“.app”目录中搜索与您的应用名称相同的文件。假设我的应用程序名为“Foo.app”,请运行“find Foo.app -type f -name Foo”,然后针对它运行字符串。 – Igor 2013-05-10 20:43:11
@Igor - 我似乎有与libspotify相同的问题。它不在我的源代码中的任何地方使用明文,所以它似乎在libspotify二进制文件中。你找到解决方案吗? – Grav 2013-05-10 22:07:02
解决了它: 问题是您的项目仍然参考旧的SDK,并且它会使用旧的sdk方法(包括苹果拒绝的UDID)编译代码。
修复它在搜索路径 框架搜索路径 库搜索路径的你构建属性
去除如旧SDK路径不必要的价值观,并把在那里,你目前的SDK路径
清理所有项目的文件: 窗口 - >管理器 - >项目 - 删除您的项目 产品 - >清洁
现在重建它,并重新提交给苹果。
享受:)
我有同样的问题,但能够针点在终端使用以下命令包含uniqueIdentifier
的文件,我的项目文件夹中。
grep -Rnis 'uniqueIdentifier' *
这回显了一堆线在我的终端窗口中,罪魁祸首是libGoogleAdModAds.a - 即使在我的代码我并没有真正使用它,它仍然引用在我的项目中,因此添加到构建。
在我的情况下,它是ibGoogleAnalytics_debug.a库。
要找出哪个库使用的唯一标识符的方法,去你的项目文件夹,然后键入:
$ find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier
我得到这个: 的二进制文件./My_Project/libGoogleAnalytics_debug.a匹配
我昨天更新我的应用程序相同的问题。
使用UDID搜索第三方库后,我意识到我正在使用Conversion Tracking for iOS。此库使用UDID,但4月10日发布了修复此问题的更新:
iOS转换跟踪SDK v1.2.0不再访问UDID(2013年4月10日发布)。
我希望它有帮助。
我一整天都试过,我的应用程序总是被拒绝。
首先,我试过找。 | grep -v .svn | grep“.a”| grep -v“.app”| xargs grep uniqueIdentifier在我的项目文件夹中。
Google Analytics,AdMob和Wikitude SDK似乎使用uniqueIdentifier。所以我删除了GA,并更新了AdMob和Wikitude。现在,不再有对uniqueIdentifier方法的调用。当我做grep时,结果是什么都没有。我清理了我的项目中的所有内容,但我的应用程序始终被拒绝!
我现在能做什么?任何帮助将不胜感激 ...
编辑:我发现这行:
IDEWorkspaceWindowController***UniqueIdentifier***_IDEActiveWorkspaceTabController_IDE
在这个文件中:
MYPROJECT.xcodeproj/project.xcworkspace/xcuserdata/MYUSERNAME.xcuserdatad/UserInterfaceState.xcuserstate
你认为这个问题可能来自这一行吗?
我不认为Facebook IOS SDK本身使用已弃用的'uniqueIdentifier'。我查看了https://github.com/facebook/facebook-ios-sdk的来源。
但是当Facebook SDK由此源生成时,创建的二进制文件包含该字符串。 SDK使用的唯一库是 - > Accounts.framework < - 来自IOS本身!
所以看起来像苹果已经开始自己的脚了!
编辑: Eric给出了正确的答案。 UIDevice用于facebook-ios-sdk/src/FBSession.m。 Accounts.framework不是问题。
我申请的错误与Facebook,但这里是一个解决办法:
https://developers.facebook.com/bugs/193119420841692
在SDK中,编辑Facebook的IOS-SDK/src目录/ FBSession.m
注释掉
- (BOOL)isMultitaskingSupported {
/*
UIDevice *device = [UIDevice currentDevice];
return [device respondsToSelector:@selector(isMultitaskingSupported)] &&
[device isMultitaskingSupported];*/
return TRUE;
}
从IOS 4.0以来就不需要它了。
,去除参考,并重新建立。一
这是所有的苹果呢,你需要做的是:
strings - -a -arch armv7 "App.app/App" | grep uniqueIdentifier
App.app是你解压缩后的应用程序。 Ipa,它将在有效载荷目录内。
只需在有效载荷目录内运行该命令即可。您可以通过使用已知的方法进行测试。
,如果你想寻找它是为所有的内置架构可以替代的ARMv7到所有。
我有同样的问题。原来是RevMob sdk。最新的5.9.0(2013年5月30日)接缝来解决这个问题。
嗨!这不是一个答案,请将其转换为评论。 – vav 2014-12-23 14:21:02
您是否在使用可能包含UDID的第三方库或类? – sangony 2013-05-07 02:15:04
您是否将任何东西,可能是您正在构建的东西从应用程序传递到识别iPhone的服务器? – GoZoner 2013-05-07 02:40:51
也许有些分析库? – Undo 2013-05-07 03:45:54