IOS 应用验证错误:非公共 API 使用和访问 UDID
Posted
技术标签:
【中文标题】IOS 应用验证错误:非公共 API 使用和访问 UDID【英文标题】:IOS App Validation errors: Non Public API usage and access the UDID 【发布时间】:2013-07-29 19:09:42 【问题描述】:在尝试将我的应用程序二进制文件上传到 iTunes Connect 时,我在验证我的应用程序时遇到错误。错误是:
- 您的应用包含非公开 API 使用。
- 不允许应用访问 UDID 且不得使用 UIDevice 的 uniqueIdentifier 方法
我经历过几次类似的 S.O.问题,例如: - non-public API usage Warning...preventing validation on upload to App store? - App rejected, but I don't use UDID - Binary rejected because of Non-public API usage (google analytic iosv2)
据我所知,我的应用仅使用 Flurry API 和 Google AdMob API。我已经更新了这两个没有变化。
当我使用命令grep -Rnis 'uniqueIdentifier' *
时,我得到以下信息:
Binary file BroncoMobile [CURRENT]/BroncoMobile/BroncoMobile.xcodeproj/project.xcworkspace/xcuserdata/oit.xcuserdatad/UserInterfaceState.xcuserstate matches
Binary file Bronco Mobile [CURRENT]/BroncoMobile/libGoogleAdMobAds.a matches
与libGoogleAdMobAds.a
的匹配让我假设GADMob API 仍然存在问题,我不确定UserInterfaceState.xcuserstate
匹配如何导致验证问题(或者如果它是如何修复它问题)。
如果有更多关于如何在验证中找到错误来源的建议,我们将不胜感激。如果我可以提供有关我的应用的更多信息,我非常愿意编辑我的问题以包含所需的任何内容。
【问题讨论】:
【参考方案1】:我建议您仔细检查以确保您使用的是最新版本的 Google AdMob API。我过去也遇到过类似的问题,并且仅通过使用最新的 Google AdMob SDK 来修复它。
另外,您可能想查看此question。
【讨论】:
是的,我已经两次更新到最新版本的 Google AdMob API,只是为了确保问题与此无关。 在“构建设置”下,确保“库搜索路径”不指向任何旧版本的 SDK。 哦,这可能是问题的根源,指向了几个旧版本。给我一点时间来重建、归档和重新验证。 我非常爱你!说真的,你是我的新英雄!只有时间会证明我的应用是否没有被应用商店拒绝,但至少它通过了验证! 此功能不再有效。 libGoogleAdMobAds.a(以及其他)使用 -destroy 现在是非公共 API。需要等待 AdMob SDK 更新。以上是关于IOS 应用验证错误:非公共 API 使用和访问 UDID的主要内容,如果未能解决你的问题,请参考以下文章
iOS 应用 - 非公共 API 使用 - 应用引用非公共选择器:cancelButtonClicked、setResult:
将构建上传到 App Store 错误:“ITMS-90338:非公共 API 使用”?
当我提交带有犰狳的 iOS 应用程序时,BLAS 符号被拒绝为私有(ITMS-90338:非公共 API 使用)
内联函数无法访问非公共 API:@PublishedApi vs @Suppress vs @JvmSynthetic
应用程序中的非公共 API,__strlcat_chk,__strlcpy_chk
到 testflight 的 Flutter Archive 应用程序给出错误 ITMS-90338:非公共 API 使用