如何使扩展程序可用于多个应用目标?

时间:2018-07-24 15:43:46

标签: ios xcode

我有一个iOS App目标,对所有人开放给公众商店,一切都很好。 我在项目中有2个扩展名,包括该iOS App目标的标识符中的捆绑包标识符。

现在,我复制了第一个应用程序目标,对B2B和MDM的使用进行了一些更改,但我想使用相同的扩展名,而不必每次更改构建目标时都更改其捆绑包标识符,并且我不如果可以避免的话,也想使用不同的包标识符来复制它们。

视觉示例: enter image description here

基本上,我想避免将第二个目标的代码交付给第一个目标的用户,因为毕竟,少数群体需要这些更改。

我在App组中进行了尝试,但这似乎无济于事。

是否有办法使扩展程序对两个App目标均有效?

1 个答案:

答案 0 :(得分:0)

您有以下选择:

1。 您可以复制扩展名,从开发人员门户提供ID或让Xcode自己添加扩展名,然后将目标标识符更改为新目标。

2。 另一种方法是,将方案的构建操作上的扩展束标识更改为当前所需的扩展束标识。 如果要使用PlistBuddy,则可能看起来像这样:

/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier fullBundleIdOfExtension" $PROJECT_DIR/Extension\ Directory/Info.plist

fullBundleIdOfExtension类似于com.company.application.extension

这种方法有时会在目标切换后在构建上引起错误,显示无法安装该应用程序的对话框。这要求您执行干净的构建并重新构建。