国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS 真機調試微信小程序

2019-10-21 18:39:53
字體:
來源:轉載
供稿:網友

平時開發小程序可以在開發者工具中進行調試,開發者工具提供了類似 Chrome DevTools 的調試面板,對于前端開發者來說入門門檻比較低。

小程序開發完成之后,我們需要在真機上進行測試,真機調試方面小程序開發者工具有預覽、遠程調試和設置體驗版本三大部分功能。除了這三種方式之外,我們還可以使用真機遠程調試,在 iOS 上可以通過實現 Safari 調試代碼,安卓中可以安裝 X5 內核的 inspect 版本,開啟 Chrome remote debug 模式。使用真機調試不僅可以發現開發者工具中不能發現的 bug,還能幫助我們理解小程序的運行原理。

下面介紹下如何使用 Xcode、Reveal 和 Safari 來真機調試 iOS 上的小程序。

先大概說下原理,首先下載砸過殼版本的微信 ipa 文件(iOS App 程序的后綴),然后使用 IPAPatch 對 ipa 進行重新簽名,簽名賬號可以使用自己的 Apple 賬號,最后將項目編譯到真機(也可以模擬器),就可以使用 Safari 進行調試了。

  1. 下載 IPAPatch 項目
  2. 使用 PP 助手下載砸過殼版本的微信 ipa(使用最新版本的微信,否則登錄會提示需要升級),這個需要安裝 PP 助手,下載后在下載目錄找到其 ipa
  3. 將微信的 ipa 文件命名為 app.ipa,替換掉 IPAPatch 目錄的 Assets/app.ipa 文件
  4. 使用 Xcode 打開 IPAPatch 項目
  5. 修改簽名到自己的開發者賬號,沒有開發者賬號可以用自己的 Apple 賬號登錄

iOS,真機調試,微信小程序

按照上面的提示,首先修改 BundleID(這里的填寫可以比較隨意),然后使用自己的 Apple ID 登錄賬號,再選擇自己的真機(數據線連接后可以選擇),選擇后點擊開始編譯,編譯結束會安裝到自己的 iPhone 手機,安裝成功后就會發現自己的手機有兩個微信了。

接著再完成下面的步驟,就可以調試小程序了。

  1. 在 iPhone 上信任自己的開發者描述文件:「設置 -> 通用 -> 描述文件 -> 信任你的證書」
  2. 在 iPhone 上打開 Safari 調試功能:「設置 -> Safari -> 高級 -> Web 檢查器打開」

首先登錄微信賬號,打開需要調試的小程序,打開后在 Mac 電腦上打開「Safari -> 開發」找到自己的 iPhone 手機,選擇對應的頁面就可以進行調試了。

iOS,真機調試,微信小程序

這里說明下:

  • JSContext:是小程序的邏輯層代碼,執行在 JavaScriptCore 環境中
  • page-frame.html:是小程序的視圖層代碼,執行在普通的 WKWebview 中
  • 上圖只開了一個小程序頁面卻顯示了兩個 page-frame.html,說明始終有一個頁面在后臺加載,準備打開小程序的其他頁面

調試 JSContext

打開 JSContext 之后,找到的第一個 JS 文件實際就是微信的邏輯層代碼執行 waservice.js 了:

另外看到一些 JSBridge.subscribeHandle 的代碼實際是 Native 實現的一些方法或事件,然后調用 JSContext 中的方法回傳數據的。下面是點擊事件的一個截圖,會看到點擊事件傳遞的數據。

iOS,真機調試,微信小程序

調試 page-frame.html

page-frame 的頁面是普通的 WebView 容器,可以在 Safari 中直接 debug,下面我打開了自己正在開發的項目,通過 Console 面板修改 #canvas-wrapper 節點的內容:

iOS,真機調試,微信小程序

修改后,在手機上看到效果:

iOS,真機調試,微信小程序

這說明實際 WebView 內是可以進行 DOM 操作的,而且也可以使用普通的 BOM 對象,如 alert、location等。

iOS,真機調試,微信小程序

使用 Reveal 查看 UI 布局

如果要研究微信小程序的布局,可以使用 Reveal 軟件來查看 UI 布局。如下圖所示,在今日頭條的小程序布局中,可以看到播放器組件是 Native 實現的組件,而我們做的新鮮天氣小程序的雨雪效果 Canvas 也是 Native 實現的。

iOS,真機調試,微信小程序

iOS,真機調試,微信小程序

要開啟 Reveal,需要經過下面的步驟:

  1. 安裝 Reveal,然后通過菜單「Help -> Show Reveal Library in Finder -> iOS Library」,打開 RevealServer.framework 所在目錄
  2. 將 RevealServer.framework 復制到 IPAPatch 的 Assets/Frameworks/ 內

上面兩個步驟如果都正確,再次用 Xcode 打開 IPAPatch 編譯運行,打開小程序后,會在 Reveal 中看到可以操作了。

iOS,真機調試,微信小程序

這時候點擊 icon 就可以隨意查看 UI 布局了。

廣告時間

最近由于小程序·云開發的推出,我發現使用云開發,可以大大降低小程序的開發門檻,以前很多靈光乍現的點子,往往因為缺乏后端知識或者缺少后端服務器沒有得到實現,現在使用小程序云開發提供的接口完全可以實現。

于是我自己用云開發的 API 實現了一個「新鮮天氣」的小程序,并將我在開發中的過程以及比較好的經驗,整理成了一本電子書,放在了騰訊云學院上《從0到1實現天氣查詢小程序》。

這份實戰課程以打造一款擁有天氣預報和簽到功能的小程序為主線,從基礎知識到小程序運行機制,從開發環境搭建到小程序開發、調試、上線,打通微信小程序開發全流程,讓新手可以從零開始完成并上線一個小程序。主要有以下三部分組成:

  • 小程序開發基礎知識:微信小程序、小程序云的開發基礎知識,最小程序的運行機制
  • 實戰開發「新鮮天氣」小程序:小程序開發壞境搭建、新鮮天氣小程序簡介、天氣預報頁面布局開發,頁面數據交互
  • 優化到上線:從多個方面介紹小程序優化的知識點,并且完成小程序的上線

iOS,真機調試,微信小程序

當然,這份實戰課程收取一部分費用,不過價格比較便宜,希望能夠對想學習或者正在進行小程序開發的你有所幫助。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青浦区| 武宁县| 盐源县| 克山县| 祁东县| 安图县| 双鸭山市| 观塘区| 理塘县| 巴林左旗| 昭平县| 大连市| 荔波县| 遂溪县| 石棉县| 大姚县| 恭城| 和田县| 大厂| 苍溪县| 奉节县| 离岛区| 壤塘县| 宜都市| 大洼县| 凤冈县| 财经| 桃江县| 海林市| 青阳县| 丹寨县| 莱芜市| 长阳| 许昌县| 墨脱县| 光山县| 漠河县| 阿克| 宁明县| 潜江市| 盐源县|