每当我尝试在Xcode 6 Beta 4中运行我的应用程序时,我收到错误:
The file "MyApp.app" couldn't be opened because you don't have permission to view it.
无论我的目标是什么模拟器或设备,都会出现此错误 .
我试过了:
-
在Xcode中删除Organizer中的所有派生数据
-
修复驱动器的权限
-
手动提升构建的MyApp.app的权限
-
重新启动计算机
有没有其他人遇到这个问题并找到了解决方案?
30 回答
对于从4年前提交的gitHub下载的项目,我在 Xcode 6.1.1 上收到了同样的错误 . 对我来说,在 Building Settings 中将 Architectures 设置为默认值 Standard architectures(armv7,arm64) 和 Compiler for C/C++/Objective-C 为默认编译器工作 .
我使用Xcode6 GM . 我遇到了同样的问题 . 我做的是去构建设置 - >构建选项 . 然后我将"Compiler for C/C++/Objective-C"的值更改为Default Compiler .
在Xcode中执行以下操作
窗口 - >管理器 - >项目 - >带有问题的应用程序 - >派生数据中的删除按钮 .
然后,我清理了项目,瞧
作品
在DEVICE上也有问题(不只是模拟器)?
其他解决方案只在模拟器上为我修复,而不是设备 .
对我来说,当我尝试更改我的应用名称时尝试更改主 info.plist 属性时,会出现此问题(在Xcode 6中) .
在 info.plist 我已将
Executable File
名称更改为默认值${EXECUTABLE_NAME}
以外的其他名称...我把这个字段误认为是在跳板上的图标下更改应用程序名称的字段 .
对我来说,一个简单的 Product -> Clean 工作得很好
我已经通过清理构建文件夹来修复它 . 只需转到“产品”菜单和选项单击“清除” . 之后问题得到解决 .
项目的Info.plist存在问题 . 我在Xcode 6 beta 4中创建了一个同名的新项目,然后将新项目的Info.plist替换为新项目 . 然后该项目建成并运行良好 .
看看差异,似乎plist可能会以某种方式与操场的plist混在一起 . 包标识符是“com.apple.dt.playground.iOS-18300-13”,可执行文件和包名称是“iOS”以及其他一些奇怪的东西 .
如果有人需要它供参考,这是完全差异:
我在Xcode 8.2中遇到了同样的错误 . 我找到的原因是,在添加库(手动复制)时,我的项目中添加了另一个 Info.plist .
因此,Xcode因为选择正确的_1766988而感到困惑 .
然后它没有任何许可警报工作正常 .
请检查您是否已将Executable file => $(EXECUTABLE_NAME)更改为任何其他名称 . 如果您更改了此名称,则会显示此错误 . 请用$(EXECUTABLE_NAME)替换它 .
产品 - >清洁(命令转换K)为我修复它
我的天啊!!我花了几个小时来解决这个问题 .
在 XCode 7.3 我有没有问题的项目 .
Mistake I did
我刚刚添加了物理文件夹并将我的文件移入其中,问题已经开始 .
I tried everything
默认编译器
清洁和建造
重置模拟器和重启模拟器,Xcode,iPhone甚至mac
更新了Info.plist
删除派生数据
编辑项目文件夹的权限
检查我的架构
什么都没有用:(
How I resolved
有用!!
尝试“cmd shift k”来清理项目并重建 . 至少它对我有用
我有类似的问题(xCode 6.2)下载示例代码 . 我试图将
Executable Name
设置为Default in Info.plist
但这没效果 .而是将 Compiler for C/C++/Objective-C 更改为 Default compiler (Apple LLVM 6.0) 而不是将不受支持的编译器(com.apple.compilers.llvmgcc42)更改为项目 .
1)首先 Build 选项 .
2)然后将“Compiler for C / C / Objective-C”的值更改为Default Compiler .
干净和工作:-)
有时在新版Xcode中打开旧项目会收到此消息 .
转到“发布”导航器,然后按照警告提示“Upate to reconmmented settings”进行操作 .
轰,魔术!
我发现在构建选项中将编译器更改为LLVM 6.0对我来说已经足够了(xcode 6.1)
我和一些旧的项目出现了这个错误,我正从柜子里拿出来进行更新 . 似乎使用Xcode 6和较旧的代码似乎出于某种原因带来了这一点 .
我已经通过以下方式解决了所有项目:
删除 Derived Data
in Product: do a clean
转到项目Target中的Build Settings并转到Build Options并将"Compiler for C/C++/Objective-C"的值更改为' Default Compiler ' .
我尝试了所有列出的答案,但没有一个是有用的 . 问题是由于存在从子模块通过cocoapods链接的另一个plist文件 . 幸运的是,这是我自己的模块,所以我只是从子模块项目中删除了这个plist并重新安装了pods .
解决方案
后来我明白问题的关键在于第二个plist的名字:简单地说是
info.plist
. 您可以重命名该文件并通过子模块的sources
部分重新链接它第二个plist文件有一个唯一的名称,所以Xcode不应该变得沮丧 . 甚至我的目标设置指向主plist,而不是
info.plist
. 看起来Xcode对这个名字有特殊的考虑该错误转载于 Xcode 6.4 和 Xcode 7.0
我的项目中遇到了同样的问题 . 后来发现项目中使用的第三方( fmdb for SQLite)文件包含 Info.plist .
只需 deleting the Info.plist file 为我工作!
我最近遇到了在Xcode 6.0.1中运行旧项目(最初在Xcode 4.x中创建)的相同问题 .
我通过将 Building Setting 中的 Architectures 更改为默认值“ Standard architectures(armv7,arm64) ”来解决问题 .
希望这可以帮助任何有类似问题的人:)
在我的情况下,我只是重命名
info.plist
中的Bundle Name
和Executable file
值与项目名称相同 . 它对我有用 .我有类似的问题 . 不知何故,我的关键可执行文件的 Value 混淆了 . 只需将其更改回$ (在您的项目>信息下) . 为我工作!
不知道问题是否相关,但也许它可以解决任何像我这样拔毛的人 .
就我而言,我有一个有很多目标的项目 . 每个目标都是该基础项目的定制,它是
Cocoa Touch Static Library
和目标,Applications
. 即使将main
文件添加到库编译中,但未添加到每个目标中,也会显示该错误消息 . 那我做了什么?手动将main
文件添加到Compile Sources
部分和宾果游戏中的每个目标,一切正常 .对我来说,错误发生在密钥
CFBundleExecutable
的.plist文件中 . 我重命名了可执行文件,删除了两个单词之间的空格 . (例如:从"Wild Racer"到"WildRacer") . 花了1天时间发现它!!Xcode在调试中太无用了!
在我的例子中,包含main(...)函数的main.m未包含在“Build Phases”的“Compile Sources”列表中 . 要检查是否是这种情况,请进入Build Phases并查看您的main.m是否出现在“Compile Sources”列表中 .
为我解决的是将 No 从 No 设置为 Yes .
使用X-code 6.3.2
[Build Settings]选项 . [全部] - [构建选项] - [C / C / Objective-C编译器] - [默认编译器(Apple LLVM 6.1)]
然后重建项目,它运行正常 .
在我的情况下,它只是关闭Xcode,修复了磁盘工具的权限 . 只有在 reboot 之后,它就像一个魅力 .
因为我今天早上也遇到过这个问题,所有答案都没有帮助我,特别是在我的情况下 . 经过几个小时的努力,我发现了这个问题 .
实际上,当我错误地在故事板中工作时,我刚刚重命名为“ Main.storyboard " to " .storyboard " and changing it back to " Main.storyboard ”解决了我的问题 .
SOLUTION(As per my issue) :您可能已重命名任何文件,因为xcode无法加载它并引发问题 . 例如:如上所述改变“ Executable File ”名称的情况
Possible Issue area: 可能是您工作的最后几个文件 .
我有类似的问题 . 显然我已经从项目文件夹外部包含了Info.plist . 这会导致相同的错误,在每次构建之后显示(除非我在清理项目后运行它) .
要修复它,我只需要在项目文件夹中包含Info.plist .