WatchKit应用程序的部署目标必须等于iOS 8.2(8.3)?

时间:2015-03-24 20:17:44

标签: ios watchkit apple-watch xcode6.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并且总是有,但是我们一直在使用iOS 8.3 SDK来使用我们的WatchKit组件(使用Swift 1.2)而没有使用Xcode 6.3 beta 1,2和3.此错误仅在Xcode 6.3 beta 4中出现。

其他人有此错误,并知道如何修复它?

7 个答案:

答案 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部署目标 - >跑 enter image description here

答案 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更改目标,只需按照以下步骤操作:

  1. 对项目或plist文件进行任何更改(更改Build / version),
  2. 选择已修改的项目文件
  3. 找到'8.3'(Command + F)并将其替换为8.2。
  4. 我附上了文件以供参考。
  5. 就是这样。

    如果你遇到像我这样的问题,它会对你有帮助。

    enter image description here

答案 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部署目标,在那里你可以根据你的手表选择较低版本。如果这有帮助,希望如此。