在没有Mac的情况下在App Store上部署iOS App
使用React-Native和Visual Studio App Center
大多数人认为,没有Mac不可能将应用程序部署到Apple Store,但是有了VS App Center,我们可以在云上使用XCode并将应用程序部署到App Store
如果要部署到App Store,则需要第一次使用REAL MAC部署您的应用程序。 然后,您可以使用VS App Center进行部署(CI和CD)
要求
由于没有Mac,我们将使用Windows和Android开发我们的React-Native App。
当然,您仍然需要一个Apple开发者帐户 https://developer.apple.com/programs/enroll/
请按照此处的说明使用适用于Windows和Android的React Native CLI快速入门来启动您的应用程序https://facebook.github.io/react-native/docs/getting-started
按照说明中的说明,建议您使用https://chocolatey.org/安装所有工具。
创建您的React-Native应用
$ react-native初始IblisProject
最好为您的项目使用其他名称,因为它会生成Bunde ID(在App Store中,它必须是唯一的)。 在下面,您只需要用您选择的名称替换IblisProject。
将您的应用程序推送到远程Git存储库
您只能使用Github或BitBucket
$ cd IblisProject
$ git init
$ git添加。
$ git commit -m“第一次提交”
$ git远程添加来源https://xxx@bitbucket.org/xxx/xx.git
$ git push -u原始主机
在App Store上注册您的Bundle ID
转到https://developer.apple.com/account/ios/identifier/bundle
默认情况下,React-Native设置的Bundle ID为org.reactjs.native.example。 iblisproject (如果需要,可以更改它)
创建您的AppStore证书
要创建所有密钥,您需要安装OpenSSL。 在Administrator Powershell启动时:
$ choco安装openssl.light
创建您的RSA密钥
$ openssl genrsa -out iblis.key 2048
创建您的证书签名请求(CSR)
$ openssl req -new -key iblis.key -out iblis.certSigningRequest
填写所需的所有信息(国家/地区,公司名称等)
转到Apple Developer Portal中的证书https://developer.apple.com/account/ios/certificate/
创建您的AppStore生产配置文件
转到Apple Developer Portal中的证书https://developer.apple.com/account/ios/profile/production
创建p12密钥
生成pem文件
$ openssl x509-输入。\ ios_distribution.cer-通知DER -out。\ ios_distribution.pem-通知PEM
询问时生成p12并填写密码 (记住)
$ openssl pkcs12 -export -inkey。\ iblis.key -in。\ ios_distribution.pem -out。\ ios_distribution.p12
在App Store中创建您的App
转到https://appstoreconnect.apple.com/
在Visual Studio App Center中开设一个帐户
在此处创建您的帐户:https://appcenter.ms/create-account
创建帐户后,选择添加新应用
首次上传您的版本(如果需要)
设置您的应用程序图标
安装generator-rn-toolbox
$ npm install -g yo generator-rn-toolbox
安装ImageMagick
$ choco安装imagemagick.app
下载图标模板(如果您没有图标模板,则可以使用此模板)https://facebook.github.io/react-native/img/showcase/adsmanager.png
将文件icon.psd移至应用程序文件夹并启动
$ yo rn-toolbox:assets --icon adsmanager.png --ios
添加导出合规性密钥
在./ios/IblisProject/info.plist
粘贴在之前的末尾
ITSAppUsesNonExemptEncryption
然后提交创建的文件并推送到远程。
如果您选择了“每按一次构建此分支”,则该应用将自动构建。
如果是第一次,您将无法使用VS App Center部署到商店
然后,您需要一台Mac。 但是您不需要XCode并编译项目。 您可以要求朋友🙂使用Application Loader并上传.ipa
将您的App部署到App Store(如果已经部署一次)
要部署到App Store,您只需选择构建并提交以供审核
当然,对于真正的应用程序开发,几乎不建议拥有Mac并使用XCode进行本地开发。 无论如何,您仍然可以将这种方法用于iOS应用的持续部署。