WatchKit应用程序的部署目标必须等于iOS 8.2(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的部署目标,并且总是有,但是我们一直在使用Xcode 6.3 beta 1,2和3,没有问题地使用我们的WatchKit组件(使用Swift 1.2)的iOS 8.3 SDK。错误只出现在Xcode 6.3 beta 4中。

任何人都有这个错误,并知道如何解决它?

select您的项目设置,然后转到“目标”。 点击你的Watch Kit App,selectBuild Settings。 对于关键的“iOS部署目标”,你应该find“iOS 8.3”。 出于某种原因,Xcode 6.3 Beta 4希望在“Debug”和“Release”的“iOS 8.2”上有这个function。 现在你的项目应该按预期构build。

XCODE 6.3发行版仍然如此!

目标 – >“appName”观看套件应用程序 – >search部署 – >更改在iOS 8.2 iOS部署目标 – >运行 在这里输入图像说明

自己跑进这个。 看起来像Xcode 6.3 beta 4中的一个bug。

我分析了使用WatchKit扩展的新创build项目的project.pbxproj文件(在文本视图中)。 看起来有一个设置:

 IPHONEOS_DEPLOYMENT_TARGET = 8.2; 

…这是从我们早期的Xcode版本创build的项目中缺less的。

所以我手动将此设置复制到我的项目的debugging和发布configuration。 这个错误消失了。

然后我得到了另一个关于我的应用程序和WatchKit应用程序目标之间的版本不匹配的错误。 修复这个版本的不匹配,使编译干净,运行良好。

我知道这有点不好意思,但我猜这是相对安全的。

在searchproject.pbxproj文件时,您需要匹配这个search词: "_WatchKit_Extension" 。 这应该确定附近应该添加新指令的区域。

苹果论坛的讨论主题:

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; }; 

令人惊讶的仍然是在6.4 😉

所有目标必须设定为8.2

我正面临着同样的问题“ iOS Deployment Target '8.3' is newer thatn SDK 'iOS 8.2' in target YUOR_PROJECT WatchKit Extension

这是这个问题的简单解决scheme。 您可以从.xcodeproj更改目标,只需按照以下步骤操作:

  1. 做你的项目或plist文件(更改生成/版本)的任何更改,
  2. select您的修改的项目文件
  3. find'8.3'(Command + F)并用8.2replace它。
  4. 我已附上档案供参考。

而已。

它会帮助你,如果你有像我一样的问题。

在这里输入图像说明

转到目标 – >select观察套件应用程序,部署更改值从8.3到

//:configuration=debuggingIPHONEOS_DEPLOYMENT_TARGET = 8.2

//:configuration =发布IPHONEOS_DEPLOYMENT_TARGET = 8.2

清理和build立。 问题解决了!

在Xcode 7.3.1模拟器中遇到同样的问题,可以通过观看App来解决,然后转到Watch OS部署目标,在那里你可以根据你的手表select较低的版本,如果有帮助的话。