"无法打开文件"MyApp.app",因为在Xcode 6 Beta 4中运行应用程序时,您无权查看它

dre*_*wag 268 xcode5 swift xcode6

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

The file "MyApp.app" couldn't be opened because you don't have permission to view it.
Run Code Online (Sandbox Code Playgroud)

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

我试过了:

  • 从Xcode中的管理器中删除所有派生数据
  • 修复我的驱动器上的权限
  • 手动提升构建的MyApp.app的权限
  • 重新启动我的电脑

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

截图

YuA*_*Lai 252

我使用Xcode6 GM.我遇到了同样的问题.我做的是去构建设置 - >构建选项.然后我将"Compiler for C/C++/Objective-C"的值更改为Default Compiler.在此输入图像描述


Tom*_*Tom 145

在Xcode中执行以下操作

窗口 - >管理器 - >项目 - >带有问题的应用程序 - >派生数据中的删除按钮.

然后,我清理了项目,瞧

作品


Alb*_*haw 144

在DEVICE上也有问题(不只是模拟器)?


其他解决方案只在模拟器上为我修复,而不是设备.

对我来说,当我尝试更改我的应用程序名称时尝试更改主要的info.plist属性时,会发生此问题(在Xcode 6中).

info.plist中,我将Executable File名称更改为默认值以外的其他内容${EXECUTABLE_NAME}...

我把这个字段误认为是在跳板上的图标下更改应用程序名称的字段.

  • 在我的情况下,这工作谢谢你.我一直在更改<appname> -Info.plist文件中的其他类似字段,一旦我按照您的建议将可执行文件更改回$ {EXECUTABLE_NAME},它就构建并运行了. (9认同)

Sle*_*ers 52

对我来说,一个简单的产品 - >清洁工作很棒


yur*_*.ku 46

我已经通过清理构建文件夹来修复它.只需转到"产品"菜单和选项+单击"清除".之后问题得到解决.


dre*_*wag 29

项目的Info.plist存在问题.我在Xcode 6 beta 4中创建了一个同名的新项目,然后将新项目的Info.plist替换为新项目.然后该项目建成并运行良好.

看看差异,似乎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>
Run Code Online (Sandbox Code Playgroud)


Ant*_*hel 27

我在Xcode 8.2中遇到了同样的错误.我找到的原因是,在添加库(手动复制)时,我的项目中添加了另一个Info.plist.

因此,Xcode对于选择正确的Info.plist感到困惑.

我刚从添加的库中删除了Info.plist.

然后它没有任何许可警报工作正常.


Pra*_*tel 17

请检查您是否已将Executable file => $(EXECUTABLE_NAME)更改为任何其他名称.如果您更改了此名称,则会显示此错误.请用$(EXECUTABLE_NAME)替换它.


小智 14

产品 - >清洁(命令转换K)为我修复它


swi*_*Boy 13

我的天啊!!我花了几个小时来解决这个问题.

XCode 7.3上,我的项目没有任何问题.

我做错了

我刚刚添加了物理文件夹并将我的文件移入其中,问题已经开始.

我尝试了一切

  • 默认编译器
  • 清洁和建造
  • 重置模拟器和重启模拟器,Xcode,iPhone甚至mac
  • 更新了Info.plist
  • 删除派生数据
  • 编辑项目文件夹的权限
  • 检查我的架构

什么都没有用:(

我怎么解决

我是关于创建新项目然后我刚刚删除了我添加的那些物理文件夹,干净的构建和YESS !!

有用!!

在此输入图像描述


One*_*ven 13

尝试"cmd + shift + k"来清理项目并重建.至少它对我有用


Jay*_*bey 11

我有类似的问题(xCode 6.2)下载示例代码.我试图设置Executable Name,Default in Info.plist但这没效果.

而是将Compiler for C/C++/Objective-C更改为默认编译器(Apple LLVM 6.0),而不是将Unsupported Compiler(com.apple.compilers.llvmgcc42)更改为项目.

截图


Was*_*hah 10

1)首先建立选项.

2)然后将"Compiler for C/C++/Objective-C"的值更改为Default Compiler.

干净和工作:-)


Man*_*iao 10

有时在新版Xcode中打开旧项目会收到此消息.

转到"发布"导航器,然后按照警告提示"Upate to reconmmented settings"进行操作.

轰,魔术!


Sle*_*ers 10

我发现在构建选项中将编译器更改为LLVM 6.0对我来说已经足够了(xcode 6.1)

在此输入图像描述


小智 9

我和一些旧的项目出现了这个错误,我正从柜子里拿出来进行更新.似乎使用Xcode 6和较旧的代码似乎出于某种原因带来了这一点.

