我刚刚下载了Xcode 6.3 beta 4,而我的WatchKit应用程序现在无法构建并出现错误:
Embedded Binary Validation Utility Error
error: WatchKit apps must have a deployment target equal to iOS 8.2 (was 8.3)
iOS应用程序和项目的部署目标实际上是7.1并且总是有,但是我们一直在使用iOS 8.3 SDK来使用我们的WatchKit组件(使用Swift 1.2)而没有使用Xcode 6.3 beta 1,2和3.此错误仅在Xcode 6.3 beta 4中出现。
其他人有此错误,并知道如何修复它?
答案 0 :(得分:100)
选择您的项目设置并转到" TARGETS"。单击Watch Kit应用程序,选择Build Settings。对于关键的" iOS部署目标"你应该找到" iOS 8.3"。出于某种原因,Xcode 6.3 Beta 4希望在iOS 8.2" for" Debug"和"发布"。现在你的项目应按预期进行构建。
XCODE 6.3版本仍然如此!
答案 1 :(得分:38)
目标 - > “appName”Watch Kit应用程序 - >搜索部署 - >在iOS 8.2上更改iOS部署目标 - >跑
答案 2 :(得分:16)
自己跑进去。似乎是Xcode 6.3 beta 4中的一个错误。
我分析了一个带有WatchKit扩展的新创建项目的project.pbxproj
文件(在文本视图中)。看起来有一个设置:
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
...我们使用早期Xcode版本创建的项目中缺少这些内容。
所以我手动将此设置复制到项目的Debug和Release配置中。这个错误消失了。
然后我又得到了一个关于我的应用和WatchKit应用目标之间版本不匹配的错误。修复此版本不匹配允许构建编译干净并运行正常。
我知道这有点笨拙,但我猜它相对安全。
在search.pbxproj文件中搜索时,您需要匹配此搜索字词:"_WatchKit_Extension"
。这应该标识应该添加新指令的区域。
Apple论坛中的讨论主题:
https://devforums.apple.com/thread/266033?tstart=0
摘自一个新项目:
4F9F32751AC2024F00673D86 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
IBSC_MODULE = Bogus_WatchKit_Extension;
INFOPLIST_FILE = "Bogus WatchKit App/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 4;
"TARGETED_DEVICE_FAMILY[sdk=iphonesimulator*]" = "1,4";
};
name = Debug;
};
4F9F32761AC2024F00673D86 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
IBSC_MODULE = Bogus_WatchKit_Extension;
INFOPLIST_FILE = "Bogus WatchKit App/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 4;
"TARGETED_DEVICE_FAMILY[sdk=iphonesimulator*]" = "1,4";
};
name = Release;
};
答案 3 :(得分:2)
在6.4中确实仍然如此; - )
所有目标必须设置为8.2
答案 4 :(得分:1)
我遇到了同样的问题“iOS Deployment Target '8.3' is newer thatn SDK 'iOS 8.2' in target YUOR_PROJECT WatchKit Extension
”
这是此问题的简单解决方案。 您可以从.xcodeproj更改目标,只需按照以下步骤操作:
就是这样。
如果你遇到像我这样的问题,它会对你有帮助。
答案 5 :(得分:0)
转到目标 - >选择Watch Kit App, 在部署更改值从8.3到
//:configuration = Debug IPHONEOS_DEPLOYMENT_TARGET = 8.2
//:configuration = Release IPHONEOS_DEPLOYMENT_TARGET = 8.2
清洁和建造。解决了问题!
答案 6 :(得分:0)
在使用Xcode 7.3.1的模拟器中遇到同样的问题并且可以通过观看App来解决它,然后转到Watch OS部署目标,在那里你可以根据你的手表选择较低版本。如果这有帮助,希望如此。