【问题标题】:Non-public selectors非公开选择器
【发布时间】:2013-09-15 03:40:12
【问题描述】:

尝试验证我的二进制文件时收到以下警告。 “应用在 Payload/app.app/app 中引用了非公共选择器:缓存、解码器、hasPhotoType” 问题是我不知道如何到达“Payload/app.app”。 很确定我没有在我的代码中的任何地方使用“hasPhotoType”,也就是说,我无法使用 Xcode 搜索功能找到“hasPhotoType”。

奇怪的是,当我在正常窗口中时,我没有收到警告错误。只有当我尝试“验证”二进制文件时,才会收到上述警告

【问题讨论】:

  • 您的应用是否使用任何可以访问这些 API 的第三方源代码/静态库/框架?
  • 如果您使用过第三方库,请检查。
  • 我尝试使用搜索功能搜索“hasPhotoType”,但无济于事。我怀疑这是在 Facebook SDK 或 Google SDK 中使用的,其中文本代码被包装在包中??

标签: ios


【解决方案1】:

我 95% 确定它来自 Google Maps for iOS SDK。我提交了一个错误报告,请帮忙加注星标: http://code.google.com/p/gmaps-api-issues/issues/detail?id=5817

【讨论】:

    【解决方案2】:

    在使用 Xcode 5 为 iOS 7 构建我的应用程序后,我遇到了同样的问题。

    “应用在 Payload/app.app/app 中引用了非公共选择器:cache, hasPhotoType”

    我的代码中没有“hasPhotoType”之类的东西,但我使用的是适用于 iOS 的 Google Map SDK,它是我的项目中唯一存在的非 Apple 库。我删除了框架,重新构建了应用程序,它通过了验证,没有任何警告。

    希望这些信息对您有所帮助。

    【讨论】:

    • 我也在使用 Google Maps SDK,但我收到“Payload/App.app/App: 缓存中的非公共选择器”警告,但没有“hasPhotoType”。
    • 我在 1.4.2 版中收到 hasPhotoType 警告。我降级到旧版本并收到其他非公开选择器警告。据我所知,早在 1.1.2 的 Google Maps SDK 版本在 iOS 7 上的 Apple 验证失败。
    • 有没有人因为这些而被拒绝提交 iOS 7?或者他们只是警告,我们没事?
    【解决方案3】:

    在终端中转到您的项目文件夹并输入:

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

    灵感来源:

    App rejected, but I don't use UDID

    【讨论】:

    • 我试过了,但没有找到结果。 1)转到项目文件夹,cd app,2)然后我输入以下字符串,找到 . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep hasPhotoType....但是没有任何结果
    • 先试试:find。 | grep -v .svn | grep "\.a" | grep -v "\.app"。它应该返回一个 .a 文件列表。如果不是,则您位于错误的子文件夹中。如果是,请用“xargs grep -v ....”更改最后一部分。
    • 我等待苹果回复。测试以下,找到。 | grep -v .svn | grep "\.a" | grep -v "\.app",在 2 个文件夹、1.project 文件夹、2.libraries 文件夹上,都返回了 .a 文件列表。之后,我尝试了 find 。 | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep hasPhotoType 在两个文件夹上。没有返回任何东西。
    • 奇怪的是,当我在正常窗口中时,我没有收到警告错误。只有当我尝试“验证”二进制文件时,才会收到上述警告
    【解决方案4】:

    对于通过搜索进入此页面的人,此问题已在 Google Maps iOS SDK 1.5 中得到修复

    1.5 版 - 2013 年 9 月的功能

    此版本正式支持 iOS 7,需要 iOS 6.0 或更高版本(不再支持 iOS 5.1)。

    V 1.5 下载链接:https://dl.google.com/geosdk/GoogleMaps-iOS-1.5.0.zip

    V 1.5 版本说明:https://developers.google.com/maps/documentation/ios/releases

    【讨论】:

    • 可以确认此问题已在 1.5 中修复,我不再收到警告。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 2015-06-13
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    相关资源
    最近更新 更多