从头开始重写iOS应用程序 "无法更改应用程序的可执行权限。"

10

我有一个应用在商店里,我想要从头开始重写整个应用程序。当我尝试在我的设备上构建和执行新的应用程序(iPhone 4),这个设备已经安装了旧的应用时,我收到了错误提示:“无法更改应用程序的可执行权限。”

如果我在模拟器上运行它或删除设备上当前的应用并重新安装,新的可执行文件就能正常工作。我的担忧是,升级到这个最新版本的应用的用户将不能正常使用。

你如何处理这种情况?


2
这是一个重复的问题:http://stackoverflow.com/questions/11391710/start-over-ios-app。不幸的是,那个问题也没有得到答复。顺便问一下,你读过这篇文章吗:http://www.joelonsoftware.com/articles/fog0000000069.html? - woz
2
哈哈,不错的文章。说实话,这是我第一次用Objective C编写的应用程序,所以它非常糟糕,经常崩溃。可怜的我,对吧?但我想为我的用户纠正它。试图通过修正我拙劣的代码将需要比重新正确地编写更长的时间,特别是对于未来的更新。感谢这篇12年前的文章 :p - Eric
1
如果您更改了应用程序的名称而没有更改标识符,则可能会发生这种情况。请仔细检查图标下方的名称是否与您之前的版本相同。 - Danny Parker
1
请查看此问题的答案,它似乎可以解决您的问题 https://dev59.com/4mcs5IYBdhLWcg3w0HSz#12559057 - Ignacio Oroná
Eric,你发布了升级版吗?它有引起任何问题吗?我也遇到了同样的问题。升级已准备好发布,但担心会出现这个错误。 - Fraggle
6个回答

20

我认为问题与应用程序的配置文件有关。

您在设备上下载的来自App Store的应用程序版本已使用分发配置文件签名。当您从Xcode构建并尝试安装时,您正在使用开发配置文件并尝试连接调试器。

根据我的经验,如果您使用开发配置文件从Xcode构建并尝试覆盖App Store应用程序,您将无法覆盖使用分发配置文件签名的App Store应用程序。

尝试使用分发配置文件从Xcode构建,并且不要附加调试器。

此外,当人们在App Store中升级其应用程序时,他们永远不会遇到此类错误,因为需要两个配置文件都是分发配置文件。


1
这是XCode 4.5的新问题吗?我以前从未遇到过,而且似乎并不常见。这显然是一个bug,对吧?我的意思是,有关于这个“特性”的任何文档吗? - Fraggle
你之前能否从Xcode中构建App Store版本并附加调试器?我没有...... - brynbodayle
如果您尝试在App Store版本上运行,是否会收到相同的错误?在XCode 4.5之前,我肯定没有收到过这个消息。我不确定以前是否尝试过在我的App Store版本上运行开发版本,但我认为我已经尝试过了。 - Fraggle
是的,我做。以前也是这样。 - brynbodayle
4
更新:我刚刚在应用商店发布了我的应用的新版本(此前存在权限错误),并且我能够成功地在之前的应用商店版本上进行升级。因此,至少现有用户不会受到这个XCode错误的影响。 - Fraggle
我过去总是能做到这件事。 - powerj1984

2

我也遇到了这个问题。我的错误在于给Xcode项目文件命名与旧文件不同的名称。将其命名为与旧项目相同的名称可以解决错误,一切正常工作。我还保持了bundleID和显示名称相同。对我来说修复错误的关键是.xcodeproj名称。


1

为了通过应用商店模拟升级,请按照以下步骤进行操作:

  1. 准备一个已签名的二进制文件(.ipa),其证书与旧版本相同(bundle ID、dev profile相同,版本号可以不同)

  2. 现在通过iTunes将二进制文件加载到您的设备中进行同步。它会在现有应用程序的基础上进行升级。

  3. 如果一切顺利,那么您的应用程序应该是正常的。


1

检查捆绑标识符,新旧应用程序应具有相同的标识符。


检查您是否正在使用共享相同包标识符的应用程序。 - Jackie Lee

0

0
清理项目,并从设备中删除先前的构建。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接