Xcode: “此时无法安装此应用程序。”

为学习目的使用我的第一个应用程序。它运行良好,但是遇到了 Xcode 的问题。当我尝试在 iPhone 模拟器上运行应用程序时,总会弹出这样一条消息: “此时无法安装此应用程序。”

screenshot

怎么了?在尝试构建应用程序时没有错误。试图清理建筑。重新安装吊舱。重启 Xcode。删除模拟器设备上的所有设置,但是,问题仍然存在。

错误消息没有给我任何信息。是否有其他日志文件,我可以查看或东西?

54057 次浏览

I managed to find the problem. The problem was that I had added some keys to a property list file that was not valid. I found the error by looking in the log file that was located here: ~/Library/Logs/CoreSimulator/

I know the question has been answered but for others encountering the same issue I suggest following:

  • Check simulator logs, if its printing something useful. First, selecte simulator then from menu option open Debug -> Open System Logs.

  • Make sure only 1 simulator is running.

  • Delete the older version of app from the simulator.

  • If you importing a custom framework, make sure custom framework->bundle-id is not same as currentAppProject->bundle-id. If you are not sure then simply change the bundle-id of current project.

  • Also some of the simulators can be buggy -> Simply change the simulator, it may resolve the issue, for me changing the simulator worked.

You may also want to look under Capabilities for your different targets. I ended up having an issue with my App ID

enter image description here

Reset the simulator:

Hardware -> Erase All content and settings...

Clean your project:

shift+cmd+K

shift+opt+cmd+K

This should fix your issue

Just quite the simulator and start again works for me. In my case the error always occur if I change the bundle identifier and run afterwards the iPhone X simulator.

I got this error too. It all started a short time after I let Xcode update my project settings. Specifically on my CocoaPod sub-project. I removed the pods and reinstalled them and that solved my issue. Hope this works for you or others who find this question as well.

Just restart simulator to fix it in my case.

Changing the CFBundleShortVersionString in InfoPlist.strings to match the one in info.plist fixed this for me. I had to use the simulator's "Erase All Content and Settings" after making this change.

Trying to launch on a simulator with iOS 9.0 (instead of 11.2) gave this error instead, which helped me to find more answers on what's apparently the same issue:

The operation couldn’t be completed. (LaunchServicesError error 0.)

Found issue in ~/Library/Logs/CoreSimulator//MobileInstallation

WatchKit 2 app extension's NSExtension.NSExtensionAttributes.WKAppBundleIdentifier value does not match WatchKit app's bundle ID

For anybody wasting time on this obscure error. If you don't have any relevant logs and all the other answers fail, you might check if you recently added a framework that for some reason (didn't investigated why) can't be embedded, only linked. Happened to me with GoogleMaps for iOS.

I had this issue while working with Xcode 9.2. The solution is to simply delete the app and re-install it again.

I resolved this issue to remove DerivedData from Xcode Preferences. and also Restart the simulator from Hardware.

I was seeing this on all simulators and all devices. Uninstalling the app would work once, but it continued to fail on me.

The fix was to wipe out all my project's pods:

pod deintegrate

And then re-install again:

pod install

This was with XCode 9.3 and iOS 11.2/11.3.

