我们正在使用xcconfig构建和归档具有相同源代码的三个不同的应用程序
这是我的三个应用程序的捆绑包标识符。
com.mycompany.myapp.abc
com.mycompany.myapp.def
com.mycompany.myapp.xyz
ABC.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)
我们还在目标和项目的构建设置中设置了相应的变量。
我们正在更改Config.xcconfig
中的include语句,该脚本使用脚本来构建和归档 Xcode Server 机器人的预集成脚本中的三个应用之一
它可以正确存档和导出ipa-绝对可以。
但是,当我们通过手动更改 Config.xcconfig 文件中的include语句并在设备或模拟器上运行它来更改配置时,我们将收到以下错误消息(归档和导出ipa仍然可以正常工作)
此外,在项目导航器中看到产品名称消失,并以黄色圈起来
当我点击详细信息按钮时,我得到以下详细信息:
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
但是文件DEF.app存在于/ Users / myusername / library / Developer / Xcode / DerivedData / xcodeserver_demo-eioiikwpjtixmdhjnzoorrphegcs / Build / Products / Debug-iphonesimulator /
另一方面,当我们明确指定要在项目设置中使用的配置(例如DEF.xcconfig
)而不是直接在Config.xcconfig
中编辑include语句时,它将起作用(在设备上运行,归档和导出ipa )
我们曾尝试在plist中设置EXECUTABLE_NAME属性,但是它不起作用。
有人可以帮忙吗?