Мы создаем и архивируем три разных приложения с одинаковым исходным кодом, используя xcconfig
Вот идентификаторы пакетов моих трех приложений.
com.mycompany.myapp.abc
com.mycompany.myapp.def
com.mycompany.myapp.xyz
Содержимое AB C .xcconfig
APP_BUNDLE_IDENTIFIER = com.mycompany.myapp.abc
IS_PROVISIONING_PROFILE_SPECIFIER = ABC Development
SIGNING_CERTIFICATE = Apple Development: XXXX XXXX (xxxxxxxxxx)
DEVELOPMENT_TEAM = XXXXXXXXXX
IS_APP_NAME = ABC
Содержимое DEF.xcconfig
APP_BUNDLE_IDENTIFIER = com.mycompany.myapp.def
IS_PROVISIONING_PROFILE_SPECIFIER = DEF Development
SIGNING_CERTIFICATE = Apple Development: XXXX XXXX (xxxxxxxxxx)
DEVELOPMENT_TEAM = XXXXXXXXXX
IS_APP_NAME = DEF
Содержимое XYZ.xcconfig
APP_BUNDLE_IDENTIFIER = com.mycompany.myapp.xyz
IS_PROVISIONING_PROFILE_SPECIFIER = XYZ Development
SIGNING_CERTIFICATE = Apple Development: XXXX XXXX (xxxxxxxxxx)
DEVELOPMENT_TEAM = XXXXXXXXXX
IS_APP_NAME = XYZ
Содержание основного Config.xcconfig
#include "DEF.xcconfig"
APP_BUNDLE_IDENTIFIER = $(APP_BUNDLE_IDENTIFIER)
IS_PROVISIONING_PROFILE_SPECIFIER = $(IS_PROVISIONING_PROFILE_SPECIFIER)
SIGNING_CERTIFICATE = $(SIGNING_CERTIFICATE)
DEVELOPMENT_TEAM = $(DEVELOPMENT_TEAM)
IS_APP_NAME = $(IS_APP_NAME)
Мы также установили соответствующие переменные в настройках сборки в цели и проекте.
Мы меняем Оператор include в Config.xcconfig
с использованием сценария для создания и архивирования одного из трех приложений в Xcode Server сценарий предварительной интеграции бота
Он правильно архивирует и экспортирует ipa - абсолютно нормально .
Но, когда мы меняем конфигурацию, вручную изменяя оператор include в файле Config.xcconfig и запускаем его на устройстве или симуляторе, мы получаем следующую ошибку (Архивирование и экспорт ipa все еще работает абсолютно фи ne).
Также см. название продукта исчезает в навигаторе проекта, обведенном желтым кружком
When I clicked on Details button I get following details:
Details
Cannot launch simulated executable: no file found at
/Users/myusername/Library/Developer/Xcode/DerivedData/xcodeserver_demo-eioiikwpjtixmdhjnzoorrphegcs/Build/Products/Debug-iphonesimulator/.app
Domain: IDEFoundationErrorDomain
Code: 1
But the file DEF.app present in /Users/myusername/Library/Developer/Xcode/DerivedData/xcodeserver_demo-eioiikwpjtixmdhjnzoorrphegcs/Build/Products/Debug-iphonesimulator/
On the other end, when we explicitly specify which config (e.g DEF.xcconfig
) to use in project settings instead of directly editing include statement in Config.xcconfig
it works (Run on device, archiving and exporting ipa)
введите описание изображения здесь
Мы пытались установить свойство EXECUTABLE_NAME в списке, но это не сработало.
Кто-нибудь может помочь?