我已经通过以下方式解决了所有项目:

  1. 删除派生数据
  2. 产品中:做一个干净的
  3. 转到项目Target中的Build Settings,然后转到Build Options并将"Compiler for C/C++/Objective-C"的更改为" Default Compiler ".


zee*_*wan 9

对于从4年前提交的gitHub下载的项目,我在Xcode 6.1.1上遇到了同样的错误.对我来说,将架构设置为默认值标准架构(armv7,arm64)编译器用于C/C++/Objective-C构建设置中的默认编译器工作.


Jay*_*bey 9

我的项目中遇到了同样的问题.后来发现项目中使用的第三方(fmdb for SQLite)文件包含Info.plist.

简单地删除Info.plist文件对我有用!

的Info.plist


小智 8

我最近遇到了在Xcode 6.0.1中运行旧项目(最初在Xcode 4.x中创建)的相同问题.

我通过改变固定的问题架构建设设定 s到默认值,这是" 标准架构(ARMv7的,arm64) ".

希望这可以帮助任何有类似问题的人:)


Ans*_*Ans 8

在我的情况下,我只是将Bundle NameExecutable file值重命名info.plist为项目名称.它对我有用.


Tim*_*Tim 8

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

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

第二个plist文件有一个唯一的名称,所以Xcode不应该变得沮丧.甚至我的目标设置指向主要的plist,而不是a info.plist.看起来Xcode对这个名字有特殊的考虑

该错误在Xcode 6.4Xcode 7.0中重现


Nar*_*ini 7

我所做的是在这里:

  • 我从项目中删除了 VALIDARCHS
  • 我从 Target 中删除了 VALIDARCHS
  • Build Active Architecture Only = YES(用于调试)架构
  • 标准架构 $(ARCHS_STANDARD)

此外,文件 -> 项目/工作区设置 == 新构建系统

Xcode 12.0 版 (12A7209)


Vip*_*per 6

我有类似的问题.不知何故,我的关键可执行文件的价值混淆了.只需将其更改回$ {EXECUTABLE_NAME}(在您的项目>信息下).为我工作!


inf*_*ker 6

我的应用程序在XCode 9.4上运行良好,但是当我在XCode 10中打开项目时,遇到了此问题。对我来说,问题是构建设置。我在此页面https://forums.developer.apple.com/thread/112141中找到了答案。

简而言之,转到文件>工作区设置…>构建系统,然后将其更改为“旧版构建系统”


jwe*_*rek 6

如果您用 google 搜索此错误消息的文本,您会在 StackOverflow、Apple 开发论坛、Reddit 等中找到大约 20 个线程,内容涉及 Xcode 无法运行带有此错误消息的已编译可执行文件。

在这些线程中,您会发现许多人提供了有关如何解决问题的各种建议:更改产品名称以匹配项目名称、更改构建阶段选项、使用 info.plist 进行某些操作、将编译器更改为 Clang 或从 Clang 更改编译器等。大概的建议是真诚地提供,因为他们为某人解决了问题,但答案多种多样,很明显该错误消息是通用的,如果您收到它,这一点很重要:此错误似乎意味着有问题二进制文件。忽略它的实际文本:它可能与权限无关。

此错误没有通用的解决方案。错误消息是完全通用的;假设它的意思是“坏的二进制文件”。如果您收到它,解决方案取决于您正在尝试执行的操作、发生的更改以及您突然看到此错误的原因。谷歌搜索您的具体情况而不是此错误消息。

就我而言,我感觉这是一个常见的情况,我想做的是在现代 Xcode 上构建一个旧的 iOS 项目,我想已经有九年了。解决方案是切换到旧的构建系统,这会导致编译错误,因为在旧项目中没有现代架构目标,可以通过手动添加它们来修复


Gus*_*osa 5

不知道问题是否相关,但也许它可以解决任何像我这样拔毛的人.

就我而言,我有一个有很多目标的项目.每个目标都是该基础项目的定制,它是一个Cocoa Touch Static Library和目标,Applications.即使main文件已添加到库编译中,但未添加到每个目标中,也会显示该错误消息.那我做了什么?手动将main文件添加到Compile Sources部分和宾果游戏中的每个目标,一切正常.


Aws*_*sed 5

在我的例子中,包含 main(...) 函数的 main.m 没有包含在“构建阶段”的“编译源”列表中。要检查是否是这种情况,请进入构建阶段并查看您的 main.m 是否出现在“编译源”列表中。


jed*_*ddi 5

对我来说,错误发生在密钥的.plist文件中CFBundleExecutable.我重命名了可执行文件,删除了两个单词之间的空格.(例如:从"Wild Racer"到"WildRacer").花了1天时间发现它!!

Xcode在调试中太无用了!