WatchKit 应用的部署目标必须等于 iOS 8.2(原为 8.3)?
WatchKit apps must have a deployment target equal to iOS 8.2 (was 8.3)?
我刚刚下载了 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,而且一直都是,但我们一直在为我们的 WatchKit 组件使用 iOS 8.3 SDK(使用 Swift 1.2) 使用 Xcode 6.3 beta 1、2 和 3 没有问题。这个错误只出现在 Xcode 6.3 beta 4.
还有其他人遇到此错误并知道如何解决吗?
运行 到这个我自己。似乎是 Xcode 6.3 beta 4 中的错误。
我分析了一个带有 WatchKit 扩展的新创建项目的 project.pbxproj
文件(在文本视图中)。好像有设置:
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;
};
我遇到了同样的问题“iOS Deployment Target '8.3' is newer thatn SDK 'iOS 8.2' in target YUOR_PROJECT WatchKit Extension
”
这是针对此问题的简单解决方案。
您可以从 .xcodeproj 更改目标,只需按照以下步骤操作:
- 对您的项目或 plist 文件进行任何更改(更改 Build/version),
- Select 你修改的项目文件
- 找到“8.3”(Command+F) 并将其替换为 8.2。
- 我附上文件以供参考。
就是这样。
如果你和我有同样的问题,它会帮助你。
Select 您的项目设置并转到 "TARGETS"。单击您的 Watch Kit 应用程序,select 构建设置。对于密钥 "iOS Deployment Target",您应该找到 "iOS 8.3"。出于某种原因 Xcode 6.3 Beta 4 希望在 "iOS 8.2" 上为 "Debug" 和 "Release" 提供此功能。现在您的项目应该按预期构建。
XCODE 6.3 版本仍然如此!
转到目标 -> Select Watch Kit 应用程序,
在部署中将值从 8.3 更改为
//:配置=调试
IPHONEOS_DEPLOYMENT_TARGET = 8.2
//:配置=发布
IPHONEOS_DEPLOYMENT_TARGET = 8.2
清理并构建。问题已解决!
目标 -> "appName" Watch Kit 应用程序 -> 搜索部署 -> 在 iOS 8.2 上更改 iOS 部署目标 -> 运行
在 6.4 中仍然如此 ;-)
所有目标必须设置为 8.2
在使用 Xcode 7.3.1 的模拟器中遇到了同样的问题,可以通过查看 App 解决,然后转到 Watch OS deployment target ,在那里你可以根据你的选择较低的版本观看。希望对您有帮助。
我刚刚下载了 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,而且一直都是,但我们一直在为我们的 WatchKit 组件使用 iOS 8.3 SDK(使用 Swift 1.2) 使用 Xcode 6.3 beta 1、2 和 3 没有问题。这个错误只出现在 Xcode 6.3 beta 4.
还有其他人遇到此错误并知道如何解决吗?
运行 到这个我自己。似乎是 Xcode 6.3 beta 4 中的错误。
我分析了一个带有 WatchKit 扩展的新创建项目的 project.pbxproj
文件(在文本视图中)。好像有设置:
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;
};
我遇到了同样的问题“iOS Deployment Target '8.3' is newer thatn SDK 'iOS 8.2' in target YUOR_PROJECT WatchKit Extension
”
这是针对此问题的简单解决方案。 您可以从 .xcodeproj 更改目标,只需按照以下步骤操作:
- 对您的项目或 plist 文件进行任何更改(更改 Build/version),
- Select 你修改的项目文件
- 找到“8.3”(Command+F) 并将其替换为 8.2。
- 我附上文件以供参考。
就是这样。
如果你和我有同样的问题,它会帮助你。
Select 您的项目设置并转到 "TARGETS"。单击您的 Watch Kit 应用程序,select 构建设置。对于密钥 "iOS Deployment Target",您应该找到 "iOS 8.3"。出于某种原因 Xcode 6.3 Beta 4 希望在 "iOS 8.2" 上为 "Debug" 和 "Release" 提供此功能。现在您的项目应该按预期构建。
XCODE 6.3 版本仍然如此!
转到目标 -> Select Watch Kit 应用程序, 在部署中将值从 8.3 更改为
//:配置=调试 IPHONEOS_DEPLOYMENT_TARGET = 8.2
//:配置=发布 IPHONEOS_DEPLOYMENT_TARGET = 8.2
清理并构建。问题已解决!
目标 -> "appName" Watch Kit 应用程序 -> 搜索部署 -> 在 iOS 8.2 上更改 iOS 部署目标 -> 运行
在 6.4 中仍然如此 ;-)
所有目标必须设置为 8.2
在使用 Xcode 7.3.1 的模拟器中遇到了同样的问题,可以通过查看 App 解决,然后转到 Watch OS deployment target ,在那里你可以根据你的选择较低的版本观看。希望对您有帮助。