电容器:在不使用 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】:我过去的做法是使用xcodebuild
和exportOptionsRelease.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 启动屏幕