簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我猜去全部機翻+個人修改補充+demo測試的形式,對expo進行一次大補血!歡迎加入expo興趣學習交流群:597732 ...
簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網
我猜去全部機翻+個人修改補充+demo測試的形式,對expo進行一次大補血!歡迎加入expo興趣學習交流群:597732981
【之前我寫過一些列關於expo和rn入門配置的東i西,大家可以點擊這裡查看:從零學習rn開發】
相關文章:
Expo大作戰(一)--什麼是expo,如何安裝expo clinet和xde,xde如何使用
Expo大作戰(二)--expo的生命周期,expo社區交流方式,expo學習必備資源,開發使用expo時關註的一些問題
Expo大作戰(三)--針對已經開發過react native項目開發人員有針對性的介紹了expo,expo的局限性,開發時項目選型註意點等
Expo大作戰(四)--快速用expo構建一個app,expo中的關鍵術語
Expo大作戰(五)--expo中app.json 文件的配置信息
Expo大作戰(六)--expo開發模式,expo中exp命令行工具,expo中如何查看日誌log,expo中的調試方式
Expo大作戰(七)--expo如何使用Genymotion模擬器
Expo大作戰(八)--expo中的publish以及expo中的link,對link這塊東西沒有詳細看,大家可以來和我交流
接下來就開始擼碼
高級ExpoKit主題
本指南更深入地介紹了一些不是很重要的ExpoKit主題,但您可能會遇到困難。如果您對ExpoKit不熟悉,您可能需要先閱讀ExpoKit指南。
取消分離(Un-detaching)
例如,如果您想要返回到僅限JS的狀態,或者想要為測試目的而重覆分離,可以手動“取消”分離項目。由於您的項目不會再被分離,您將不再能夠使用自定義本機代碼。
警告:以下說明將永久刪除項目中的本機iOS和Android代碼,包括您所做的任何更改。我們強烈建議您在嘗試此操作之前將更改提交到版本控制。
要取消分離的做法:
- 從你的項目中刪除ios和android目錄。
- 刪除isDetached並從項目的app.json中分離鍵。
你現在可以像普通的expo項目一樣使用你的項目(沒有ExpoKit)。
驗證軟體包(僅限iOS)(Verifying Bundles (iOS only))
當我們為您的ExpoKit項目提供空中服務(over-the-air)時,我們會包含一個簽名,以便您的項目可以驗證JS實際上來自我們的伺服器。
預設情況下,使用ExpoKit的項目在iOS上禁用此功能併在Android上啟用。我們鼓勵您在iOS上啟用它,以便為您的所有用戶驗證您的代碼。
使用ExpoKit在本地項目中啟用代碼驗證:
- 滿足這兩個要求之一(你只需要一個):
- 配置應用程式時使用非通配符包標識符(推薦)
-
- 在Capabilities下的Xcode項目設置中啟用Keychain Sharing。 (更快建立)
- 在ios / your-project / Supporting / EXShell.plist中,將isManifestVerificationBypassed設置為NO(或者完全刪除此密鑰)。
禁用expo分析(Disabling Expo Analytics)
預設情況下,使用ExpoKit的應用程式將跟蹤一些expo特定的使用情況統計。這包括在我們的隱私政策中。您可以按照以下步驟在您的應用中停用Expo分析:
在iOS上,將值EXAnalyticsDisabled添加到應用程式的主Info.plist中,值為YES。
配置JS URL
在開發中,您的ExpoKit項目將從XDE / exp請求您的本地構建。您可以在EXBuildConstants.plist(iOS)或ExponentBuildConstants(Android)中看到此配置。您不需要編輯它,因為它在您提供項目時會自動編寫。
在生產環境中,您的ExpoKit項目將要求您發佈的JS包。這是在EXShell.plist(iOS)和MainActivity.java(Android)中配置的。如果您想在iOS中指定自定義行為,則還可以設置[ExpoKit sharedInstance] .publishedManifestUrlOverride屬性。
在iOS上啟用可選展示模塊
一些Expo模塊不包含在由exp build生成的獨立iOS應用程式中。通常這是因為他們向二進位文件添加了不成比例的膨脹量,或者因為它們包含受額外Apple審查指導原則支配的API。現在這些模塊是:
- FaceDetector
- ARKit
- Payments
如果你想在你的Expo iOS應用程式中使用這些模塊中的任何一個,你需要分離到ExpoKit而不是使用exp build。 (這是我們的改進之路。)在您的ExpoKit項目中,您需要在Podfile中包含相應的subspec。預設情況下,不包含任何內容。
使用DocumentPicker(Using DocumentPicker)
在iOS Expokit項目中,DocumentPicker模塊需要iCloud權利才能正常工作。如果您的應用程式尚未安裝,則可以通過在Xcode中打開項目並按以下步驟添加它:
- 在項目中,轉到功能選項卡。
- 將iCloud開關設置為打開。
- 檢查iCloud文件覆選框。
如果一切正常,你的屏幕應該是這樣的:
下一張繼續介紹,這一篇主要介紹了:expo中expo kit 高級屬性,歡迎大家關註我的微信公眾號,這篇文章是否被大家認可,我的衡量標準就是公
眾號粉絲增長人數。歡迎大家轉載,但必須保留本人博客鏈接!