Instead of restarting the simulator you can also just delete the app from the simulator. This error is caused when you have made your app ready for production and then attempt to build it on a phone. There are issues when you are trying to build the same app twice (this is also why you don't get this issue when you run in testing mode).

I encountered this error, but it had nothing to do with my Info.plist or Cocoapods. I had mistakenly deleted a duplicate NotificationServiceExtension group in my Xcode project, which caused me to end up with a NotificationServiceExtension target that had no source files (I only need one source file to integrate/piggy-back off of the Urban Airship SDK's rich notifications).

After reverting the commit where I deleted the duplicate group and then deleting the correct duplicate group (the one that didn't list the source file as being part of the target), I was able to build and run just fine.

Occurred to me when I switched branches with another developer who was using a different version of CocoaPods , Deleting derived data folder worked !

rm -rf ~/Library/Developer/Xcode/DerivedData/

If you importing a custom framework, make sure custom framework->bundle-id is not same as currentAppProject->bundle-id. If you are not sure then simply change the bundle-id of current project. It works for me : )

In my case, the message appeared when I was migrating from Cocoapods to Carthage and having the Firebase iOS SDK among my dependencies.

The issue was resolved when I realized that Firebase does NOT need to be among the frameworks that are copied in the carthage copy-frameworks phase.

For more on Firebase and Carthage, see the official documentation.

To add a bit of additional info here. While Xcode is completely unhelpful about telling you why the app couldn't be installed, the console has quite good error messages. Just launch Console.app (Applications > Utilities > Console) and filter the output by installcoordinationd.

It'll give you something like this that describes the error:

installcoordinationd -[IXSCoordinatedAppInstall _onQueue_acquireAssertionAndDoInstall]_block_invoke: Installation for identifier:com.acme.location-thingy uuid:blah-blah-blah-foo intent:IXCoordinatorIntentInitiating creator/appDRI:InstallCoordination Simple SPI userInitiated:N state:IXAppCoordinationStateWaitingForInstall> failed: Error Domain=MIInstallerErrorDomain Code=99 "WatchKit v3 app has disallowed Info.plist key: NSLocationUsageDescription" UserInfo={LegacyErrorString=WatchKitAppIllegalInfoPlistKey, FunctionName=-[MIExecutableBundle hasOnlyAllowedWatchKitAppInfoPlistKeysForWatchKitVersion:error:], SourceFileLine=1841, NSLocalizedDescription=WatchKit v3 app has disallowed Info.plist key: NSLocationUsageDescription}

Hope this is helpful to someone!

I encountered this error while developing my first WatchKit app. Followed guidance from @PureRushh, @Antonioni and others to dump the contents of:

~/Library/Logs/CoreSimulator/CoreSimulator.log

The log contents led me to the error.  I'll include the details in case others encounter this error while developing WatchKit apps.

Log message:

com.apple.dt.Xcode[89555] : installApplication:withOptions:error:: Error Domain=IXUserPresentableErrorDomain Code=1 "This app could not be installed at this time." UserInfo={NSLocalizedDescription=This app could not be installed at this time.,NSUnderlyingError=0x7f9ab87d1f20 {Error Domain=MIInstallerErrorDomain Code=101 "WatchKit 2.0 app's bundle ID com.somecompany.AirTime2.watchkitapp is not prefixed by the parent app's bundle ID followed by a '.'; expected prefix com.somecompany.AirTime."

Cause: I had modified the value associated with the BundleIdentifier key in the Info.plist (via General-> Bundle Identifier) of the parent app to match a URL Type (for SSO redirect); however, I failed to update the WatchKit App Info.plist value associated with the WKCompanionAppBundleIdentifier key (see second bold line).

Fix: Modify the WatchKit App Info.plist value for the key WKCompanionAppBundleIdentifier to agree with parent app's bundle ID

This happened when I had an empty build number set for the target in Xcode 10.0.

In my case i was trying to run a widget. Scheme settings for widget should be: Run -> Info -> Executable: "Ask on launch"

I have faced the same problem like this. but nothing worked for me. Then i noticed one problem in my info.Plist file. The Executable file name was different compare to Schema name in Edit Schema. So make sure This both is same, then try to run your project. It should work.

Hi Guys just want to let you know that none of the above worked for me.

enter image description here

I was busy working, integrating a dynamic library into my project. I know that the library worked, so I didn't give it a second thought.W hat I did was just to delete the reference to MyLibrary1, recompiled MyLibrary1 and embedded again for a successful build. Hope this helps someone.

Regards Rolf

I delete the files in ~/Library/Logs/CoreSimulator/ but problem still exist. Then I erase all contents and settings and it's ok!

If someone is still facing this problem please check these steps. This usually happens when there is some error in your Info.plist. In my case, there were two Supported interface orientations entry.

Follow these steps and you will surely find the solution to this. Most of them are already mentioned above

  1. Simulator > Device > Erase All Content & Settings
  2. Remove duplicate entry of Supported interface orientation or check your plist file for any error
  3. In your Xcode > Product > Clean Build Folder ( Cmd + Shift + K)
  4. Just try to Build & Run the project

I hope you are able to fix this irritating problem after this.

Please check the reference image attached enter image description here

When you use letters which is not the alphabet for Display name, this error might occur. For more information take a look at this. Xcode11でCould not hardlink copyってエラーが出る

For me moving Xcode to Applications folder resolved the issue. If you did downloaded an Xcode from the web, consider doing so.

Simply delete your application by your self in simulator and re run again. it worked for me.

In my case, my app uses app display name in Vietnamese (contain some special characters). I removed old app installed in simulator, then change my app name with only alphabet characters, and it worked!

In my case, the issue was creating a new target with a same bundle ID of an already existing one. After changing it, voila!