Xcode:"此时无法安装此应用。"

时间:2017-12-11 20:10:38

标签: ios xcode ios11 xcode9.2

使用我的第一个应用程序进行学习。它运行良好,但遇到了Xcode的问题。当我尝试在iPhone模拟器上运行该应用程序时,此消息始终弹出"此时无法安装此应用程序。"

screenshot

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

错误消息不会向我提供任何信息。有没有我可以查看的其他日志文件或什么?

32 个答案:

答案 0 :(得分:76)

我设法找到了问题。问题是我已经将一些密钥添加到无效的属性列表文件中。我通过查看位于此处的日志文件找到了错误:〜/ Library / Logs / CoreSimulator /

答案 1 :(得分:54)

重置模拟器:

Hardware - > Erase All content and settings...

清理您的项目:

shift + cmd + K

shift + opt + cmd + K

这应该可以解决您的问题

答案 2 :(得分:9)

我知道这个问题已得到解答,但对于遇到同样问题的其他人,我建议遵循:

  • 检查模拟器日志,如果它的打印有用。首先,选择模拟器然后从菜单选项打开调试 - > 打开系统日志

  • 确保只有1个模拟器正在运行。

  • 从模拟器中删除旧版本的应用程序。

  • 如果您导入自定义框架,请确保自定义framework-> bundle-id与currentAppProject-> bundle-id不同。如果您不确定,那么只需更改当前项目的bundle-id。

  • 另外一些模拟器可能是错误的 - >只需更改模拟器,它就可以解决问题,因为我可以更改模拟器。

答案 3 :(得分:5)

我解决了此问题,要从Xcode偏好设备中删除 DerivedData 。还有从硬件重启模拟器。

答案 4 :(得分:5)

对于任何在这个模糊的错误上浪费时间的人。如果您没有任何相关日志并且所有其他答案都失败,您可能会检查您是否最近添加了一个框架,该框架由于某种原因(没有调查原因)无法嵌入,只能链接。 GoogleMaps for iOS发生在我身上。

答案 5 :(得分:4)

更改 InfoPlist.strings 中的CFBundleShortVersionString以匹配 info.plist 中的那个为我修复此问题。我不得不使用模拟器"删除所有内容和设置"在做出这个改变之后。

尝试在iOS 9.0(而不是11.2)的模拟器上启动会出现此错误,这有助于我找到更多关于显然是同一问题的答案:

  

无法完成操作。 (LaunchServicesError错误0。)

答案 6 :(得分:4)

在〜/ Library / Logs / CoreSimulator // MobileInstallation

中发现问题
  

WatchKit 2 app扩展程序   NSExtension.NSExtensionAttributes.WKAppBundleIdentifier值没有   匹配WatchKit应用程序的包ID

答案 7 :(得分:3)

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

答案 8 :(得分:3)

我在所有模拟器和所有设备上都看到了这一点。卸载应用程序可以运行一次,但它继续失败。

解决方法是清除我项目的所有pod:

pod deintegrate

然后重新安装:

pod install

这是使用XCode 9.3和iOS 11.2 / 11.3。

答案 9 :(得分:3)

在我的情况下,只需重启模拟器即可修复它。

答案 10 :(得分:2)

只是模拟器并重新开始为我工作。在我的情况下,如果我更改捆绑包标识符并在之后运行iPhone X模拟器,则总会发生错误。

答案 11 :(得分:2)

我遇到了这个错误,但它与我的Info.plist或Cocoapods无关。我在我的Xcode项目中错误地删除了一个重复的NotificationServiceExtension组,这导致我最终得到一个没有源文件的NotificationServiceExtension目标(我只需要一个源文件来集成/背驮式Urban Airship SDK的丰富通知)。

在恢复提交后,我删除了重复的组,然后删除了正确的重复组(未将源文件列为目标的一部分),我能够构建并运行得很好。< / p>

答案 12 :(得分:2)

当我与另一位使用不同版本的CocoaPods的开发人员切换分支时发生错误,删除派生数据文件夹工作了!

答案 13 :(得分:2)

在此处添加一些其他信息。尽管Xcode告诉您为什么无法安装该应用程序完全无济于事,但控制台上有相当不错的错误消息。只需启动Console.app(应用程序>实用程序>控制台),然后通过installcoordinationd过滤输出即可。

它将为您提供描述错误的信息:

  

installcoordinationd -[IXSCoordinatedAppInstall _onQueue_acquireAssertionAndDoInstall] _block_invoke:标识符安装:com.acme.location-thingy uuid:blah-blah-blah-foo intent:IXCoordinatorIntentInitiing初始创建者/ appDRI:InstallCoordination Simple N状态:IXAppCoordinationStateWaitingForInstall>失败:错误域= MIInstallerErrorDomain代码= 99 “ WatchKit v3应用不允许Info.plist密钥:NSLocationUsageDescription” UserInfo = {LegacyErrorString = WatchKitAppIllegalInfoPlistKey,FunctionName =-[MIExecutableWatchedBlowleFort: ],SourceFileLine = 1841,NSLocalizedDescription = WatchKit v3应用不允许Info.plist密钥:NSLocationUsageDescription }

希望这对某人有帮助!

答案 14 :(得分:1)

