“The file ”MyApp.app“ couldn't be opened becau

2019-01-01 14:48发布

问题:

Whenever I try to run my app in Xcode 6 Beta 4 I am getting the error:

The file \"MyApp.app\" couldn\'t be opened because you don\'t have permission to view it.

This error appears no matter what simulator or device I target.

I have tried:

  • Deleting all Derived Data from Organizer in Xcode
  • Repairing permissions on my drive
  • Manually elevating the permissions of the built MyApp.app
  • Restarting my computer

Has anyone else run into this problem and found a solution?

\"Screenshot\"

回答1:

I use Xcode6 GM. I encountered the same problem. What I did was to go to Build Settings -> Build Options. Then I changed the value of the \"Compiler for C/C++/Objective-C\" to Default Compiler.\"enter



回答2:

In Xcode do the following

Window --> Organiser --> Projects --> The app with the issue --> delete button in Derived Data.

I then cleaned the project and voila

works



回答3:

Having the problem on DEVICE too (not just simulator)?


The other solutions only fixed it for me on simulator, not device.

For me this problem occurred (in Xcode 6) when I would try to change the main info.plist properties whilst trying to change my app name.

In info.plist I had changed Executable File name to something other than the default ${EXECUTABLE_NAME}...

I had mistaken this field for the field that changes the name of the app under the icon on the springboard.



回答4:

For me, a simple Product -> Clean worked great



回答5:

I\'ve fixed it by cleaning a build folder. Just went to \'Product\' menu and Option+Click \'Clean\'. After that a problem was resolved.



回答6:

There was a problem with the Info.plist of the project. I created a new project with the same name in Xcode 6 beta 4 and then replaced the real project\'s Info.plist with the new one. The project then built and ran fine.

Look at the diff, it appears like the plist might have somehow gotten mixed up with a playground\'s plist. The bundle identifier was \"com.apple.dt.playground.iOS-18300-13\" and the executable and bundle names were \"iOS\" along with some other oddities.

This is the full diff in case anyone needs it for reference:

        <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>


回答7:

I\'ve had same this error in Xcode 8.2. The reason I found out for me, another Info.plist is added in my project while adding library (manually copy).

So that Xcode is getting confused for selecting correct Info.plist.

I just removed that Info.plist from the added library.

Then it is working fine without any permission alert.



回答8:

Please check if you have changed Executable file => $(EXECUTABLE_NAME) to any other name. If you have changed this name then it shows this error. Please replace it with $(EXECUTABLE_NAME).



回答9:

Product -> Clean (command shift K) fixed it for me



回答10:

My goodness!! I spent hours to resolve this issue.

On XCode 7.3 I was having project with no issues.

Mistake I did

I just Added physical folders and moved my files into them, problem started.

I tried everything

  • Default compiler
  • Clean and build
  • Reset simulator and reboot simulator, Xcode, iPhone even mac
  • Updated Info.plist
  • Deleting Derived Data
  • Editing the permission on the folder of the project
  • Checking my architectures

nothing worked :(

How I resolved

I was about create new project and then I just deleted those physical folders I added, clean build and YESS!!

It works!!

\"enter



回答11:

Try \"cmd+shift+k\" to clean the project and rebuild. At least it worked for me



回答12:

I had similar issue (xCode 6.2) for sample code downloaded. I tried to set Executable Name to Default in Info.plist but this didn\'t worked.

Instead change Compiler for C/C++/Objective-C to Default compiler (Apple LLVM 6.0) instead of Unsupported Compiler(com.apple.compilers.llvmgcc42) for project.

\"Screenshot\"



回答13:

1) Go Firstly Build Options.

2) Then changed the value of the \"Compiler for C/C++/Objective-C\" to Default Compiler.

clean and working :-)



回答14:

Sometimes opening old project in new version Xcode will get this message.

Go to Issue navigator and follow the warning hint \'Upate to reconmmented settings\'.

Boom, magic!



回答15:

I found that changing my compiler to LLVM 6.0 in the Build Options was enough for me (xcode 6.1)

\"enter



回答16:

I got same error on my Xcode 6.1.1 for a project downloaded from gitHub which was committed 4 years ago. For me, setting Architectures to the default value Standard architectures(armv7,arm64) and Compiler for C/C++/Objective-C to Default Compiler in Building Settings worked.



回答17:

I\'ve had this error with a number of my older projects that I am getting out of the cupboard to update. It seems that using Xcode 6 with older code seems to bring this about for some reason.

I have fixed this in all projects that I have done this with by:

  1. Delete Derived Data
  2. in Product: do a clean
  3. go to Build Settings in the project Target and go to Build Options and change the value of the \"Compiler for C/C++/Objective-C\" to \'Default Compiler\'.


回答18:

I tried all of the listed answers and none of them was useful. The problem was due to existence of an another plist file linked from a submodule via cocoapods. Luckily this was my own module, so I just deleted this plist from the submodule project and reinstalled pods.

solution

Later on I understood that the key of the problem was in the name of that second plist: simply info.plist. You may rename the file and relink it via a sources section of a submodule

That second plist file had a unique name, so Xcode was not supposed to become frustrated. Even my target settings pointed on a main plist, not on a info.plist. Looks like Xcode takes special consideraions about that name

The bug reproduced in Xcode 6.4 and Xcode 7.0



回答19:

I had the same issue in my project. Later on found that third-party (fmdb for SQLite) file used in project contained Info.plist.

Simply deleting the Info.plist file worked for me!

\"Info.plist\"



回答20:

I recently meet the same problem for running an old project (initially created in Xcode 4.x) in Xcode 6.0.1.

I fixed the problem by changing the Architectures in Building Settings to the default value, which is \"Standard architectures(armv7,arm64)\".

Hope this could help anyone who got similar problems :)



回答21:

Well in my case, I just rename the Bundle Name and Executable file values in info.plist same as project name. It worked for me.



回答22:

I had this similar problem. Somehow my value for the key Executable File got mixed up. Just change it back to ${EXECUTABLE_NAME} (Under your project > Info). Worked for me!



回答23:

Don\'t know if the problem is related but maybe it can be a solution for anyone pulling the hairs like me.

In my case, I have a project with a lot of targets. Each target is a customisation of that base project which is a Cocoa Touch Static Library and the targets, Applications. Even if the main file is added into the library compilation, but not in each target, that error message appears. So what I did? Manually added the main file to each target in the Compile Sources section and bingo, all fine.



回答24:

For me the error was in the .plist file at the key CFBundleExecutable. I had renamed the executable removing a space that was between two words. (Eg: from \"Wild Racer\" to \"WildRacer\"). Took 1 day to spot it!!

Xcode is soooo unhelpful in the debugging!



回答25:

In my case main.m containing the main(...) function was not contained in the list of \"Compile Sources\" in \"Build Phases\". To check if this is the case, enter into Build Phases and look, if your main.m appears in the \"Compile Sources\" list.



回答26:

What solved it for me was setting Build Active Architecture Only from No to Yes.



回答27:

with X-code 6.3.2

[Build Settings] Options. [All]-[Build Options]-[Compiler for C/C++/Objective-C]-[Default compiler (Apple LLVM 6.1)]

Then rebuild the project, and it runs ok.



回答28:

In my case it helped just to close Xcode, repaired the permissions with the Disk Utility. Only after a reboot it worked like a charm.



回答29:

As i have also faced this issue today morning and none of the answers helped me out particularly in my case. And after trying for hours i figured out the issue.

Actually while working in storyboard by mistake, i just renamed my \"Main.storyboard\" to \".storyboard\" and changing it back to \"Main.storyboard\" solved my issue.

SOLUTION(As per my issue): May be you have renamed any file due to which xcode couldn\'t load it and raised an issue. For example: as mentioned above the case of changing \"Executable File\" name
Possible Issue area: May be the last few files you were working in.



回答30:

I had similar issues. Apparently I\'ve included Info.plist from outside project folder. That lead to the same error, shown after every build (except after I run it after cleaning the project).

To fix it I simply had to include Info.plist from the project folder.