Xcode:“目前无法安装此应用。”


76

为学习目的使用我的第一个应用程序。一切顺利,但Xcode遇到了问题。当我尝试在iPhone模拟器上运行该应用程序时,此消息总是弹出“此应用程序目前无法安装”。

屏幕截图

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

错误消息没有给我任何信息。我可以查看另一个日志文件吗?


1
你怎么了?Xcode是越野车。退出Xcode并重新启动它通常会有所帮助。
picciano

3
哈哈!发布此帖子后,我确实找到了灵魂。错误与plist文件有关。在〜/ Library / Logs / CoreSimulator /
JoakimSjo

2
@PureRushh您能提供更多细节吗?也许将发生的事情描述为对自己问题的答案。可能会帮助别人。
马特

检查正在运行的模拟器,首先删除您的应用程序已安装。我通过这种方式解决了我的问题。
杜彦恺

强制退出模拟器并生成并运行Xcode !!
Yogesh Patel

Answers:


83

我设法找到了问题。问题是我向无效的属性列表文件添加了一些键。我通过查看位于以下位置的日志文件发现了错误:〜/ Library / Logs / CoreSimulator /


解决了我的问题,这是由于本地化由于将Info.plist放置在错误的位置而造成的。
约翰(John)2007年

1
谢谢,这真的很有帮助。也许不给我们这个无用且令人沮丧的错误消息,苹果可能建议检查模拟器日志,即使该日志留给了开发人员来确定确切的错误。
todd412

1
我的日志存在潜在的错误,因为我输入了错误的密钥Info.plist。谢谢!
罗杰斯先生

4
名为:CoreSimulator.log〜/ Library / Logs / CoreSimulator /目录中的文件。
Almas Adilbek '18

3
再次遇到这个问题。Simulator应用程序中的模拟器日志未报告任何问题。 Simulator -> Debug -> Open System Log...。只打算CoreSimulator.logtail -f ~/Library/Logs/CoreSimulator/CoreSimulator.log报告的问题。
罗杰斯先生

76

重置模拟器:

Hardware -> Erase All content and settings...

清理您的项目:

shift+ cmd+K

shift+ opt+ cmd+K

这应该可以解决您的问题


6
FWIW:我只需要清理项目即可再次安装该应用程序。
lustig

为我修复。真烦人
伊桑(Ethan)

@Ethan完全同意!我很高兴为您提供帮助
凌晨

FWIW:我只需要重置模拟器即可重新安装该应用程序:P
Bruno Ely19年

11

我知道问题已经得到解答,但是对于其他遇到相同问题的人,我建议以下几点:

  • 检查模拟器日志,如果它打印有用的东西。首先,选择模拟器,然后从菜单选项中打开Debug- > Open System Logs

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

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

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

  • 另外,某些模拟器可能有问题->只需更改模拟器,它就可以解决问题,对我来说,更改模拟器的工作原理。


1
从sim删除旧版本的应用程序对我来说是固定的。
马修·克伦肖

对我来说,问题再次出现。实际上,我正在创建Umbrella框架,而我的两个框架都具有相同的Bundle-Identifiers,更改bundle id可以永久解决我的问题。
Emy Stats

就我而言,我不知道它们有什么不同,但是Objective-C项目运行正常,但是Swift却不行
quangkid

在我的情况下,“ custom framework-> bundle-id”与目标项目相同。
穆罕默德·乌米尔

5

在〜/ Library / Logs / CoreSimulator // MobileInstallation中发现问题

WatchKit 2应用程序扩展的NSExtension.NSExtensionAttributes.WKAppBundleIdentifier值与WatchKit应用程序的包ID不匹配


谢谢你的提示。我更改了包ID后遇到了这个问题,但是由于某种原因,Apple Watch应用程序的WKAppBundleIdentifier和Apple Watch扩展ID不正确
marcomoreira92 '18

5

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


如果您尝试使用符号链接到框架,则可能会出现此错误。
sdsykes

5

我解决了这个问题,从Xcode Preferences中删除了DerivedData。并从硬件重新启动模拟器。


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

4
你能解释一下你的答案吗?
Pramod More

我认为这与Xcode缓存有关。我的错误对话框消息(此SO线程的主题)包括以下详细信息:/ caches /文件夹中找不到某些内容;我很早以前就认出了上面的命令(不确定是否要解决相同的问题)并运行它。为我解决了问题;确保保留在xcode工具箱中的有用命令。
Reece '18年

4

更改InfoPlist.strings中的CFBundleShortVersionString以匹配info.plist中的CFBundleShortVersionString为我解决了这一问题。进行此更改后,我必须使用模拟器的“擦除所有内容和设置”。

尝试在装有iOS 9.0(而不是11.2)的模拟器上启动时,出现了此错误,这使我可以找到关于相同问题的更多答案:

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


