每当我尝试在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 6 Beta 4中运行我的应用程序时,我都会得到错误:
The file "MyApp.app" couldn't be opened because you don't have permission to view it.
无论我的目标是什么模拟器或设备,都会出现此错误。
我试过:
在Xcode中删除所有来自组织者的派生数据 正在修复驱动器上的权限 手动提升构建的MyApp.app的权限 重启电脑
有没有其他人遇到过这个问题并找到了解决方案?
当前回答
我的项目也遇到了同样的问题。后来发现项目中使用的第三方(fmdb for SQLite)文件包含Info.plist。
简单地删除信息。Plist文件为我工作!
其他回答
我也遇到过类似的问题。不知何故,我的值键可执行文件混淆了。只需将其更改回${EXECUTABLE_NAME}(在您的项目> Info下)。为我工作!
1)首先构建选项。
2)然后将“Compiler for C/ c++ /Objective-C”的值改为Default Compiler。
清洁和工作:-)
我从模拟器和设备两方面来研究这个问题。
这里有一个棘手的现象。如果我将项目复制到一个新位置,那么当我第一次运行时,这个问题就有可能消失。但当我打扫干净后,这个问题就来了。
我已经尝试了这个问题几乎所有的答案,但都没有。
在版本控制系统git的帮助下,我可以检查出以前版本的代码,并查看哪些修改导致了这个问题。
在我的项目中,HEAD版本是可行的,我最新的umcommitted修改将导致这个问题。
因此,我检出我的代码的可行版本中的每个文件,以定位问题。当我签出coin.xcodeproj/project时。Pbxproj(硬币是我的应用程序名称),这个问题已经解决了。
解决方案:签出可工作的coin.xcodeproj/project。pbxproj,对于我的情况下,我只是使用HEAD版本是可以的。
git checkout HEAD coin.xcodeproj/project.pbxproj
总结一下:
project.pbxproj: checkout the workable project.pbxproj file. Build Options: set Compiler for C/C++/Objective-C to default compiler. Executable file: set to $(EXECUTABLE_NAME) or directly set to your app name. Build > Clean:just do a clean. Replace the Info.plist with a new file from a new project Duplicate Info.plist in the project: just remove the extra one. Derived Data.: Find the Derived data path by Xcode->preference->locations->Derived data, then delete it with rm -r /Users/roofe/Library/Developer/Xcode/DerivedData And there may other reasons, you can refer to “The file ”MyApp.app“ couldn't be opened because you don't have permission to view it”
在设备上也有问题(不仅仅是模拟器)?
其他解决方案只是在模拟器上为我固定,而不是设备。
对我来说,这个问题发生(在Xcode 6),当我试图改变主要信息。Plist属性,同时试图改变我的应用程序名称。
在信息。plist我已经改变了可执行文件名称,而不是默认的${EXECUTABLE_NAME}…
我把这个字段误认为是在跳板图标下更改应用程序名称的字段。
我自己修复了在“arm32”和“arm64”架构之间切换的问题。从“构建设置”中,我将“架构”和“有效架构”从“arm32”修改为“arm64”,它工作了。在改变了一些其他设置后,在arm32和arm64之间切换不再有区别,所以我怀疑这是否是路由原因。
之前我尝试了这里的所有其他建议:
Plist未被修改 EXECUTIBLE_NAME未被修改 构建清洁 删除DerivedData 默认的编译器