2

我正在尝试为 iOS7 准备一个应用程序以供审查,而我刚刚碰到了这堵砖墙:

该应用程序引用了非公共符号...... _Unwind_Resume

问题截图

在 Release-iphoneos 内部,我试图找到罪魁祸首 nm -u *.a | grep -C 20 Unwind_Resume

但它看起来像每个依赖项列表Unwind_Resume在某个时候。

这可能是什么原因造成的?我如何从这里调试这个?

4

4 回答 4

3

我们的 iOS 库也给我们的开发人员造成了验证错误——我们的库的修复最终非常简单。

  1. 运行产品 > 分析(针对库,而不是应用程序!)
  2. 修复任何“API 滥用”错误——对我们来说,这是一些随机的“参数可能为空”通知
  3. 重建

Unwind_Resume这为我们和我们的客户解决了问题,与任何私有 API无关。

于 2013-09-11T16:20:05.357 回答
1

现在应该在 App Store Validator 中修复此问题。请再试一次。

于 2013-09-12T18:23:17.567 回答
0

我有同样的问题。我通过在不启用 64 位的情况下重建来解决它。要在 Xcode 中禁用 64 位构建:

  • 在右侧的文件浏览器中选择应用程序
  • 转到主窗口中的“构建设置”选项卡
  • 向下滚动到架构组并查看架构设置的值。
  • 是否设置为“标准架构(包括 64 位)”。如果是这样,请切换到“标准架构(armv7、armv7s)”

我不确定这是否是验证阶段的错误,或者是否存在阻止开发人员在任何人有实际硬件进行测试之前提交 64 位应用程序。

- 克里斯

于 2013-09-11T22:37:52.413 回答
0

我对我的提交进行了二进制搜索,在某些时候,我搞砸了 project.pbx* 设置。我的一个 pod 依赖项将 build-active-architecture-only 设置为 YES。

我重新提交,再次设置所有架构目标,并通过了验证。

于 2013-09-12T13:55:26.183 回答