每当我尝试在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.
无论我针对哪种模拟器或设备,都会出现此错误。
我努力了:
还有其他人遇到这个问题并找到解决方案吗?
Answers:
其他解决方案仅在模拟器上(而非设备)为我修复了该问题。
对我来说,当我尝试更改主info.plist时,会发生此问题(在Xcode 6中)属性,同时尝试更改应用程序名称时发生的。
在info.plist中,我已将Executable File
名称更改为默认名称以外的名称${EXECUTABLE_NAME}
...
我将该字段误认为是更改跳板上图标下的应用程序名称的字段。
在Xcode中执行以下操作
窗口->管理器->项目->带有问题的应用程序->派生数据中的删除按钮。
然后我清理了项目,瞧
作品
项目的Info.plist存在问题。我在Xcode 6 beta 4中创建了一个同名的新项目,然后用新项目替换了实际项目的Info.plist。然后,该项目便建成并运行良好。
看一下diff,看来plist可能与操场的plist混为一谈。捆绑包标识符为“ com.apple.dt.playground.iOS-18300-13”,可执行文件和捆绑包名称为“ iOS”以及其他一些奇怪之处。
如果有人需要参考,这是完整的区别:
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
- <string>iOS</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
- <string>com.apple.dt.playground.iOS-18300-13</string>
+ <string>com.myCompany.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
- <string>iOS</string>
+ <string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
- <string>AAPL</string>
+ <string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
- <key>CFBundleSupportedPlatforms</key>
- <array>
- <string>iPhoneSimulator</string>
- </array>
+ <key>CFBundleSignature</key>
+ <string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
- <key>DTPlatformName</key>
- <string>iphonesimulator</string>
- <key>DTSDKName</key>
- <string>iphonesimulator8.0</string>
- <key>LSBackgroundOnly</key>
- <true/>
<key>LSRequiresIPhoneOS</key>
<true/>
+ <key>UIMainStoryboardFile</key>
+ <string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
</dict>
</plist>
我在Xcode 8.2中遇到了同样的错误。我找到我的原因是另一个Info.plist是,在添加库(手动复制)时,在我的项目中添加了。
因此,Xcode对于选择正确的Info.plist感到困惑。
我刚刚从添加的库中删除了该Info.plist。
然后,它工作正常,没有任何权限警报。
请检查您是否将可执行文件=> $(EXECUTABLE_NAME)更改为任何其他名称。如果您更改了此名称,则会显示此错误。请用$(EXECUTABLE_NAME)替换它。
产品->清洁(命令转换K)为我修复了它
我的天啊!!我花了几个小时来解决这个问题。
在XCode 7.3上,我的项目没有问题。
我做错了
我只是添加了物理文件夹并将文件移入其中,问题开始了。
我尝试了一切
没有任何效果:(
我如何解决
我准备创建一个新项目,然后删除了我添加的那些物理文件夹,清理了构建并确定了!
有用!!
对于示例代码下载,我遇到了类似的问题(xCode 6.2)。我试图设置Executable Name
为,Default in Info.plist
但这没有用。
相反,改变编译器C / C ++ / Objective-C的以默认的编译器(苹果LLVM 6.0) ,而不是不支持的编译器(com.apple.compilers.llvmgcc42)项目。
1)首先选择构建选项。
2)然后将“ C / C ++ / Objective-C编译器”的值更改为“默认编译器”。
清洁和工作:-)
我最近遇到了在Xcode 6.0.1中运行旧项目(最初在Xcode 4.x中创建)的相同问题。
我通过改变固定的问题架构的建设设定 s到默认值,这是“ 标准架构(ARMv7的,arm64) ”。
希望这可以对遇到类似问题的人有所帮助:)
我的应用程序在XCode 9.4上运行良好,但是当我在XCode 10中打开项目时,遇到了这个问题。对我来说,问题是构建设置。我在此页面https://forums.developer.apple.com/thread/112141找到了答案。
简而言之,转到“文件”>“工作区设置...”>“构建系统”,然后将其更改为“旧版构建系统”
我尝试了所有列出的答案,但都没有用。问题是由于存在另一个通过子框从子模块链接的plist文件。幸运的是,这是我自己的模块,因此我只是从子模块项目中删除了此plist并重新安装了pod。
后来,我了解到问题的关键在于第二个plist的名称:简单地info.plist
。您可以重命名文件并通过sources
子模块的一部分重新链接它
第二个plist文件具有唯一的名称,因此不应使Xcode感到沮丧。甚至我的目标设置都指向主列表,而不是指向info.plist
。看起来Xcode对该名称有特殊考虑
Xcode 6.4和Xcode 7.0中再现的错误
Info.plist
碰巧在项目文件夹中找到了该文件夹,该文件夹属于一些不相关的依赖项。
不知道问题是否相关,但是对于像我这样的人来说,这可能是一个解决方案。
就我而言,我有一个目标很多的项目。每个目标都是该基础项目的定制,目标是Cocoa Touch Static Library
和Applications
。即使将main
文件添加到库编译中,而不是添加到每个目标中,该错误消息也会出现。那我做了什么?手动将main
文件添加到Compile Sources
section和bingo 中的每个目标,一切正常。
就我而言,它仅有助于关闭Xcode,并使用Disk Utility修复了权限。仅在重新启动后,它才具有魅力。