OTA部署相同版本后iOS应用程序无法启动
我们正在通过无线方式向 Beta 测试人员分发 iOS 应用程序。我们现在注意到,如果测试人员安装了与系统上已有的应用程序完全相同的版本,则该应用程序将不再启动。没有配置警告或类似的内容。屏幕变黑约 1/4 秒,然后应用程序再次退出。如果我们删除该应用程序,安装之后将正常工作。将应用程序升级到新版本也可以正常工作。仅当我们尝试安装完全相同的版本时才会发生这种情况。有人经历过类似的事情吗?
We're distributing an iOS App over the air to our beta-testers. We've now noticed, that if a tester installs the exact same build of the app he already has on the system, the app won't start anymore. There are no provisioning warnings or anything like that. The screen just goes black for about 1/4 of a second and the app quits again. If we delete the app, the install will work fine after that. Also upgrading the app to a new build works fine. This only happens if we try to install the exact same build. Has anyone experienced something similar?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
新版本应用程序崩溃的一个原因是缓存中对象的序列化发生了变化。如果是这种情况,您可以在首次启动时清理缓存。
另一个原因可能是旧的过期配置文件。
A reason of crash of a new version of the app is that the serialisation of objects in cache has changed. If it's the case, you may clean the cache at the first launch.
Another reason may be an old expired profile.
我也有同样的问题。事实证明,该问题与 Bundle ID 和 Product Name 的命名有关。捆绑包 ID 后缀应与产品名称完全匹配,不含空格或特殊字符。许多人(包括我自己)更改了产品名称,以反映他们希望在 iPad 主屏幕上显示的名称。事实证明不应该这样做,正确的方法是将Product Name与Bundle ID后缀匹配,然后在Info.plist中,有一个名为“Bundle Display Name”的属性,可以更改为反映iPad 的应用程序主屏幕上将显示什么。进行此更改后,我的所有应用程序中的错误都消失了。
例如:
捆绑 ID:
com.company.AppName
后缀:
应用程序名称
产品名称(构建设置):
应用程序名称
捆绑包显示名称 (Info.plist):
应用程序名称(这可以是您想要的任何名称)
I had this same issue. It turns out that the issue was related to the naming of the Bundle ID and Product Name. The bundle ID suffix should match the product name exactly without spaces or special characters. Many people (including myself) have changed the product name to reflect the name that they wish to be shown on the iPad home screen. It turns out that this should not be done, and the proper method is to match the Product Name to the Bundle ID suffix, and then in the Info.plist, there is a property called "Bundle Display Name" that can be changed to reflect what will be shown on the iPad's app home screen. Once I made this change, the error went away in all of my apps.
For example:
Bundle ID:
com.company.AppName
Suffix:
AppName
Product Name (Build Settings):
AppName
Bundle Display Name (Info.plist):
App Name (this can be whatever you wish)