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

Ube*_*son 65 ios apple-watch watchkit 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)
Run Code Online (Sandbox Code Playgroud)

iOS应用程序和项目实际上具有7.1的部署目标并且总是有,但是我们一直在使用iOS 8.3 SDK来使用我们的WatchKit组件(使用Swift 1.2)而没有使用Xcode 6.3 beta 1,2和3.错误只出现在Xcode 6.3 beta 4中.

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

net*_*000 100

选择项目设置并转到"TARGETS".单击Watch Kit应用程序,选择Build Settings.对于关键的"iOS部署目标",您应该找到"iOS 8.3".出于某种原因,Xcode 6.3 Beta 4希望在"iOS 8.2"上使用"Debug"和"Release".现在您的项目应按预期构建.

对于XCODE 6.3版本,这仍然是正确的!

  • 仍然适用于Xcode:版本6.3.1(6D1002) (4认同)

Ira*_*lii 38

目标 - >"appName"监视工具包应用程序 - >搜索部署 - >在iOS 8.2上更改iOS部署目标 - >运行 在此输入图像描述


Dan*_*iel 16

钻进这个我自己.看起来像是Xcode 6.3 beta 4中的一个错误.

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

IPHONEOS_DEPLOYMENT_TARGET = 8.2;
Run Code Online (Sandbox Code Playgroud)

...我们使用早期Xcode版本创建的项目中缺少这些内容.

所以我手动将此设置复制到我的项目的调试和发布配置中.这个错误消失了.

然后我得到另一个错误,关于我的应用程序和WatchKit应用程序目标之间的版本不匹配.修复此版本不匹配允许构建编译干净并运行正常.

我知道这有点hacky,但我猜它是相对安全的.

在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;
        };
Run Code Online (Sandbox Code Playgroud)