0

我们的应用程序基于 Ionic 4(带有 Capacitor 和 Angular),并提供不同的样式,每个客户都有一个样式。每个客户在商店里都有他专用的应用程序(不同的捆绑 ID、图标、飞溅......)。

在 Angular 构建期间,会生成一个包含捆绑 ID、资产名称的属性文件……我使用 Plist 文件的预处理器来处理捆绑版本和内部版本号,但我无法自定义 ID 和资产姓名。实际上,要么 Xcode 抱怨我的应用程序没有证书,要么应用程序已归档,但捆绑包 ID 为空。

Xcode 10/11 有没有办法实现这一点?理想情况下,它应该在 Ionic AppFlow 上工作,并通过读取属性文件的脚本进行自定义。

我知道 appflow 使用 Fastlane 并且有一个插件来自定义这个 id,但是没有文档解释我们是否可以在 AppFlow 上使用我们自己的 Fastlane 配置?


第一次尝试,通过预处理器注入 bundle id。文件 Info.plist 包含:

<key>CFBundleIdentifier</key> <string>EMA_APP_ID</string>

预处理器包含:

echo "#define EMA_APP_ID ${APP_ID}" >> $PRE_PROCESSING_FILE

错误看起来像:https ://photos.app.goo.gl/Qn9iXWeUAyWAegSM7


谢谢你,塞巴斯蒂安。

4

2 回答 2

0

我终于找到了解决方案。在 Info.plist 的预处理器中,bash 脚本生成一个xcconfig文件。该文件包含:

  • PRODUCT_BUNDLE_IDENTIFIER
  • ASSETCATALOG_COMPILER_APPICON_NAME
  • ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME
  • ASSETCATALOG_COMPILER_SPLASH_NAME(我发明的名字)

该文件在 git 上被忽略并用于配置我的应用程序。

于 2020-01-21T12:45:23.510 回答
0

看起来您遇到了证书问题。您是否在Apple Developer 门户上注册了捆绑 ID ?您是否已为 App Store 的发布创建并下载了配置文件,它是否与您计算机上的证书相关联?

如果尚未设置,Xcode 应该会抱怨证书问题。您需要先执行此操作,然后才能将您的应用发布到应用商店。

如果您确定这是正确的,请在 Xcode 中提供错误的屏幕截图。

于 2020-01-20T08:50:08.990 回答