我最近更新了一款之前发布到iOS 7的应用程序。
该应用在所有情况下都能正常工作,除了从App Store下载时。即使发布到TestFlight并从那里安装也是如此。
出现问题的代码块是在它从远程HTTP服务器检索文件的地方。
我尝试通过让它通过我的Mac连接WiFi并运行数据包捕获器来嗅探网络,但它甚至似乎没有发出HTTP GET请求。
显然,这很难调试,因为它必须经过商店流程。
有没有办法将我将要上传到商店的二进制包侧载到设备上进行调试?
我最近更新了一款之前发布到iOS 7的应用程序。
该应用在所有情况下都能正常工作,除了从App Store下载时。即使发布到TestFlight并从那里安装也是如此。
出现问题的代码块是在它从远程HTTP服务器检索文件的地方。
我尝试通过让它通过我的Mac连接WiFi并运行数据包捕获器来嗅探网络,但它甚至似乎没有发出HTTP GET请求。
显然,这很难调试,因为它必须经过商店流程。
有没有办法将我将要上传到商店的二进制包侧载到设备上进行调试?
从比较"发布"和"AppStore"的构建设置开始。
另一个错误来源可能是您在设备上拥有(例如在NSUserSettings
中)但在部署应用商店版本的设备上不存在的内容。
我能想到的第三个选项是代码中的#if
,例如:
#if RELEASE || DEBUG
SuperImportantCallToMakeItWork();
#endif
您需要为发布版本和应用商店版本使用完全相同的测试条件。如果需要,使用相同的设备并进行全新安装。
商店处理不会更改您的二进制文件。它只是一个发布版本(如果您正确配置了一切)。
<MtouchLink>Full</MtouchLink>
这一行,启用了完整的链接器优化,这破坏了应用程序,因为应用程序使用了反射。你让我开心了。 - TwoRedCells