我自己也遇到了这个。似乎是 Xcode 6.3 beta 4 中的一个错误。
我分析了project.pbxproj
一个带有 WatchKit 扩展的新创建项目的文件(在文本视图中)。看起来有一个设置:
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
...这是我们使用早期 Xcode 版本创建的项目所缺少的。
所以我手动将此设置复制到我的项目的调试和发布配置中。这个错误消失了。
然后我收到另一个关于我的应用程序和 WatchKit 应用程序目标之间版本不匹配的错误。修复此版本不匹配允许构建编译干净并运行良好。
我知道这有点hacky,但我猜它相对安全。
搜索 project.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;
};