在配置配置文件出现问题后,我无法在模拟器中运行我的应用。我在Xcode 6 - beta 4中进行快速编码。在证书的配置文件出现问题之前,这很好。
我试过清理构建。 检查命令行到xCode6-beta4以便运行。 检查了构建部署,设置为7.0,因此很快就不会抱怨兼容性 修复了配置中的错误。
答案 0 :(得分:62)
我通过重置模拟器来修复它:
iOS模拟器>重置内容和设置...
答案 1 :(得分:60)
如果您的扩展程序的捆绑包ID不以您应用的捆绑包ID作为前缀,则会发生这种情况。例如,如果您的应用是com.mycompany.appname
,则您的扩展程序应该类似于com.mycompany.appname.today
要注意的是,如果您正在使用Swift并且正在设置NSExtensionPrincipalClass
的主要类,那么您需要确保扩展目标将“定义模块”设置为“是”并创建值NSExtensionPrincipalClass
等于“YourModuleName.YourClassName”。
答案 2 :(得分:14)
似乎有多种原因导致" domain = LaunchServicesError code = 0"错误。我也遇到过它,而我尝试在iOS8模拟器上重新安装应用程序。我无法重新安装,但必须先删除旧应用。
问题解决了:
在Xcode中,在Target-> General-> Identity
在模拟器中,重置内容和设置...
之后,一切正常。
答案 3 :(得分:11)
当您从Today小部件的模板创建项目中删除默认StoryBoard时,也会发生这种情况。为了解决这个问题,我在NSExtensionPrincipalClass
下添加了NSExtension
,并将其指向包含Today Widget View Controller的类,该控件默认为模板TodayViewController
。
在扩展名的Info.plist中看起来像这样:
NSExtension
NSExtensionPointIdentifier String com.apple.widget-extension
NSExtensionPrincipalClass String TodayViewController
答案 4 :(得分:9)
产品 - >清洁
iOS模拟器>重置内容和设置
重启XCode
答案 5 :(得分:8)
以上都不适用于我,但删除派生数据解决了这个问题。
要删除派生数据,请转到窗口>单击项目,选择当前项目,然后按相应的删除按钮。
答案 6 :(得分:6)
&#34;重置 iOS Simutalor 菜单选项中的内容和设置&#34; ,并在退出解决了我的问题后启动模拟器。< / p>
答案 7 :(得分:5)
我的解决方案不是嵌入一个尚未构建为可嵌入框架的框架。
答案 8 :(得分:4)
找到问题的原因。
我通过pod使用ShareKit。此问题与ShareKit使用的GooglePlus SDK有关,并且由于Apple的政策更改,此问题必须更新。 http://googledevelopers.blogspot.com.br/2014/09/an-important-announcement-for-ios.html
所以我更换了我的pod&#34; ShareKit&#34;用:
pod&#34; ShareKit / Twitter&#34;
pod&#34; ShareKit / Facebook&#34;
pod&#34; ShareKit / Pocket&#34;
pod&#34; ShareKit / Evernote&#34;
退出GooglePlus子项目,该应用程序已部署并在8.0模拟器下正常运行。
希望这有助于其他人。
答案 9 :(得分:1)
我已经解决了这个问题。谢谢你的建议。 :)
当您使用与主捆绑包具有相同标识符的键盘扩展程序应用程序构建时,始终会发生此问题。像这样。
如果你的主包中有这个“com.codemagnus.ExAppMain”,你的扩展名也应该有这个标识符“com.codemagnus.ExAppMain”..如果要在模拟器中运行,这将导致启动服务错误。但是你可以创建一个构建。但是,我发现的问题很烦人。此应用无法安装在您的设备中。 :/
如果你想在模拟器中运行。您应该在扩展键盘中使用此“com.codemagnus.ExAppMain.ExApp”,其中ExApp是您的扩展名。你的主要包应该是“com.codemagnus.ExAppMain”..这将与模拟器完美地运行。但是会导致“嵌入式二进制文件包标识符不以父应用程序的包标识符为前缀。”
嵌入式二进制捆绑包标识符:com.codemagnus.ExAppMain.ExApp 父应用程序包标识符:com.codemagnus.ExAppMain
我仍在思考并寻找解决方案来解决ipa构建的这个问题。
答案 10 :(得分:1)
这让我发疯了。我检查了这里建议的一切,重新安装Xcode,重新启动我的电脑,没有任何工作。在检查了一些先前的提交后,我发现了这个问题。
对于上下文,我正在使用Objective C中的自定义键盘扩展。添加一个新的自定义键盘扩展目标为您提供一个KeyboardViewController
存根类,其中包含&#34;下一个键盘&#34;按钮。我将扩展程序NSExtensionPrincipalClass
中的Info.plist
值更改为与KeyboardViewController
不同的类名,并开始处理它。最终我决定摆脱存根KeyboardViewController
,因为它是死代码。
删除KeyboardViewController
文件并将其从Xcode中删除会导致此问题发生。把它们放回来使应用程序再次运行。
答案 11 :(得分:1)
就我而言,这解决了这个问题。
捆绑标识符不应为空。您可以在以下参考中找到该字段:
答案 12 :(得分:0)
要了解导致此错误的原因,您需要先查看模拟器日志文件。这些通常位于~/Library/Logs/CoreSimulator/CoreSimulator.log
或类似位置。因此,我强烈建议您首先查看日志以确定根本原因,然后进一步研究。 (您可以查看this thread以查看日志的位置。)
例如,如果您收到ErrorDescription=Failed to chmod /Users/username/Library/Developer/CoreSimulator/Devices/
之类的错误,那么重置模拟器可能最容易。对于ErrorDescription=WatchKit 2 app's bundle ID com.mydomain.AppName.watchapp is not prefixed by the parent app's bundle
之类的错误,您可能会错误地设置项目的主包ID。
答案 13 :(得分:0)
我在启动应用程序时遇到了类似的错误,通过xCode,&#34;父包具有与子包相同的标识符...&#34;
我缩短了&#34;项目中的Bundle Identifier - &gt;一般&#34;对于xCode8。最初,我的包ID是com.companyname ..
应用程序名称超过20个字符。一旦我缩短了12个字符,它对我有用。
答案 14 :(得分:0)
如果您使用除了捆绑包标识符之外的Apple Watch,您还必须确保在info.plist中,密钥WKAppBundleIdentifier包含正确的监视应用程序包标识符。
答案 15 :(得分:0)
Xcode 7.3
这可能只是因为您的目标名称太长而发生。尝试将目标名称更改为更短的内容(请记住更改bundleIdentifier以匹配)。
答案 16 :(得分:0)
确保检查构建设置;向下滚动到最底部,确保用户定义的Bundle前缀正确。通常com.whatever。
只需将其设置在顶部并不会始终更改此底部设置。重置模拟器,煎炸衍生文件夹等后,这最终对我有用。
我在IOS 9.3下,xCode 7.3
答案 17 :(得分:0)
当我将部署目标从6.0更改为7.0时,我开始收到此错误。我发现重置模拟器确实解决了这个问题,我需要为所有与应用程序相关的模拟器执行此操作。但是,如果我回到6.0并重新编译任何特定的模拟器,那么它立即工作,但再次到7.0打破了模拟器,我不得不再次清除设置。
显然,部署目标影响模拟器中的编码,编码向下兼容,但不向上。此外,日志消息并不是非常有用,说使用清单无法将应用程序硬链接到缓存文件(当然,将路径名提供给应用程序,缓存和清单)。
答案 18 :(得分:0)
我收到此错误是因为我错误地更改了NSExtensionPointIdentifier
的值。我认为它应该是我的扩展程序的ID,但它必须是these values中的一个,表示它的扩展类型。