无法在模拟器中运行应用程序:运行时遇到错误(域= LaunchServicesError,代码= 0)


91

在Xcode 6中成功编译项目后,无法使用上述消息在模拟器中运行它。我做了所有可能的研究,尝试了一切,但仍然没有任何进展。

我使用的不是Swift,也不使用小部件或扩展名,因此,请勿提出由类似问题引起的解决方案。

如果有人发现了一个可能的原因(或解决方案!!)比其他这些,请大家帮忙。谢谢


如果您可以列出尝试排除这些建议的内容,将会很有帮助。
donmarkusi 2014年

现在,此问题已解决,但仅作为我尝试提供的信息:-运行清理-删除项目缓存/派生数据-重新启动Simulator和Xcode-重新启动Mac-重新安装Xcode-清理并重新安装CocoaPods-检查“构建设置”是否存在任何罕见情况没什么帮助。不要尝试摆弄应用程序扩展名,因为我不使用任何扩展名。
Miki

3
“产品->清洁”对我有用。
nshuman 2014年


重新启动模拟器解决了我的问题
Bhavesh '16

Answers:


175

退出解决了我的问题后,从iOS Simutalor菜单选项中选择了“重置内容和设置”并启动模拟器。

重置内容和设置


6
比初始答案更好。应该标记为解决方案。
denislexic 2015年

之后,我还需要退出并重新打开模拟器。
jfredsilva 2015年

我的答案@jfredsilva中已经提到了此要求。
Sauvik Dolui,2015年

1
如果您先前已将其安装在模拟器上,请同时删除该应用程序
danywarner

为我工作。谢谢
Nikhil Chaurasiya

125

清理构建文件夹为我解决了这个问题。希望对您有所帮助!

