ios - Xcode 8 无效的二进制文件

标签 ios objective-c xcode xcode8

我的应用只需要 iCloud UIDocument 服务。但是,在从 Xcode 8 上传到 iTunesConnect 后,它在下面向我发送了一封警告电子邮件和一个无效的二进制警告通知。

要求我在 Info.plist 上添加 NSCalendarsUsageDescription 和 NSBluetoothPeripheralUsageDescription 描述是没有意义的

将 Xcode 从 7 升级到 8 后我可能会错过一些设置吗?

此应用程序尝试在没有使用说明的情况下访问隐私敏感数据。应用的 Info.plist 必须包含一个 NSCalendarsUsageDescription 键和一个字符串值,向用户解释应用如何使用这些数据。

此应用程序尝试在没有使用说明的情况下访问隐私敏感数据。应用的 Info.plist 必须包含一个 NSBluetoothPeripheralUsageDescription 键和一个字符串值,向用户解释应用如何使用这些数据。

最佳答案

您需要为 Info.plist 文件中提到的两个键输入值:

  • NSCalendarsUsageDescription
  • NSBluetoothPeripheralUsageDescription

  • 例如“MyAPP 需要访问您的日历以进行事件”

    如果您不需要/使用这些功能,那么您的二进制文件中有一些东西会触发 Apple 的静态分析器。

    检查您项目中的第 3 方库,因为其中一些已导致与此类似的问题(在您的情况下很可能是 AdMob) - 有些已更新其 SDK 以修复它,因此请确保您使用的是最新版本第三方 SDK。

    检查应用程序目标配置的 Capabilities 部分 - 里面是否有任何不必要的内容 - 特别是在“Background Modes”部分。

    关于ios - Xcode 8 无效的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39654366/

    相关文章:

    xcode - 导入 Alamofire 3.4 - 没有这样的模块 'Alamofire'

    ios - obj c 创建一个对象并没有真正起作用,在将几个新对象插入 NSMutuableArray 之后,我总是得到最后插入的对象

    iOS-在 Google Drive Api 上使用上传图片(错误 "Assertion failure in: GTLServer...")

    ios - SWRevealViewController 和选项卡栏 Controller 详细信息

    javascript - javascript中的swift UIWebView "freeze"动画

    objective-c - NSTask setLaunchPath Objective-C Cocca

    ios - 重新排列 iPhone 提醒中的按钮?

    javascript - 如何让我的响应式网站在手机上使用 "Request a desktop site"?

    objective-c - 如何将浮点值数组写入 Core Audio 中的音频文件?

    iphone - 根据某些预处理器宏删除静态库