4

我在所有模拟器和所有设备上都看到了这一点。卸载该应用程序只能运行一次,但对我而言仍然失败。

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

pod deintegrate

然后重新安装:

pod install

这是XCode 9.3和iOS 11.2 / 11.3。



3

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


1
我也遇到类似的情况,删除派生数据对我也同样有效
MikeG

2

只是模拟器,然后重新开始对我有用。就我而言,如果更改捆绑标识符并随后运行iPhone X模拟器,则总是会发生错误。


2

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

将提交还原到我删除重复组的位置,然后删除正确的重复组(没有将源文件列为目标的一部分)后,我就可以构建并运行良好。


2

要在此处添加一些其他信息。尽管Xcode告诉您无法安装该应用程序的原因完全无济于事,但控制台却显示了非常好的错误消息。只需启动Console.app(“应用程序”>“实用程序”>“控制台”),然后通过过滤输出即可installcoordinationd

它会给您这样的东西来描述错误:

installcoordinationd- [IXSCoordinatedAppInstall _onQueue_acquireAssertionAndDoInstall] _block_invoke:标识符安装:com.acme.location-thingy uuid:blah-blah-blah-foo intent:IXCoordinatorIntentInitiating创建者/ appDRI:InstallCoordinationSimple SPI用户初始化:NStateIX: MIInstallerErrorDomain代码= 99 “ WatchKit v3应用程序禁止使用Info.plist密钥:NSLocationUsageDescription” UserInfo = {LegacyErrorString = WatchKitAppIllegalInfoPlistKey,FunctionName =-[MIExecutableBundle hasOnlyAllowedWatchKitAppInfoPlistKeysForWatchKitVersion:error:],SourceFileLineDescription = 1Local,应用程序FileFileDescription = Local :NSLocationUsageDescription }

希望这对某人有帮助!


2

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

〜/库/日志/CoreSimulator/CoreSimulator.log

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

日志信息

com.apple.dt.Xcode [89555]:installApplication:withOptions:error :: Error Domain = IXUserPresentableErrorDomain Code = 1“目前无法安装此应用。 ” UserInfo = {NSLocalizedDescription =目前无法安装此应用时间。,NSUnderlyingError = 0x7f9ab87d1f20 {Error Domain = MIInstallerErrorDomain代码= 101“ WatchKit 2.0应用程序的捆绑包ID com.somecompany.AirTime2.watchkitapp没有前缀为父应用程序的捆绑包ID,后跟“。”;预期前缀为com.somecompany.AirTime 。”

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

修复:修改为重点WKCompanionAppBundleIdentifier的WatchKit应用程序的Info.plist的价值认同与父应用程序的包ID


1

您可能还需要在“功能”下查找不同的目标。我最终遇到了我的App ID问题

在此处输入图片说明


1

我也收到这个错误。在让Xcode更新项目设置后不久,一切都开始了。特别是在我的CocoaPod子项目上。我卸下了吊舱并重新安装了吊舱,这解决了我的问题。希望这对您或其他发现此问题的人也有用。


1

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


1

如果要导入自定义框架,请确保自定义框架-> bundle-id与currentAppProject-> bundle-id不同。如果不确定,则只需更改当前项目的bundle-id。这个对我有用 : )


1

就我而言,该消息是在我从Cocoapods迁移到Carthage并将Firebase iOS SDK包含在我的依赖项中时出现的。

当我意识到Firebase不需要被复制到 carthage copy-frameworks阶段。

有关Firebase和Carthage的更多信息,请参阅官方文档


1

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


1

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

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

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

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

请检查所附的参考图片 在此处输入图片说明


0

使用Xcode 9.2时遇到了这个问题。解决方案是仅删除该应用程序,然后再次重新安装。


安装该应用程序后,将不允许我重新安装-因此这对我不起作用。
伊桑(Ethan)

@Ethan:为什么呢?
Jayprakash Dubey

明确地说,我没有拒绝投票。但这对我不起作用。最终的工作是重置设备并清理构建物和项目
Ethan

1
这个答案没有错,是此问题的解决方案之一。我也用它。
Yucel Bayram


0

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


0

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

在此处输入图片说明

我正在忙于将动态库集成到我的项目中。我知道该库可以正常工作,所以我没有再三考虑。我所做的只是删除对MyLibrary1的引用,重新编译MyLibrary1并再次嵌入以成功构建。希望这对某人有帮助。

问候罗尔夫


0

我删除了〜/ Library / Logs / CoreSimulator /中的文件,但问题仍然存在。然后删除所有内容和设置,一切正常!


“删除所有内容和设置”是什么意思?
罗比

1
@Robbie Simulator->硬件->删除所有内容和设置...
Yvan



0

只需在模拟器中自行删除应用程序,然后重新运行即可。它为我工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.