(在按住Alt键的同时:Product> Clean build folder


1
YA YA YA,已修复问题:D
Abo3atef

1
在我更新为使用Cocoapods和.xcworkspace之后,这对我有用。
约翰国王

3
更新到Cocoapods v1.0.0
Anconia'May

只需添加一下,这是在更新为Cocoapods v1.0.0之后为我解决此问题的唯一内容。其他SO答案均无效。
安迪·赖斯

工作,我很高兴
anavarroma

33

我尝试了这里列出的所有其他解决方案。好吧,我将项目从Swift 1.2移植到了Swift 2.0。即使在报告大量调试和启动服务错误0之后,该应用程序仍被卡住。

解决方案:之所以发生是因为框架编译。

应用程序目标->构建阶段->嵌入框架。

因此,仅在安装时标记副本。清理项目并运行它!

在此处输入图片说明


您能否进一步说明“仅在安装时复制”可解决该问题?
sethfri

@ sethfri:“仅在安装时复制”以指定构建阶段仅在产品的安装版本中复制文件。 developer.apple.com/library/mac/recipes/…–
AG

3
我了解“仅在安装时复制”一词的含义。我在问这如何解决问题作者所面临的问题。
sethfri

28

现在已经解决了。该问题是由CocoaPods出于兼容性原因而添加的ShareKit库引起的。删除该库和所有相关代码后,该应用程序已成功在模拟器中启动。我建议检查系统日志以获取有关该问题的更多详细信息,因为它为我指明了正确的方向(指出发生冲突的库的名称)。


我刚刚添加了shareKit,但我遇到了同样的问题。
dirkoneill 2014年

24
如果这可以帮助任何人:您可以通过在Spotlight中键入Console来访问系统日志。
内特·库克

对我来说是MixpanelAppExtension
villy393 '16

谢谢,这帮助了我。XCode 7.3.1和我的日志显示“ ErrorDescription =无法硬链接复制”。我在目标->常规->身份中设置了版本,但未设置内部版本号。一旦包含了Build的值,问题就消失了。
威廉·史密斯

要检查系统日志,请在终端中尝试以下命令:tail -f /var/log/system.logiOS Simulator直接打印到stdout,因此您可以看到日志与系统日志混合在一起。
vhong 2016年

16

如果有人将这个问题与可可豆荚结合使用,这些步骤可以帮助我解决此错误(几个小时后):

  • pod cache clean
  • 从SRC_ROOT运行rm -rf Pods(可选rm Podfile.lock
  • 单击模拟器应用程序,单击模拟器->重置内容和设置...
  • 进入Xcode,在菜单栏中单击Product-> Clean(或单击Shift + Command + K),这将清除Xcode项目。
  • 创建一个新的终端外壳(在菜单栏中单击外壳->新窗口)
  • rm -rf ~/Library/Developer/Xcode/DerivedData/

...然后尝试构建并运行您的项目。

注意: SRC_ROOT可以通过以下方式找到:进入导航器,单击项目,从项目和目标列表中再次单击项目,进入“ 构建设置”,一直滚动到底部到“ 用户定义的部分”,然后滚动到SRC_ROOT将被标记为PODS_ROOT。将其复制并复制到终端中,然后从上面的列表继续执行步骤2。

希望能帮助到你。


2
做到了。谢谢!确实应该是公认的答案。
Dan Loewenherz

那解决了我的问题!绝对是应该接受的答案!
Victor Oliveira Antonino

15

我通过给定的模拟器步骤摆脱了这个问题

1.方式

  1. 重置模拟器的内容和设置。
  2. 通过Cmd + Shift + K清理项目。
  3. 清除您的派生数据
  4. 最后一个更重要的是通过“ com.yourcompanyname.projectname”(例如“ com.facebook.Facebook”)更改您的捆绑包标识符

2种方法

你只能做给定的行,对我有用

最后一个更重要的是通过“ com.yourcompanyname.projectname”(例如“ com.facebook.Facebook”)更改您的捆绑包标识符

谢谢,喜欢编程。


你的意思cmd不是win?;)(或者也许您使用Windows键盘。)
JeroenJK 2016年

@JeroenJK是的Cmd。
Dharmbir Singh

哇,捆绑包ID更改最终对我有用。谢谢!
ArtSabintsev

6

可能与此问题有关:“此应用程序包含带有非法捆绑包标识符的应用扩展程序”问题

我必须按如下所示格式化我的应用和扩展程序的捆绑包标识符:

com.company.AppName
com.company.AppName.Extension

同样在这里。我更改了包标识符,因为未显示扩展名(小部件),并导致了它。必须将扩展版本从9.2降低到8.2,并如上所述更改捆绑软件。

谢谢,正是我的问题!
安德烈斯(Andres)2016年

5
  1. 第一个“重置内容和设置”
  2. 如果您没有填写内部版本号,请填写并运行。

为我解决了。


4

如果InterfaceController在启动新项目时默认情况下更改了提供的类集的名称。该类Info.plist在键下引用RemoteInterfacePrincipalClass。就我而言,直到在其中固定类的名称之前,我都收到了OP提到的错误(请参见屏幕截图)。

Info.plist:设置主体类


真的有帮助!谢谢!
隆基2015年

2

如果在与WatchOS 2.0集成时遇到问题,请转至- ~/Library/Logs/CoreSimulator/[Device UDID]/system.log,如果显示类似信息,请WatchKit 2 app has frameworks; that's not allowed.按照下面的链接进行操作。

http://zyafa.me/blog/watchos-2-and-embedded-frameworks


1
感谢您将我指向模拟器日志文件。在我的情况下,在日志文件中 ~/Library/Logs/CoreSimulator/CoreSimulator.log透露,我的联系框架没有一个CFBundleIdentifier在其Info.plist中
贝尔比

框架的Info.plist中没有CFBundleIdentifier:我也得到了解决方案?不在watchkit或watchOS上使用
Abhishek Thapliyal

1

我是adMob用户,我解决了在应用程序目标->构建阶段->嵌入框架中启用“仅在安装时复制”的问题。


1

本地化我的应用程序后有同样的问题。特别是Info.plist。看来我只好空CFBundleShortVersionStringInfoPlist.strings,固定的模拟器开始正常工作后。


那也是我的问题。如果看到该错误,请尝试从InfoPlist.strings文件中删除所有不需要本地化的键。以我
为例,

1

我通过添加名为“ Resources”的文件夹引用来解决此问题。

如果我给它起另一个名字,它将运行!


1
这个解决了我一个类似的问题!我嵌入了dylib,这导致了一个神秘的“ Info.plist中没有CFBundleIdentifier”安装错误。将Resources文件夹更改为其他文件夹后,它又开始工作
Sagi Iltus

两只鸟和一块石头;)

