Iphone .app在旧版本上安装后没有可执行路径

Iphone .app在旧版本上安装后没有可执行路径,iphone,bundle,info.plist,Iphone,Bundle,Info.plist,我有一个用户下载的TestFlight版本,然后我们发布了一个新版本,他们在这个版本上安装。他们在尝试启动应用程序时出现以下错误: 8月31日星期三20:13:28未知跳板[1176]:位于/private/var/mobile/Applications/XXXXXXXX-XXXX-XXXXXXXX-xxxxxxxxxxxxxxxx/X.app的“X”捆绑包没有可执行路径。请检查捆绑包的Info.plist文件 我使用PhoneDisk检查了应用程序的plist,可执行文件与应用程序名称匹配。有

我有一个用户下载的TestFlight版本,然后我们发布了一个新版本,他们在这个版本上安装。他们在尝试启动应用程序时出现以下错误:

8月31日星期三20:13:28未知跳板[1176]:位于/private/var/mobile/Applications/XXXXXXXX-XXXX-XXXXXXXX-xxxxxxxxxxxxxxxx/X.app的“X”捆绑包没有可执行路径。请检查捆绑包的Info.plist文件


我使用PhoneDisk检查了应用程序的plist,可执行文件与应用程序名称匹配。有什么想法吗?

在我的例子中,我没有在尝试下载的版本之间更新
CbundleShortVersionString
。一旦我将版本从1.1.9.1更新到1.1.9.2并重新下载了adhoc构建,它就停止崩溃

我猜想苹果正在为iNoHoc构建缓存iFo.pLIST中的一些信息,而仅仅颠倒<代码> CFBaseValue还不足以清除缓存。

从“核心基础密钥”: CbundleShortVersionString(字符串-iOS、Mac OS X)指定捆绑包的发布版本号,用于标识应用程序的已发布迭代。发布版本号是由三个以句点分隔的整数组成的字符串。第一个整数表示应用程序的主要修订,例如实现新功能或主要更改的修订。第二个整数表示删除实现不太突出功能的修订。第三个整数表示维护版本。 此键的值不同于“CbundLeverVersion”的值,后者标识应用程序的迭代(已发布或未发布)。可以通过将此键包含在InfoPlist.strings文件中进行本地化


CbundleShortVersionString也不能包含任何字母,只允许整数。因此,如果你有类似于1.2.5b1的软件,应用程序将无法启动,奇怪的是会出现一个错误,如“…没有可执行路径…”。

我在一个案例中遇到了这个特殊的错误,我们的正常应用程序版本是n.n.n,而在更新中,我们转到了一个n.n.n.n的应用程序版本


我们没有时间深入研究它,但简单地回到原来的数字方案就解决了这个问题。

您应该在Info.plist中指定两个键(CbundLeverVersion和CbundleShortVersionString)

CbundLeverVersion(String-iOS,OS X)指定捆绑包的构建版本号,它标识捆绑包的迭代(已发布或未发布)。构建版本号应该是一个字符串,由三个非负的、以句点分隔的整数组成,第一个整数大于零。字符串应仅包含数字(0-9)和句点(.)字符。前导零从每个整数截断,并将被忽略(即,1.02.3相当于1.2.3)。此密钥不可本地化

CbundleShortVersionString指定捆绑包的发布版本号,用于标识应用程序的已发布迭代

每次使用相同的发布版本(CbundleShortVersionString)为测试或用户构建临时版本时,都可以将CbundleVersion添加1


例如:CbundleShortVersionString为1.2.3,CbundLeverVersion为1000。当您修复一个bug并构建一个临时版本进行测试时,您可以将CbundleShortVersionString更改为1001。

我在使用HockeyKit的两台设备上遇到了相同的问题,一台运行最新的5.0测试版,另一台运行4.3.3测试版。令人惊讶的是,重新启动设备似乎可以让它工作,直到你再次覆盖应用程序。我已经尝试通过使用PhoneView从设备上取下应用包来区分应用程序覆盖前和覆盖后,它们是相同的。谢谢,你的回答帮助我避免了企业证书过期和无线更新带来的灾难。在我的例子中,旧版本中根本没有短版本字符串值。将其添加到更新的应用程序中修复了所有问题。我在Xcode版本上安装了一个应用商店版本,并遇到了这个问题;谢谢你的缓存提示——重新启动iPhone解决了问题(比如“你有没有试着关闭它然后再打开?”)。我不知道为什么苹果会一直这样做!我应该随时了解最新情况,以便在每次更新时阅读新的和隐藏的功能。