react-native(ios打包、上傳教程)

趁著現(xiàn)在有時(shí)間,總結(jié)一下,留給需要的小伴們看。

1、首先我們要先打離線資源包

為了日后把打包方便,我們把打包指令填在下package.json

"scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "bundle-ios": "node node_modules/react-native/local-cli/cli.js bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/bundle/index.jsbundle --assets-dest ./ios/bundle"
  },

這樣打包只需要在根目錄下輸入npm run bundle-ios 即可(切記一定要先在項(xiàng)目-->ios下新建bundle文件夾,不然會(huì)報(bào)錯(cuò))

WeChat7031a99aff4ba621818bfdc76851ac6d.png

之后你會(huì)發(fā)現(xiàn)bundle文件下面已經(jīng)有了內(nèi)容(如下圖)
image.png

2、接下來將離線資源包放入到項(xiàng)目中

在Xcode中添加資源到項(xiàng)目中,必須使用Create folder references的方式(也就是文件夾的方式)添加bundle文件夾:


image.png

必須使用Create folder references的方式添加:


image.png

添加成功后bundle文件夾為藍(lán)色(如下圖)
WeChatabd027c906136c6b33dabd6affced2b2.png

3、打包的最后一步

在開發(fā)的過程中可以在這里配置Debug Server的地址,當(dāng)發(fā)布上線的時(shí)候,就需要使用離線的jsbundle文件,因此需要設(shè)置jsCodeLocation為本地的離線jsbundle。

在AppDelegate設(shè)置離線的jsCodeLocation:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  NSURL *jsCodeLocation;

//  jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
//  jsCodeLocation = [NSURL URLWithString:@"http://192.0.0.0:8081/index.bundle?platform=ios&dev=true"];//真機(jī)Hot reloading
#ifdef DEBUG
     jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];//開發(fā)調(diào)試
#else
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"bundle/index" withExtension:@"jsbundle"];//上線打包
  
#endif
 ........
}

上傳

按照下面的步驟走,就可以打包成功,我不說各種原因,只講操作步驟:

簡(jiǎn)單粗暴?。。?/p>

首先你得有一個(gè)蘋果開發(fā)者賬號(hào)。要是沒有,就自己申請(qǐng)一個(gè)。

注意:在創(chuàng)建app IDs 還有描述文件的時(shí)候,需要添加的是發(fā)布版本,就是ad hoc里面的版本,而不是簡(jiǎn)單的開發(fā)版本。如下圖:(證書與描述文件都需要發(fā)布版本的)

1025776-99c09a1ff3f97f85.png

可以先忽略,一會(huì)在創(chuàng)建證書的時(shí)候再看

1.創(chuàng)建一個(gè)ipaDemo工程。

2.打開蘋果開發(fā)者中心。

網(wǎng)址https://developer.apple.com/membercenter

3.打開這個(gè)網(wǎng)址之后會(huì)出現(xiàn)下面的樣式。

1025776-daff565c3b97464f.png

剛剛進(jìn)入的的界面的樣式

4.進(jìn)入App開發(fā)賬戶里面:

1025776-7b12980931d20f40.png

手機(jī)App

5.創(chuàng)建證書的總體步驟,分5步:

5.1創(chuàng)建證書

5.2添加APP IDs

5.3添加設(shè)備

5.4創(chuàng)建描述文件

1025776-70e0e6683d43b4d5.png

總體步驟

對(duì)于這些過程,網(wǎng)絡(luò)上的文章比較多,我也不一一展開了,我添加一個(gè)比較好的博客的文章,與大家分享這個(gè)過程。說白了這也是真機(jī)測(cè)試與創(chuàng)建證書的一部分。李大澤網(wǎng)址

6. iOS打包,一共有三種方式,不過還是通過Xcode的打包比較好,因?yàn)槲以跍y(cè)試了這三種打包之后,我發(fā)現(xiàn)通過xcode打包的包的大小是最小的,不過下面我也介紹這三種打包方式。

第一種打包方式:

6.1 Xcode打包:

6.1.1

1025776-13e35bb0f33221a7.png
  1. 配置provisioning profile與證書

6.1.2

1025776-d7dcf518d308bfcf.png

2.配置provisioning profile與證書

我在上面這兩步的時(shí)候,由于只調(diào)整了一個(gè)code singing,所以出現(xiàn)了一直打包不成功。一般情況下,是先進(jìn)行步驟6.1.1,基本上不用管步驟6.1.2,只需要看看6.1.2是否與6.1.1的描述文件、證書是否一致。保證一致就可以了。

6.1.3

1025776-b92449e396deb8a9.png

6.1.4 選擇Release 模式:

1025776-eb99945484daf7d0.png

6.1.5 需要release ,Run里面的,也需要release Archive 里面的。

1025776-457595d6f73f0e6d.png

6.1.6

1025776-e0c77adc7a5a19b1.png

打包示例

6.1.7開始打包:若是comd+b 運(yùn)行成功了,就可以進(jìn)行下一步了

1025776-4d5968b6c21fee0d.png

6.1.8生成包:

1025776-c0af2fcb7963157b.png

6.1.9輸出包:

1025776-dd0d2e3a58bb3b4e.png

6.1.10

1025776-3b3d73cc0c8a7b08.png

生成四種不同的開發(fā)包,查看鏈接。4種ipa包

6.1.11

1025776-8693a93a216506ca.png

6.1.12

1025776-ec024a2db9fd5acc.png

6.1.13 在桌面上出現(xiàn)安裝包:

WeChat7095cb98689fbece695bb2d460f75c79.png

WeChat2bfb468022b809a87fc742b3e8c132b9.png

大功告成

第二種打包方式:

6.2 通過生成文件Payload文件夾,生成ipa包。

重復(fù)上面6.1.7 之前的所有步驟,在commd+b 編譯之后,查看是否編譯成功,要是成功。如下圖:

6.2.1

1025776-c5304f2b766524ea.png

表示可以打包了

6.2.2

1025776-3f12f11ca15ec527.png

6.2.3

1025776-fad6fc7cbb7f9949.png

6.2.4在桌面上新建一個(gè)文件夾名字叫“Payload”,注意一個(gè)字母也不能少。并將上面的APP直接拷貝到這個(gè)文件夾下面,壓縮這個(gè)文件夾,并將文件夾的后綴名,改正 “.ipa”。如下圖:

1025776-51d7e48121f19a17.png

ipa

第三種打包方式:

通過iTunes,打包。

6.3.1 打開你的iTunes。

6.3.2 直接把剛剛的那個(gè) .app,拖到你的iTunes里面。如下圖:

1025776-98c5cc64ebd6feaa.png

6.3.3 在Finder里面顯示:

1025776-2fbdbc268f32b97b.png

6.3.4這樣就生成了一個(gè)ipa包:

1025776-7d1549a9d9fa2dd4.png
  1. 安裝到測(cè)試機(jī)上:對(duì)于以上生成的所有的ipa包,都需要雙擊打開他們,在你的iTunes里面,安裝你的這個(gè)應(yīng)用包。如下圖:
1025776-08aeae6928df67cd.png

安裝步驟

生成的app如下圖,要是能夠顯示app是正常的,則證明沒有問題,否則安裝不成功:

1025776-41174befbe820362.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容