在没有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存储库

您只能使用GithubBitBucket

  $ 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应用的持续部署。