1

有很多因素会导致此错误。最好的一般答案是在控制台日志中搜索CoreSimulator,因为模拟器在显示此消息时会记录潜在的问题。


1

感谢您向@Miki表示感谢。我昨天遇到了与您相同的问题(几天前,我将CocoaPods的ShareKit 3.0.0添加到了该应用程序中)。我怀疑ShareKit会给我带来这个问题,但是现在我可以确切地确定是哪个库导致了此问题。这是我在日志中找到的内容(如果它可以使他人受益):

Error Domain = LaunchServicesError代码= 0“无法完成操作。(LaunchServicesError错误0。)” UserInfo = 0x7fa836097aa0 {Error = PackageInspectionFailed,ErrorDescription =无法从路径/ Users / {UserName} /的捆绑包加载Info.plist。库/开发人员/ CoreSimulator /设备/99FEB34E-6F00-4EFA-861A-A6985AFE96D8/data/Library/Caches/com.apple.mobile.installd.staging/temp.X7eead/extracted/{AppName}.app/Frameworks/LiveSDK。框架}


1
从您的日志中,您如何知道ShareKit导致该错误?
Chipbk10 2014年

1
我的日志中有相同的内容,但是删除模拟器并将其添加回并没有帮助...您如何解决错误?
阿米泰

1

如果您CocoaPods在打开XCode的同时安装了任何库,则只需关闭XCode并从Pod文件中删除该库,然后运行命令即可pod install卸载该库。然后再次安装库。在安装和卸载库时,请确保XCode始终关闭。


0

我遇到了完全一样的问题,那就是ShareKit。

在模拟器上,我有“ Error Domain = LaunchServicesError Code = 0”。

在iPhone6设备上,我遇到“应用程序安装失败,无法检查应用程序包”。

当我删除ShareKit时,它起作用了。


0

当我将Apple Watch目标添加到我的应用程序时,意外地删除了InterfaceController.m文件时遇到了这个问题。在目标中重新添加文件可解决此问题。


0

有不同的原因可以导致此。在控制台中查看可能会给您一个线索。

就我而言-问题是在我更改产品名称之前构建的扩展。Xcode并没有清除旧版本,然后在具有相同bundle id的两个扩展上感到压力。

(删除构建文件夹解决了我的特定问题)。


0

就我而言,问题来自添加了一些图像缺失的图标集。一旦我将图标集替换为另一个图标集,并在模拟器中卸载了该应用程序;我能够再次运行它。


0

我删除了所有pod文件并全部替换了它们,对我来说问题似乎是bolts框架过旧,并导致了此错误。我做了一个干净的重置内容,现在一切都很好。


0

不要将google maps框架添加到嵌入式lib部分,这可以解决我的构建中断问题。


删除不必要的嵌入式框架也解决了我的问题
manman 2016年

0

在添加Info.plist后,在为Apple Watch开发应用程序时出现此错误:“应用程序传输安全设置”和“允许套利负载” =是。(在WatchKit App中,在WatchKit Extension中很好!!)删除这两行,它将继续工作。

在此处输入图片说明


0

对我来说,出现问题是因为我将我的框架(GoogleMobileAds.framework在我的情况下)添加到了Embedded Binaries,而不是Linked Frameworks和Libraries

仅供参考,AdMob指示您使用Add Files to "Your Project"Xcode上的菜单,但是我很懒于听从指示。


0

尝试在包含AWS Cognito的项目中运行UI测试时遇到此问题。

这是我解决的方法。

  1. 选择UI测试目标。
  2. 单击“构建阶段”部分。
  3. 单击加号以添加“复制文件”阶段 添加复制文件阶段
  4. 在“复制文件”阶段,将目标更改为“框架”(请参阅​​最后一个图像)
  5. 点击“复制文件”阶段下面的加号。
  6. 选择要收到错误的框架,然后单击“添加”按钮(您可能不会在项目层次结构中成为第一项)。 选择要复制的框架 它最终应该看起来像这样。 最后结果
  7. 对所有框架重复步骤5和6,给您一个错误。
  8. 运行测试。
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.