如果仍然有人遇到此问题,请检查以下步骤。 当您的Info.plist中存在某些错误时,通常会发生这种情况。就我而言,有两个“支持的界面方向”条目。

按照以下步骤操作,您一定会找到解决方案。上面已经提到了大多数

  1. 模拟器>设备>删除所有内容和设置
  2. 删除重复的“支持的界面方向”条目或检查您的plist文件中是否有错误
  3. 在您的Xcode中>产品>清理构建文件夹(Cmd + Shift + K)
  4. 只需尝试构建并运行项目

希望此后您能够解决这个令人讨厌的问题。

请检查所附的参考图片 enter image description here

答案 15 :(得分:1)

我曾经遇到过同样的问题。但对我没有任何作用。然后我在我的info.Plist文件中发现了一个问题。与“编辑模式”中的“模式”名称相比,“可执行文件”名称不同。因此,请确保两者相同,然后尝试运行您的项目。它应该工作。

答案 16 :(得分:1)

在开发我的第一个WatchKit应用程序时遇到此错误。遵循@ PureRushh,@ Antonioni和其他人的指导来转储以下内容:

〜/ Library / Logs / CoreSimulator / CoreSimulator.log

日志内容导致我出错。如果其他人在开发WatchKit应用程序时遇到此错误,我将提供详细信息。

日志消息

  

com.apple.dt.Xcode [89555]:installApplication:withOptions:error :: Error Domain = IXUserPresentableErrorDomain Code = 1“ 目前无法安装此应用。” UserInfo = { NSLocalizedDescription =当前无法安装该应用。父应用程序的捆绑软件ID ,后跟“。”;预期前缀com.somecompany.AirTime。”

原因:我已经修改了与父应用的Info.plist(通过General-> Bundle Identifier)中的BundleIdentifier键相关的值,以匹配URL类型(用于SSO重定向);但是,我无法更新与WKCompanionAppBundleIdentifier键关联的WatchKit App Info.plist值(请参见第二行)。

修复:修改密钥WKCompanionAppBundleIdentifier的WatchKit App Info.plist值,以同意与父应用的包ID

答案 17 :(得分:1)

就我而言,当我从Cocoapods迁移到Carthage并将Firebase iOS SDK放在我的依赖关系中时,就会出现该消息。

当我意识到Firebase不需要成为carthage copy-frameworks阶段复制的框架之一时,此问题已解决。

有关Firebase和迦太基的更多信息,请参见official documentation

答案 18 :(得分:1)

如果您导入自定义框架,请确保自定义framework-&gt; bundle-id与currentAppProject-&gt; bundle-id不同。如果您不确定,那么只需更改当前项目的bundle-id即可。它对我有用:)

答案 19 :(得分:1)

您可能还希望在功能下查看不同的目标。我最终遇到了我的App ID问题

enter image description here

答案 20 :(得分:1)

我也遇到了这个错误。在我让Xcode更新项目设置后,这一切都开始了。特别是在我的CocoaPod子项目上。我删除了pod并重新安装它们,这解决了我的问题。希望这适用于您或其他发现此问题的人。

答案 21 :(得分:0)

就我而言,我的应用使用越南语的应用显示名称(包含一些特殊字符)。我删除了安装在模拟器中的旧应用,然后仅用字母字符更改了我的应用名称,这确实有效!

答案 22 :(得分:0)

在模拟器中自行删除您的应用程序 然后重新运行。 它对我有用。

答案 23 :(得分:0)

对我来说,将Xcode移到Applications文件夹可以解决此问题。如果您确实从网上下载了Xcode,请考虑这样做。

答案 24 :(得分:0)

当您使用不是显示名称字母的字母时,可能会发生此错误。有关更多信息,请查看此内容。 Xcode11でCould not hardlink copyってエラーが出る

答案 25 :(得分:0)

就我而言,问题是创建一个新目标,该目标与现有目标具有相同的捆绑 ID。更改后,瞧!

答案 26 :(得分:0)

我删除了〜/ Library / Logs / CoreSimulator /中的文件,但问题仍然存在。然后我擦除所有内容和设置,没关系!

答案 27 :(得分:0)

嗨,大家好,只是想让您知道以上内容都不适合我。

enter image description here

我正在忙于将动态库集成到我的项目中。我知道图书馆有效,所以我没有再三思。我所做的只是为了 删除对MyLibrary1的引用,重新编译MyLibrary1并再次嵌入 成功的构建。希望这对某人有帮助。

问候  罗尔夫

答案 28 :(得分:0)

就我而言,我试图运行一个小部件。小部件的方案设置应为: 运行->信息->可执行文件:“在启动时询问”

答案 29 :(得分:0)

当我在Xcode 10.0中为目标设置了一个空的内部版本号时,就会发生这种情况。

答案 30 :(得分:0)

您也可以从模拟器中删除应用程序,而不是重新启动模拟器。当您的应用程序准备好进行生产,然后尝试在手机上构建它时,会导致此错误。当您尝试两次构建相同的应用程序时会出现问题(这也是您在测试模式下运行时不会遇到此问题的原因)。

答案 31 :(得分:-1)

使用Xcode 9.2时遇到了这个问题。解决方案是删除应用并再次重新安装。