电容器:在不使用 Xcode 的情况下添加 IOS 权利

Capacitor: Adding IOS Entitlements without using Xcode

我正在开发使用 Capacitor 和 Ionic 创建的 iOS 应用程序。我已经构建了我的 iOS 应用程序并通过 xcode 手动将其提交到 Apple Store / TestFlight,但在此过程中我不得不手动向我的应用程序添加授权。 Capacitor docs 中的过程,您在 xcode 中编辑应用程序权利,对我来说效果很好。但是,理想情况下,我不希望将我的完整 iOS 应用程序保留在源代码管理中,因此,我想通过 capacitor.config.json 文件之类的东西添加我的权利。

so: 是否可以通过 capacitor.config.json 文件设置 iOS 应用授权?类似于:

{
    "appId": "com.app.name",
    "appName": "app name",
    "bundledWebRuntime": false,
    "cordova":
    {
        "android":
        {
            ...
        },
        "ios":
        {
            "entitlements":{
                ...
            }
            "preferences":
            {
                ...
            }
        },
        "preferences":
        {
            ...
        }
    },
    "npmClient": "npm"
}

如果不是,我是否可以在我的 ci 管道中编辑这些内容,例如 android 或 iOS 应用程序版本?我正在使用脚本在我的天蓝色构建管道中的 android 清单/ios info.plist 中设置版本。我假设编辑 AppRelease.entitlements 文件的工作方式非常相似,是一个 xml 文件。

Ionic/Cap 版本:

> ionic info

   Ionic:

   Ionic CLI       : 6.16.3 
   Ionic Framework : @ionic/react 4.11.13

Capacitor:

   Capacitor CLI      : 2.4.7
   @capacitor/android : 2.4.7
   @capacitor/core    : 2.4.7
   @capacitor/ios     : 2.4.7

Utility:

   cordova-res : not installed globally
   native-run  : not installed globally

System:

   NodeJS : v12.16.1 
   npm    : 6.13.4
   OS     : macOS Big Sur 

我过去这样做的方法是将 xcodebuildexportOptionsRelease.plist 文件一起使用。

xcodebuild -exportArchive -archivePath Release.xcarchive -exportPath Release -exportOptionsPlist exportOptionsRelease.plist

您或许还应该考虑将 iOS 项目保留在源代码管理中。以后可能会省去你的头痛。电容连recommends it.