首先感謝爸爸們點進來看箱玷;小編這兩天被 0.45 版折磨的生無可戀焙畔,好難受,想哭 ...... 嚶嚶嚶 ...... 額 ...... 太娘了糜颠,嗚嗚嗚 ......
故事的開始:
兩天前的一個下午耕拷,在一個 ' 伸手不見五指 ' 的辦公室里讼昆,我 init 了一個項目 ......
-
react-native init testPis
(對爸爸們來說再熟悉不過了,小編也很順利):
WechatIMG1428.jpeg -
好了骚烧,接下來就是
react-native run-ios
的部分了(可以從下圖看出和以前build
不一樣的地方了吧浸赫?!一直在 checking 赃绊,檢查開發(fā)的環(huán)境):
WechatIMG1425.jpeg -
下面就是小編篩選出來的幾張報錯截圖(以我能力是看不懂了既峡,希望爸爸們看下):
WechatIMG1424.jpeg
-
接著我再根據(jù)下圖的提示接著做無謂的掙扎:
WechatIMG719.jpeg-
媽蛋!顯示說:無法安裝請求的應用程序碧查,根據(jù)提供的路徑找不到應用程序包运敢,還有
CFBundleIdentifier
(捆綁標識符)這個什么鬼東西說不存在:- 沒辦法,我就去搜爸沂邸传惠!一下是小編篩選后的解決方法(眼睛好疼):
真正原因:
-
react-native upgradePRODUCT_BUNDLE_IDENTIFIER
從中刪除project.pbxproj
2. 在你的Info.plist
,你使用$(PRODUCT_BUNDLE_IDENTIFIER)
它變?yōu)榭盏狙铮囊丫幾g的應用程序中刪除Info.plist
卦方。在編譯的應用程序中Info.plist
,沒有CFBundleIdentifier
泰佳!
解決方案:
- 使用
com.xxx.app
盼砍,而不是PRODUCT_BUNDLE_IDENTIFIER
用于CFBundleIdentifier
在Info.plist
- 或者,添加
PRODUCT_BUNDLE_IDENTIFIER
回來project.pbxproj
逝她。這就像PRODUCT_BUNDLE_IDENTIFIER = com.xxx.app
;浇坐。爸爸們可以在應用程序的Build Settings
> 中添加包IDProduct Bundle Identifier
。
- 沒辦法,我就去搜爸沂邸传惠!一下是小編篩選后的解決方法(眼睛好疼):
-
-
如果爸爸們很認真地看到了這里黔宛,小編很遺憾告訴爺爺們(接著往下看的是爺爺)吗跋,以下是我嘗試過后,以及在 XCode 上跑出現(xiàn)的問題:
WechatIMG1419.jpeg
WechatIMG1420.jpeg
-
小編實在沒招了宁昭,就請教了 RN 中文網(wǎng)里的
清明老師
,看這位老師是怎么回答的:
WechatIMG1452.jpeg -
當時我看到這話我是想笑的酗宋,這明顯感覺是敷衍小編嘛积仗!然后事實證明還有人也
init RN 0.45
版本:
WechatIMG1451.jpeg
很多以為看到這里就結(jié)束了?只是為了證明 0.45 版本跑步了蜕猫?那就錯了寂曹,重點來了:
遇到這個坑的時候,小編花了兩天多時間可不是只干這么點時間(簡單總結(jié)下,因為已經(jīng)很晚了隆圆,小編還沒回家):
-
期間為了排除 RN 更新后漱挚,npm 和 node 版本是否落后,所以我通過
sudo npm install npm -g
更新了版本(以下是我目前版本):
WechatIMG1453.jpeg -
然后日了狗的時刻又來了:
WechatIMG1454.jpeg 我記得我當時是很想笑的 ...... 真的很好好玩哦渺氧!程序賊好玩V祭浴!侣背!爺爺們可能會說白华,降級啊贩耐!我當然試過
npm -g install npm@版本號
弧腥,那么就開始分享小編的經(jīng)驗之談了:
1 . 開發(fā)環(huán)境不要隨便瞎更新!
2 . 多次踩坑后:node
和 npm
是一一對應的關(guān)系潮太,版本是有銜接的管搪,就和react native
和react
的版本關(guān)聯(lián)一樣!
3 . 然后我現(xiàn)在用 yarn
去代替了 npm
最后感謝在此 ‘愉快’ 的過程中铡买,提出幫助的小伙伴更鲁!感謝 下一站
和清明老師
;這么煩人的坑寻狂,比當時剛接觸 RN 時岁经,在 Windows 下配置環(huán)境更無解!
我們下期再見蛇券!愿意與爸爸們分享的IT屆段子手
W喝馈!纠亚!
由于篇幅原因塘慕,具體想要知道整個效果圖的代碼或者有補充地方的可以加技術(shù)群:631730313