2015-03-24 1 views
64

Я скачал Xcode 6.3 бета 4, и мое WatchKit приложение теперь не в состоянии построить с ошибкой:В приложениях WatchKit должна быть установлена ​​цель развертывания, равная iOS 8.2 (было 8.3)?

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.

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

+1

Я нахожу то же самое. Теперь вернемся к Beta 3. –

ответ

99

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

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

+0

Я сделал это, и он сработал, но не смог найти, было ли это Debug или Release. Я только нашел это в одном месте, где я его изменил. Как выбрать Debug или Release? – alondono

+0

Вам нужно выбрать стрелку рядом со строкой, чтобы развернуть ее, чтобы показать Debug и Release. – Aron

+4

все еще верно для Xcode: версия 6.3.1 (6D1002) –

16

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

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

IPHONEOS_DEPLOYMENT_TARGET = 8.2; 

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

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

Затем я получил еще одну ошибку о несоответствии версии между моим приложением и целевым объектом 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; 
     }; 
+0

Рад узнать, что это не только я, и похоже, что это сработает. Я думаю, что сейчас я просто вернусь к бета-версии 3 и посмотрю, есть ли исправление. – UberJason

1

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

0

Перейти к цели -> Select Watch Kit App, При значении изменения развертывания от 8,3 до

// Конфигурация = Debug IPHONEOS_DEPLOYMENT_TARGET = 8,2

// Конфигурация = Release IPHONEOS_DEPLOYMENT_TARGET = 8,2

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

38

Target -> "APPNAME" Часы Kit App -> Поиск Deployment -> Изменение IOS Развертывание Target на прошивке 8.2 -> запустить enter image description here

2

Поразительно еще верно в 6,4 ;-)

Всех целей должны должно быть установлено в 8.2

0

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

Смежные вопросы