已发布的应用程序在相同设备上的行为与调试二进制文件不同
Released app behaves differently from debug binary on same devices
我的应用刚刚获得 Apple 批准,但它的行为与我 运行 在相同设备上处于调试模式时的行为不同。
我怀疑自从 Apple 最近提出 64 位要求以来,从 32 位数据类型到 64 位数据类型的转换发生了一些奇怪的事情,但除了 运行 宁实际 32 位和 64 位设备上的应用程序!
在这种情况下,从图像中采样颜色时会发生一些奇怪的事情,结果颜色过去以浮点数结束,现在以 CGFloat 结束。但如前所述,它在调试时在所有设备上都能完美运行,但在 'official' appstore 批准的二进制文件中表现不佳。
如何测试?还是我必须通过反复试验才能做到这一点?
回答我自己的问题,以下是测试您提交给 Apple 的实际二进制文件的方法:
- 构建并存档您的项目
- 从存档 window(您通常将应用提交给 Apple 进行审查的那个存档):将应用文件 (ipa) 导出到您的桌面
- 打开 iTunes 并连接您的 iDevice(注意:必须注册该设备才能进行测试;如果您也可以从 XCode 使用它,那您就可以了)
- 在 iTunes 和 Sync 中将 ipa 从您的计算机拖到您的设备上,以确保它确实在设备上结束
- 运行 来自 iDevice 的应用程序
我不确定此方法与 运行 来自 XCode 使用 "Release" 构建方案的应用程序之间是否存在差异,但这与您一样接近可以获得 运行 Apple 将收到的实际二进制文件以供审查。
我的应用刚刚获得 Apple 批准,但它的行为与我 运行 在相同设备上处于调试模式时的行为不同。
我怀疑自从 Apple 最近提出 64 位要求以来,从 32 位数据类型到 64 位数据类型的转换发生了一些奇怪的事情,但除了 运行 宁实际 32 位和 64 位设备上的应用程序!
在这种情况下,从图像中采样颜色时会发生一些奇怪的事情,结果颜色过去以浮点数结束,现在以 CGFloat 结束。但如前所述,它在调试时在所有设备上都能完美运行,但在 'official' appstore 批准的二进制文件中表现不佳。
如何测试?还是我必须通过反复试验才能做到这一点?
回答我自己的问题,以下是测试您提交给 Apple 的实际二进制文件的方法:
- 构建并存档您的项目
- 从存档 window(您通常将应用提交给 Apple 进行审查的那个存档):将应用文件 (ipa) 导出到您的桌面
- 打开 iTunes 并连接您的 iDevice(注意:必须注册该设备才能进行测试;如果您也可以从 XCode 使用它,那您就可以了)
- 在 iTunes 和 Sync 中将 ipa 从您的计算机拖到您的设备上,以确保它确实在设备上结束
- 运行 来自 iDevice 的应用程序
我不确定此方法与 运行 来自 XCode 使用 "Release" 构建方案的应用程序之间是否存在差异,但这与您一样接近可以获得 运行 Apple 将收到的实际二进制文件以供审查。