每当我尝试在Xcode 6 Beta 4中运行我的应用程序时,我都会得到错误:

The file "MyApp.app" couldn't be opened because you don't have permission to view it.

无论我的目标是什么模拟器或设备,都会出现此错误。

我试过:

在Xcode中删除所有来自组织者的派生数据 正在修复驱动器上的权限 手动提升构建的MyApp.app的权限 重启电脑

有没有其他人遇到过这个问题并找到了解决方案?


当前回答

我通过清除xcode中的首选项中的派生数据来解决这个问题

其他回答

对我来说,错误是在文件信息。plist, field Bundle标识符。不知怎的,它被修改成了

com.myCompany。$ {PRODUCT_NAME: rfc1034identifier}

com.myCompany。$ {PRODUCT_NAME}

好吧,在我的情况下,我只是重命名捆绑名称和可执行文件的信息值。Plist与项目名称相同。这对我很管用。

我试了所有列出的答案,没有一个有用。问题是由于存在另一个plist文件通过cocoapods从子模块链接。幸运的是,这是我自己的模块,所以我只是从子模块项目中删除了这个plist,并重新安装了pods。

解决方案

后来我明白了问题的关键在于第二个plist的名称:简单地说,就是info.plist。您可以重命名文件并通过子模块的sources部分重新链接它

第二个plist文件有一个唯一的名字,所以Xcode不应该感到沮丧。甚至我的目标设置都指向一个主plist,而不是info.plist。看来Xcode对这个名字有特别的考虑

该错误在Xcode 6.4和Xcode 7.0中再现

如果你谷歌这个错误消息的文本,你会在StackOverflow,苹果开发论坛,Reddit等地方发现大约20个关于Xcode无法运行编译后的可执行文件的错误消息。

In these threads you will find many people offering various suggestions about how to fix the problem: changing product name to match project name, changing build phase options, something with info.plist, changing compilers to or from Clang, etc. Presumably the suggestions are offered in good faith because they solved the problem for someone, but the answers are so varied that it is clear that the error message is generic and this is an important point if you are receiving it: this error seems to mean that something is wrong with the binary. Ignore its actual text: it may have nothing to do with permissions.

对于这个错误没有通用的解决方案。错误消息是完全通用的;假设它意味着“坏二进制文件”。如果你收到它,解决方案取决于你正在尝试做什么,改变了什么,为什么你突然看到这个错误。谷歌您的具体情况,而不是这个错误消息。

在我的例子中,我感觉这是一个常见的例子,我试图做的是在现代Xcode上构建一个旧的iOS项目,我想有9年了。解决方案是切换到遗留构建系统,这导致了编译错误,因为在旧项目中没有现代架构目标,可以通过手动添加它们来修复。

我有这个问题时,我的appdelegate类没有链接到我的主要应用程序目标,而是一个单独的静态框架。直接链接到目标应用程序解决了这个问题。