Приложения 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 и всегда имели, но мы без проблем работали с iOS 8.3 SDK для нашего компонента WatchKit (используя Swift 1.2), используя Xcode 6.3 beta 1, 2 и 3. Это ошибка возникла только с Xcode 6.3 beta 4.

У кого-нибудь еще есть эта ошибка, и кто знает, как ее исправить?


person UberJason    schedule 24.03.2015    source источник
comment
Я бью то же самое. Откат на Beta 3.   -  person Javier Soto    schedule 25.03.2015


Ответы (7)


Выберите настройки вашего проекта и перейдите в «ЦЕЛИ». Щелкните приложение Watch Kit и выберите «Параметры сборки». Для ключа «Цель развертывания iOS» вы должны найти «iOS 8.3». По какой-то причине Xcode 6.3 Beta 4 хочет, чтобы это было в «iOS 8.2» для «Отладка» и «Выпуск». Теперь ваш проект должен быть построен так, как ожидалось.

Это по-прежнему актуально для версии XCODE 6.3!

person netshark1000    schedule 13.04.2015
comment
Я сделал это, и это сработало, но я не мог определить, была ли это отладка или выпуск. Я нашел это только в одном месте, где и поменял. Как я могу выбрать отладку или выпуск? - person alondono; 16.04.2015
comment
Вам нужно щелкнуть стрелку рядом со строкой, чтобы развернуть ее, чтобы отобразить отладку и выпуск. - person Aron; 29.04.2015
comment
глупый вопрос ... как мне установить 8.2 SDK? У меня здесь только 8.3 ... и не могу найти, где установить 8.2 :( - person Georg; 26.06.2015
comment
@Georg Щелкните Xcode на верхней панели инструментов, затем выберите "Настройки", затем вкладку "Загрузки". Вы должны увидеть ее в разделе "Компоненты". - person 4GetFullOf; 11.08.2015
comment
См. Решение №1 по адресу stackoverflow.com/questions/29594985/. Я выбрал «Настройки проекта» ... и в упрощенном пользовательском интерфейсе не было достаточно опций, чтобы двигаться дальше. - person Christos Hayward; 12.09.2015

Target -> "appName" Watch Kit App -> поиск по развертыванию -> изменить цель развертывания iOS на iOS 8.2 -> запустить введите  описание изображения здесь

person Iraklii    schedule 25.04.2015

Сам наткнулся на это. Похоже на ошибку в Xcode 6.3 beta 4.

Я проанализировал project.pbxproj файл (в текстовом виде) только что созданного проекта с расширением WatchKit. Похоже, есть настройка:

IPHONEOS_DEPLOYMENT_TARGET = 8.2;

... который отсутствует в наших проектах, созданных с помощью более ранних версий Xcode.

Поэтому я вручную скопировал этот параметр в конфигурации отладки и выпуска моего проекта. Эта ошибка исчезла.

Затем я получил еще одну ошибку о несоответствии версий моего приложения и целевого приложения WatchKit. Исправление этого несоответствия версий позволило сборке скомпилировать и запустить нормально.

Я знаю, что это немного взломано, но думаю, что это относительно безопасно.

При поиске в файле 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;
        };
person Daniel    schedule 25.03.2015
comment
Рад знать, что это не только я, и похоже, что это сработает. Я думаю, что сейчас просто вернусь к бета-версии 3 и посмотрю, появится ли исправление. - person UberJason; 25.03.2015

Удивительно, но и в 6.4 ;-)

Все цели должны быть установлены на 8,2.

person Jim Malak    schedule 10.07.2015

Я столкнулся с той же проблемой "iOS Deployment Target '8.3' is newer thatn SDK 'iOS 8.2' in target YUOR_PROJECT WatchKit Extension"

Вот простое решение этой проблемы. Вы можете изменить цель с .xcodeproj, просто выполните следующие шаги:

  1. Внесите какие-либо изменения в свой проект или файл plist (измените сборку / версию),
  2. Выберите измененный файл проекта
  3. Найдите «8.3» (Command + F) и замените его на 8.2.
  4. Я прикрепил файл для справки.

Вот и все.

Это поможет вам, если у вас такая же проблема, как у меня.

введите описание изображения здесь

person Ashvin A    schedule 06.04.2015

Перейдите в Target -> Select Watch Kit App, при развертывании измените значение с 8,3 на

//: конфигурация = Отладка IPHONEOS_DEPLOYMENT_TARGET = 8.2

//: конфигурация = Выпуск IPHONEOS_DEPLOYMENT_TARGET = 8.2

Убрать и построить. Задача решена!

person Suhail Bhat    schedule 13.04.2015

Испытывал ту же проблему в симуляторе с Xcode 7.3.1 и мог решить ее, перейдя в приложение для просмотра, затем перейдите к цели развертывания ОС, там вы можете выбрать более низкую версию на основе ваших часов. Надеюсь, если это поможет.

person IsPha    schedule 26.06.2016