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

Posted

技术标签:

【中文标题】电容器:在不使用 Xcode 的情况下添加 IOS 权利【英文标题】:Capacitor: Adding IOS Entitlements without using Xcode 【发布时间】:2021-08-27 18:16:55 【问题描述】:

我正在开发一个使用 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 应用程序版本?我正在使用脚本在我的 azure 构建管道中的 android manifest / ios info.plist 中设置版本。我假设编辑 AppRelease.entitlements 文件的工作方式非常相似,是一个 xml 文件。

离子/盖帽版本:

> 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 

【问题讨论】:

【参考方案1】:

我过去的做法是使用xcodebuildexportOptionsRelease.plist 文件。

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

您还应该考虑将 iOS 项目保留在源代码管理中。以后可能会让你头疼。电容偶recommends it.

【讨论】:

我的团队过去曾与我们的 ios 应用程序进行过一些激动人心的合并冒险,因此我愿意将其保留在源代码管理中,但如果可能的话,我想避免它。 :) 感谢关于 exportOptionsRelease plist 的提示,我会试试看!

以上是关于电容器:在不使用 Xcode 的情况下添加 IOS 权利的主要内容,如果未能解决你的问题,请参考以下文章

强制 Swift Playgrounds (xcode) 在不模拟 iOS 的情况下使用 MacOS SpriteKit

如何在不更改 Xcode 版本的情况下知道 iOS 5 应用程序是不是可以在 iOS 6 上运行?

如何在不使用 Xcode 的情况下将 iCloud Documents 功能添加到我的应用程序?

Xcode - 如何在不更改 UIScreen 大小的情况下添加 xib 启动屏幕

在不使用 xcode react-native 的情况下更改设备

如何在不启动 Xcode 的情况下运行 iPhone 模拟器?