从 Apple App Store 下载的应用程序与从 XCode 加载的应用程序之间的二进制文件是不是存在差异?

Posted

技术标签:

【中文标题】从 Apple App Store 下载的应用程序与从 XCode 加载的应用程序之间的二进制文件是不是存在差异?【英文标题】:Are there differences in the binary between an app downloaded from the Apple App Store versus loaded from XCode?从 Apple App Store 下载的应用程序与从 XCode 加载的应用程序之间的二进制文件是否存在差异? 【发布时间】:2019-07-24 16:18:56 【问题描述】:

我有一个很奇怪的问题。我有一个在模拟器上测试时运行良好的应用程序,或者我通过将它们插入 XCode [版本 10.1] 手动加载应用程序的设备。我还使用了这个名为 Diawi 的网站,它是一个供开发人员将开发和内部应用程序直接部署到设备的工具。

据我所知,它适用于所有情况,除了从 Apple App Store 下载应用程序时。

但是,无论我使用什么用户帐户或数据,App Store 版本总是失败:

NSInvalidArgumentException

[MyObject MyMethod]: unrecognized selector sent to instance 0x2813243f0

我已尽一切努力在本地重现此问题,但无济于事。我创建了全新的用户帐户,清理了我的 ios 测试设备,通过 XCode 重新安装了应用程序,确保我的应用程序的应用商店和 x-code 启动版本都连接到相同的网络服务,确保两个版本都是运行相同的源代码等。

我本来希望我的模拟/临时测试版本的应用程序与 App Store 版本一样工作。

是否有任何优化技巧或幕后更改会导致这种差异?

【问题讨论】:

你有多个目标吗?如果是,则可能是因为某些文件/框架未链接到 AppStore 目标。也可能是iOS版本不同造成的。 【参考方案1】:

问题是我的“调试”构建配置包含了“发布”构建配置没有的额外代码。

我可以通过转到 Edit Scheme 并将构建配置更改为 Release 来进行调试,编译器可以从那里告诉我出了什么问题。

【讨论】:

以上是关于从 Apple App Store 下载的应用程序与从 XCode 加载的应用程序之间的二进制文件是不是存在差异?的主要内容,如果未能解决你的问题,请参考以下文章

从 Apple App Store 下载的应用程序与从 XCode 加载的应用程序之间的二进制文件是不是存在差异?

Apple Cached Service 导致 iPhone app store无法下载程序

如何在代码中识别 Apple App Store 国家/地区

App Store Connect Operation Error 资源下载失败:com.apple.transporter.mediatoolkit/2.2.0

没有适用于Ios App的合格套装ID,解决

libspotify 导致 Apple App Store 拒绝