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



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

492   7  

7 ответов:

выберите настройки проекта и перейдите в раздел "Цели". Нажмите на приложение Watch Kit, выберите параметры сборки. Для ключа " цель развертывания iOS "вы должны найти"iOS 8.3". По какой-то причине Xcode 6.3 Beta 4 хочет иметь это на "iOS 8.2" для "отладки" и "выпуска". Теперь ваш проект должен построить, как ожидалось.

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

цель -> "имя_приложения" набор вахты приложения -> развертывание -> поиск цели развертывания меняться с iOS на iOS 8.2 -> запускаем enter image description here

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

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

IPHONEOS_DEPLOYMENT_TARGET = 8.2;

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

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

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

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

при поиске по проекту.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;
        };

удивительно все еще верно в 6.4 ;-)

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

я столкнулся с той же проблемой "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. я прикрепил файл для справки.

вот и все.

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

enter image description here

перейти к цели - > выберите приложение Watch Kit, В разделе развертывание измените значение с 8.3 на

//:настройки = отладка IPHONEOS_DEPLOYMENT_TARGET = 8.2

//:настройки = релиз IPHONEOS_DEPLOYMENT_TARGET = 8.2

"очистить и построить". Проблема Решена!

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

Comments

    Ничего не найдено.