每当我尝试在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的权限 重启电脑
有没有其他人遇到过这个问题并找到了解决方案?
当前回答
对我来说,错误是在.plist文件的关键CFBundleExecutable。 我重命名了可执行文件,删除了两个单词之间的空格。(例如:从“狂野赛车手”到“狂野赛车手”)。花了1天时间发现它!!
Xcode在调试方面实在是太没有帮助了!
其他回答
我在4年前从gitHub下载的Xcode 6.1.1项目上也犯了同样的错误。 对我来说,在“构建设置”中将“架构”设置为默认值“标准架构”(armv7,arm64),并将C/ c++ /Objective-C的“编译器”设置为“默认编译器”。
请检查是否添加了任何第三方lib与plist。有些时候第三方lib有信息plist导致的问题。
我从模拟器和设备两方面来研究这个问题。
这里有一个棘手的现象。如果我将项目复制到一个新位置,那么当我第一次运行时,这个问题就有可能消失。但当我打扫干净后,这个问题就来了。
我已经尝试了这个问题几乎所有的答案,但都没有。
在版本控制系统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”
在我的情况下主要。在“构建阶段”的“编译源”列表中没有包含main(…)函数。要检查是否是这种情况,进入Build Phases并查看,如果您的主。m出现在“编译源”列表中。
我遇到了AppDelegate缺失的问题。
创建一个最小值解决了这个问题:
import UIKit
@UIApplicationMain
final class AppDelegate: UIResponder,UIApplicationDelegate {
}