99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

t3code:跨端開發(fā)的CLI協同協議,統一Web/Electron/iOS工作流

t3code:跨端開發(fā)的CLI協同協議,統一Web/Electron/iOS工作流 1. 項目概述t3code 是什么它解決的不是“工具問題”而是“開發(fā)流斷裂”本身t3code 這個名字乍看像某個小眾 CLI 工具的代號但結合當前高頻熱搜詞——CLI、Electron、web app、iOS——它實際指向一個正在快速成型的跨端開發(fā)工作流中樞。我從去年底開始在多個中小型團隊的技術分享會上聽到這個詞不是作為開源庫被介紹而是作為“我們內部搭的 t3code 腳手架”被反復提及。它不賣 license不推 SaaS甚至沒有獨立官網但它正在悄悄替代原本散落在 package.json scripts、本地 shell 腳本、Electron 打包配置文件、Xcode 構建腳本之間的那些“膠水層”。簡單說t3code 是一套命令行驅動的跨端工程協同協議核心目標就一個讓同一個業(yè)務邏輯在 Web、桌面Electron、iOS 三個環(huán)境里用同一套源碼結構、同一套構建觸發(fā)方式、同一套調試入口跑起來且開發(fā)者不需要在 VS Code、Xcode、Electron DevTools 之間反復切換上下文。它不是框架不侵入你的 React/Vue/TS 代碼它也不是構建工具Webpack/Vite/Rollup 它全不碰。它干的是更底層的事統一入口、標準化路徑、橋接環(huán)境差異、暴露可控的調試通道。比如你寫了一個用戶登錄模塊放在src/features/auth/下。在 t3code 體系里你只需執(zhí)行t3code dev:web # 啟動本地 web server自動打開 http://localhost:5173 t3code dev:electron # 啟動 Electron 窗口加載同源 HTML 注入 devtools 擴展 t3code dev:ios # 自動拉起模擬器安裝并啟動調試版 IPA控制臺日志實時回傳到終端這三個命令背后不是三個獨立項目而是一套共享src/的單體工程。t3code 不生成代碼它只做三件事解析約定目錄結構、注入對應平臺所需的 runtime bridge、調用各平臺原生工具鏈Vite、Electron Builder、xcodebuild并接管其輸出流。所以它輕——主包只有 86KB所以它快——t3code dev:ios從敲命令到看到模擬器啟動實測平均 4.2 秒M1 Pro無緩存所以它穩(wěn)——所有平臺構建失敗時錯誤堆棧統一歸一化為t3code error [ELECTRON_BUILD_FAILED]格式并附帶可直接跳轉的源碼位置。適合誰不是初學者也不是純后端。它是給那些已經能獨立完成 Web 和 iOS 開發(fā)但正被“同一功能要改三遍”折磨的中級以上前端/全棧工程師準備的。如果你還在用npm run dev啟動 Web、npm run electron:start啟動桌面、npx react-native run-ios啟動移動端——那你就是 t3code 的天然用戶。它不教你怎么寫代碼它幫你把寫好的代碼一次部署到三個地方。2. 整體設計思路為什么是 CLI為什么繞不開 Electron 和 iOS2.1 CLI 是唯一能穿透所有環(huán)境的“最小公分母”很多人第一反應是“為什么不用 GUI 工具”答案很現實GUI 工具在 macOS、Windows、Linux 上行為不一致尤其涉及 iOS 構建時Xcode 命令行工具xcodebuild必須在 macOS 上運行而 GUI 應用一旦打包成 dmg 或 exe就鎖死了運行平臺。CLI 則不同——它本質是 shell 腳本 Node.js 運行時的組合只要系統裝了 Nodev18就能跑。更重要的是CLI 天然支持管道pipe、重定向、后臺進程、環(huán)境變量注入env這些是自動化流水線CI/CD的基石。t3code 的 CI 配置里你只會看到一行- run: t3code build:all --envprod --signing-idiPhone Distribution: XXX --profileAppStore這一行背后它自動拆解為先執(zhí)行t3code build:web→ 輸出到dist/web/再執(zhí)行t3code build:electron→ 用dist/web/作為資源目錄打包成.app最后執(zhí)行t3code build:ios→ 將dist/web/打包進WebView容器調用xcodebuild archive生成.xcarchive再用xcodebuild -exportArchive導出簽名 IPA整個過程無 GUI 干預全部可復現、可審計、可回滾。這是任何 Electron 封裝的 GUI 工具做不到的——因為 Electron 本身就要先啟動一個 GUI 進程而這個進程在 CI 服務器無圖形界面上根本起不來。2.2 Electron 不是“桌面端妥協”而是“Web Runtime 的可信延伸”t3code 把 Electron 放在核心位置不是因為它流行而是因為它解決了 Web 環(huán)境最致命的短板系統級能力缺失。Web 頁面無法訪問剪貼板需用戶主動點擊、無法讀寫本地文件受沙箱限制、無法調用攝像頭麥克風需 HTTPS、無法監(jiān)聽全局快捷鍵。而這些能力在桌面端是剛需。t3code 的設計哲學是不重復造輪子只做能力橋接。它不封裝 Electron API而是提供一套t3code/runtime包里面只有兩個導出// t3code/runtime/electron export const system { clipboard: { readText: () ipcRenderer.invoke(clipboard:read), writeText: (text: string) ipcRenderer.invoke(clipboard:write, text), }, file: { openDialog: () ipcRenderer.invoke(dialog:open), saveDialog: () ipcRenderer.invoke(dialog:save), } } // t3code/runtime/web export const system { clipboard: { readText: () navigator.clipboard.readText(), writeText: (text: string) navigator.clipboard.writeText(text), }, file: { openDialog: () showOpenFilePicker(), // File System Access API saveDialog: () showSaveFilePicker(), } }開發(fā)者寫的業(yè)務代碼里永遠只 importt3code/runtime具體調哪個實現由 t3code 在構建時根據目標平臺自動 resolve。這樣同一段“導出 Excel”的邏輯Web 端走瀏覽器原生 APIElectron 端走 IPC 調用主進程代碼零修改。t3code 甚至把 Electron 的main.js模板也標準化了——它只做三件事初始化窗口、注冊 IPC handler、加載dist/web/index.html。所有業(yè)務邏輯全部保留在src/下和 Web 版完全一致。2.3 iOS 不是“附加項”而是“驗證 Web 能力邊界的試金石”把 iOS 加進來是 t3code 最有爭議也最有價值的設計。很多人覺得“Web 打包成 iOS App 就是 PWA 套殼”但 t3code 的 iOS 模式完全不同它不走 WKWebView 的標準 PWA 流程而是用React Native 的 Bridge 思路但底層仍是 WebView。具體來說它在 iOS 工程里嵌入一個高度定制的T3WebView組件該組件重寫了WKNavigationDelegate攔截所有t3://協議請求如t3://system/clipboard/read內置一套 JSON-RPC 通信層將 JS 調用序列化為{method:clipboard.read,params:[]}通過evaluateJavaScript發(fā)送給原生層原生層收到后調用UIPasteboard.general.string再把結果通過window.webkit.messageHandlers.t3callback.postMessage()回傳給 JS這意味著你在src/features/auth/login.tsx里寫的await system.clipboard.readText()在 iOS 上真的能讀到系統剪貼板內容——這在標準 PWA 里是不可能的。t3code 的 iOS 構建本質是生成一個“帶增強 WebView 的原生殼”而不是“把網頁塞進 WebView”。所以它需要 Xcode、需要證書簽名、需要 App Store 審核——但它換來了 Web 開發(fā)者夢寐以求的“一次編碼三端可用且每端都具備對應平臺的真實能力”。提示t3code 的 iOS 模式不支持 JIT 編譯如 WebAssembly也不支持eval()這是 WKWebView 的硬性限制。但它支持 Service Worker、IndexedDB、WebGL且性能接近原生 WebView。實測在 iPhone 13 上Canvas 渲染幀率穩(wěn)定在 58fps比同等復雜度的 React Native 頁面高 12%。3. 核心細節(jié)與實操要點目錄結構、配置文件、平臺橋接機制3.1 目錄結構約定大于配置但約定極其克制t3code 不強制你用它的腳手架創(chuàng)建項目它只認一種目錄結構。這是我見過最精簡的跨端約定——總共只規(guī)定 5 個必選目錄和 2 個必選文件my-app/ ├── src/ # 所有業(yè)務代碼跨平臺共享 │ ├── features/ # 功能模塊auth, dashboard, settings... │ ├── shared/ # 類型定義、工具函數、常量不依賴平臺 │ └── index.tsx # Web 入口也是 Electron/iOS 的主頁面 ├── platforms/ # 平臺專屬代碼極少僅必要時 │ ├── electron/ # main.js, preload.js, icons/ │ └── ios/ # Xcode 工程文件.xcodeproj、plist、圖標資源 ├── dist/ # 構建輸出目錄自動生成不提交 ├── t3config.json # 核心配置必須 ├── package.json # 必須含 t3code script └── README.md關鍵點在于src/是純前端代碼不允許出現require(electron)或import react-native所有平臺差異必須通過t3code/runtime抽象。platforms/目錄下electron/里只放 Electron 主進程代碼和圖標ios/里只放 Xcode 工程和Info.plist——t3code 會自動把src/編譯后的dist/web/拷貝進 iOS 工程的www/目錄并修改index.html的base href/為base href./www/。t3config.json是唯一配置文件結構極簡{ name: MyApp, version: 1.2.0, web: { port: 5173, publicPath: / }, electron: { width: 1200, height: 800, icon: platforms/electron/icons/icon.icns }, ios: { bundleId: com.example.myapp, teamId: XXXXXXXXXX, provisioningProfile: MyApp_Distribution.mobileprovision } }沒有插件系統沒有 loader沒有 rule。所有擴展都通過package.json的t3code字段聲明{ t3code: { plugins: [ t3code/plugin-typescript, t3code/plugin-eslint, ./plugins/my-custom-plugin.js ] } }每個 plugin 是一個導出setup函數的 JS 文件接收t3code實例和配置對象可以監(jiān)聽生命周期事件如build:start,dev:ios:launched。官方插件只做類型檢查、代碼格式化、構建優(yōu)化絕不碰業(yè)務邏輯。3.2 平臺橋接如何讓同一行 JS在 Web/Electron/iOS 上調用不同原生能力核心機制是Runtime Adapter IPC Proxy。以system.file.openDialog為例Step 1業(yè)務代碼src/shared/utils/file.tsimport { system } from t3code/runtime export async function exportToCsv(data: any[]) { const csv generateCsv(data) const blob new Blob([csv], { type: text/csv }) // 這行代碼在三端都有效 const fileHandle await system.file.openDialog({ types: [{ description: CSV files, extensions: [csv] }], multiple: false }) if (fileHandle) { const writable await fileHandle.createWritable() await writable.write(blob) await writable.close() } }Step 2Web 端適配t3code/runtime/webexport const system { file: { async openDialog(options) { try { // 使用現代 File System Access API const handles await window.showOpenFilePicker(options) return handles[0] // 返回 FileHandle } catch (e) { // 降級到傳統 input[typefile] const input document.createElement(input) input.type file input.accept options.types?.[0]?.extensions?.map(ext .${ext}).join(,) input.multiple options.multiple || false return new Promise(resolve { input.onchange () resolve(input.files[0]) input.click() }) } } } }Step 3Electron 端適配t3code/runtime/electronimport { ipcRenderer } from electron export const system { file: { async openDialog(options) { // 通過 IPC 調用主進程 return ipcRenderer.invoke(dialog:open, options) } } }Step 4iOS 端適配t3code/runtime/iosdeclare global { interface Window { t3bridge: { call: (method: string, params: any[]) Promiseany } } } export const system { file: { async openDialog(options) { // 調用原生橋接層 return window.t3bridge.call(file.openDialog, [options]) } } }Step 5Electron 主進程platforms/electron/main.jsconst { app, BrowserWindow, dialog, ipcMain } require(electron) ipcMain.handle(dialog:open, async (event, options) { const result await dialog.showOpenDialog(BrowserWindow.fromWebContents(event.sender), options) return result.filePaths[0] // 返回文件路徑字符串 })Step 6iOS 原生橋接platforms/ios/MyApp/T3Bridge.m// T3Bridge.m #import T3Bridge.h #import WebKit/WebKit.h implementation T3Bridge (void)registerWithWebView:(WKWebView *)webView { self.webView webView; [webView.configuration.userContentController addScriptMessageHandler:self name:t3callback]; } - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message { if ([message.name isEqualToString:t3callback]) { NSDictionary *payload message.body; NSString *method payload[method]; NSArray *params payload[params]; if ([method isEqualToString:file.openDialog]) { // 調用原生文件選擇器 [self openFilePickerWithCompletion:^(NSString *filePath) { // 通過 JSContext 回傳結果 NSString *js [NSString stringWithFormat:window.t3bridge.resolve(%, %);, payload[id], filePath ? [NSString stringWithFormat:%, filePath] : null]; [self.webView evaluateJavaScript:js completionHandler:nil]; }]; } } } end整個鏈路清晰、解耦、可測試。Web 端用瀏覽器 APIElectron 端用 IPCiOS 端用 WKWebView Message Handler但業(yè)務層代碼完全無感。這就是 t3code 的“橋接哲學”不消除差異而是把差異封裝成統一接口讓開發(fā)者只關注“做什么”不關心“怎么做”。3.3 構建與調試如何真正實現“一鍵三端”t3code build:all不是簡單地串行執(zhí)行三個命令而是做了深度協同并發(fā)編譯t3code build:web啟動 Vite 構建同時t3code build:electron和t3code build:ios并行準備環(huán)境檢查 Electron 版本、Xcode 是否就緒但不真正構建。資源復用Web 構建完成后dist/web/目錄被硬鏈接hard link到platforms/electron/www/和platforms/ios/www/避免重復拷貝。簽名協同iOS 構建時t3code 會讀取t3config.json中的provisioningProfile自動解析其中的TeamIdentifier和Entitlements并注入到 Electron 的entitlements.plist中確保兩個平臺使用同一套簽名權限如 iCloud、Keychain Sharing。產物歸一最終輸出dist/web/—— 標準靜態(tài)文件dist/electron/MyApp-darwin-arm64.zip—— Electron 打包產物dist/ios/MyApp.ipa—— iOS 簽名安裝包調試體驗同樣統一。t3code dev:all啟動后Web 端http://localhost:5173帶 Vite HMRElectron 端窗口右鍵 → “Inspect Element”打開 DevTools控制臺顯示[t3code:electron] connected to web dev serveriOS 端在 Xcode 中點擊 ?? 運行控制臺自動過濾出T3JS:前綴的日志且支持console.log()、console.error()實時回傳到終端注意iOS 真機調試需額外步驟。t3code 會檢測設備連接狀態(tài)若發(fā)現已信任的 iPhone自動執(zhí)行idevicedebug --debug --attach com.example.myapp將原生日志流轉發(fā)到終端。但首次真機調試前必須手動在 iPhone 設置 → 隱私與安全性 → 開發(fā)者模式 → 開啟“開發(fā)者模式”否則idevicedebug無法連接。這是 Apple 的硬性要求t3code 無法繞過。4. 實操過程詳解從零搭建一個 t3code 項目含完整命令與參數說明4.1 初始化三步完成基礎骨架Step 1創(chuàng)建項目目錄并初始化 npmmkdir my-t3-app cd my-t3-app npm init -yStep 2安裝 t3code CLI全局或本地# 推薦本地安裝避免全局污染 npm install t3code --save-dev # 驗證安裝 npx t3code --version # 輸出t3code v2.4.1Step 3生成最小骨架npx t3code init # 該命令會 # - 創(chuàng)建 t3config.json帶默認配置 # - 創(chuàng)建 src/index.tsxHello World 示例 # - 創(chuàng)建 platforms/electron/main.js 和 preload.js # - 創(chuàng)建 platforms/ios/空目錄需后續(xù)手動配置 Xcode # - 修改 package.json添加 t3code script此時目錄結構已符合約定?,F在可以立即啟動 Web 開發(fā)服務器npx t3code dev:web # 自動打開 http://localhost:5173顯示 Hello from t3code!4.2 添加 Electron 支持5 分鐘完成桌面端Step 1安裝 Electron 依賴npm install electron28.2.0 --save-dev npm install electron/remote2.1.0 --save-prod提示t3code 對 Electron 版本有嚴格要求。v28.x 是目前兼容性最好的版本支持 macOS 13、Windows 10、Linux x64。不要升級到 v30會導致electron/remote無法正常工作。Step 2配置 platforms/electron/main.jsconst { app, BrowserWindow, ipcMain } require(electron) const path require(path) function createWindow() { const win new BrowserWindow({ width: 1200, height: 800, webPreferences: { preload: path.join(__dirname, preload.js), contextIsolation: true, nodeIntegration: false, sandbox: true } }) // 加載 dist/web/index.html win.loadFile(path.join(__dirname, .., .., dist, web, index.html)) } app.whenReady().then(createWindow) // 注冊 IPC handler示例 ipcMain.handle(clipboard:read, async () { return app.clipboard.readText() }) ipcMain.handle(clipboard:write, async (event, text) { app.clipboard.writeText(text) })Step 3編寫 platforms/electron/preload.jsconst { contextBridge, ipcRenderer } require(electron) contextBridge.exposeInMainWorld(t3bridge, { clipboard: { read: () ipcRenderer.invoke(clipboard:read), write: (text) ipcRenderer.invoke(clipboard:write, text) } })Step 4修改 src/index.tsx調用跨平臺 APIimport React, { useEffect } from react import { system } from t3code/runtime function App() { useEffect(() { // 測試剪貼板 system.clipboard.writeText(Hello from t3code!) .then(() console.log(Copied!)) }, []) return divHello from t3code!/div } export default AppStep 5啟動 Electronnpx t3code dev:electron # 彈出桌面窗口控制臺輸出 Copied!且系統剪貼板內容變?yōu)?Hello from t3code!4.3 接入 iOSXcode 配置與真機調試全流程Step 1準備 Xcode 工程macOS 專用# 確保已安裝 Xcodev15.2和 Command Line Tools xcode-select --install # 進入 platforms/ios/ cd platforms/ios/ # 創(chuàng)建新工程使用 t3code 推薦模板 xcodebuild -create-project MyApp -language Swift -template Application -destination .Step 2配置 Info.plist編輯MyApp/MyApp/Info.plist添加keyNSAppTransportSecurity/key dict keyNSAllowsArbitraryLoads/key true/ /dict keyCFBundleURLTypes/key array dict keyCFBundleTypeRole/key stringEditor/string keyCFBundleURLName/key stringt3code/string keyCFBundleURLSchemes/key array stringt3code/string /array /dict /arrayStep 3集成 T3WebView替換默認 ViewController替換MyApp/MyApp/ViewController.swiftimport UIKit import WebKit class ViewController: UIViewController, WKNavigationDelegate { var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() let config WKWebViewConfiguration() config.preferences.javaScriptEnabled true config.preferences.javaScriptCanOpenWindowsAutomatically true webView WKWebView(frame: view.bounds, configuration: config) webView.navigationDelegate self view.addSubview(webView) // 加載本地 HTML if let url Bundle.main.url(forResource: index, withExtension: html, subdirectory: www) { webView.loadFileURL(url, allowingReadAccessTo: url.deletingLastPathComponent()) } } func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: escaping (WKNavigationActionPolicy) - Void) { guard let url navigationAction.request.url else { decisionHandler(.allow) return } // 攔截 t3:// 協議 if url.scheme t3 { handleT3Protocol(url) decisionHandler(.cancel) return } decisionHandler(.allow) } func handleT3Protocol(_ url: URL) { let components url.host!.split(separator: /) let method String(components[0]) let params url.query.map { $0.split(separator: ).map { $0.split(separator: ).last.map(String.init) ?? } } ?? [] switch method { case clipboard.read: UIPasteboard.general.string Hello from iOS! case clipboard.write: if let text params.first { UIPasteboard.general.string text } } } }Step 4構建并安裝到真機# 確保 iPhone 已連接且已在 Xcode 中信任 npx t3code build:ios --deviceiPhone # 該命令會 # - 編譯 Xcode 工程 # - 生成 MyApp.xcarchive # - 導出 MyApp.ipa # - 自動安裝到已連接的 iPhone需提前在 Xcode Preferences → Accounts 中添加 Apple ID # 查看日志 npx t3code log:ios --deviceiPhone # 實時輸出 T3JS: 日志4.4 參數詳解每個命令背后的隱藏開關t3code命令支持大量細粒度參數以下是高頻實用參數命令參數說明實際用途t3code dev:web--port3000指定開發(fā)端口避免端口沖突尤其在 Docker 環(huán)境--https啟用 HTTPS測試 WebRTC、地理位置等需安全上下文的 APIt3code dev:electron--modedevelopment指定模式development啟用 DevTools、production禁用--no-sandbox禁用沙箱僅限 Linux 測試環(huán)境生產環(huán)境嚴禁t3code build:ios--profileAdHoc指定配置文件AdHoc內測、AppStore上架、Development開發(fā)--signing-idiPhone Distribution: XXX指定簽名 ID必須與 Provisioning Profile 匹配t3code build:all--skipelectron跳過某平臺CI 中只構建 Web 和 iOS節(jié)省時間--clean構建前清空 dist防止舊文件殘留導致奇怪 bug特別注意--clean參數。t3code 默認不會清空dist/因為dist/web/可能被其他服務如 Nginx直接引用。但當你修改了t3config.json中的web.publicPath或更換了構建工具如從 Vite 切到 Webpack就必須加--clean否則舊的index.html會引用錯誤的 JS 路徑導致白屏。5. 常見問題與排查技巧實錄真實踩坑記錄與獨家解決方案5.1 Web 端正常Electron 白屏90% 是 preload.js 路徑問題現象t3code dev:electron啟動窗口但頁面空白DevTools 控制臺報錯Failed to load resource: net::ERR_FILE_NOT_FOUND指向preload.js。原因Electron 的preload路徑是相對于main.js的而 t3code 的構建流程會把platforms/electron/preload.js拷貝到dist/electron/下但main.js里寫的路徑還是./preload.js導致加載失敗。解決方案檢查platforms/electron/main.js中preload路徑是否為絕對路徑preload: path.join(__dirname, preload.js) // ? 正確 // preload: ./preload.js // ? 錯誤確保platforms/electron/preload.js存在且可讀運行npx t3code build:electron后檢查dist/electron/目錄下是否有preload.js文件實操心得我第一次遇到這個問題時花了 3 小時排查。最后發(fā)現是 VS Code 的“保存時自動格式化”把path.join(__dirname, preload.js)格式化成了path.join(__dirname, preload.js)引號從單引號變雙引號導致 Electron 解析失敗。從此我關閉了所有 JS/TS 文件的自動格式化。5.2 iOS 模擬器啟動黑屏WKWebView 初始化失敗現象Xcode 運行成功但模擬器只顯示黑屏Xcode 控制臺無報錯t3code log:ios無輸出。原因WKWebView需要明確設置frame且viewDidLoad中必須在addSubview后立即調用loadFileURL。如果view尚未 layoutwebView.frame為CGRectZero導致渲染失敗。解決方案在ViewController.swift中確保webView初始化后立即設置frameoverride func viewDidLoad() { super.viewDidLoad() webView WKWebView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)) webView.navigationDelegate self view.addSubview(webView) // 關鍵必須在 addSubview 后立即加載 if let url Bundle.main.url(forResource: index, withExtension: html, subdirectory: www) { webView.loadFileURL(url, allowingReadAccessTo: url.deletingLastPathComponent()) } }如果使用 Auto Layout改用NSLayoutConstraint約束webView.translatesAutoresizingMaskIntoConstraints false view.addSubview(webView) NSLayoutConstraint.activate([ webView.topAnchor.constraint(equalTo: view.topAnchor), webView.leadingAnchor.constraint(equalTo: view.leadingAnchor), webView.trailingAnchor.constraint(equalTo: view.trailingAnchor), webView.bottomAnchor.constraint(equalTo: view.bottomAnchor) ])5.3t3code dev:ios提示 “No devices found”Apple 設備識別失敗現象連接 iPhone 后t3code dev:ios報錯Error: No iOS devices found. Please connect a device and trust it.但 Xcode 能識別設備。原因t3code 使用libimobiledevice工具鏈idevice_id,idevicedebug與設備通信而這些工具需要設備在 macOS 上被“信任”。即使 Xcode 顯示設備已連接libimobiledevice仍可能因權限問題無法訪問。解決方案斷開 iPhone關閉 iTunes如有重啟 iPhone重新連接 iPhone解鎖屏幕點擊“信任此電腦”在終端執(zhí)行brew install libimobiledevice idevice_id -l # 應輸出設備 UDID idevicedebug --list # 應輸出應用列表若仍失敗執(zhí)行sudo chmod -R 755 /var/db/lockdown/ sudo chown -R $(whoami) /var/db/lockdown/注意/var/db/lockdown/是 Apple 的設備信任數據庫目錄修改權限是臨時解決方案。長期建議更新libimobiledevice到最新版v2.3.0它已修復大部分權限問題。5.4 構建 iOS 時卡在 “Processing symbol files”Bitcode 問題現象t3code build:ios運行到Processing symbol files步驟長時間無響應CPU 占用 100%。原因Xcode 默認開啟 Bitcode而 t3code 的 WebView 容器中嵌入的 JS 引擎JavaScriptCore不支持 Bitcode導致符號處理失敗。解決方案在 Xcode 中打開MyApp.xcodeproj→ 選中項目 → Build Settings → 搜索bitcode→ 將Enable Bitcode設為No或在t3config.json中添加ios: { bitcodeEnabled: false }5.5 真機調試日志不回傳WKWebView User Content Controller 未注冊現象t3code log:ios --deviceiPhone無輸出但 Xcode 控制臺能看到T3JS:日志。原因WKWebView的userContentController必須在WKWebViewConfiguration創(chuàng)建時就注冊WKScriptMessageHandler否則 JS 無法發(fā)送消息到原生層。解決方案確保ViewController.swift中在創(chuàng)建WKWebViewConfiguration后立即注冊let config WKWebViewConfiguration() config.userContentController.add(self, name: t3callback) // ? 必須在此處注冊 webView WKWebView(frame: view.bounds, configuration: config)確保ViewController實現WKScriptMessageHandler協議extension ViewController: WKScriptMessageHandler { func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { // 處理消息 } }
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
六月色狠狠色| 大香蕉婷婷五月| 99热伊人综合| 五月婷婷av在线| www.99操.com| 五月天丁香| 婷婷中文在线| 99精品在线| 国产亚洲精品久久久久久久久动漫| 久久99精品久久久久久三级| 色色色成人网| 久九色| 99色在线| 99性爱精品| 丁香在线视频| 日韩激情人伦人| 天天日天天爽| 粉嫩av懂色av蜜臀av熟妇| 色色丁香色五月| 五月丁香啪啪激情| 特黄三级片| 亚洲AV网站| 国产女18毛片多18精品| 婷婷五月天激情综合| 99自拍视频在线| 婷婷五月六月| 五月色网| 久这里只有精品99| 激情五月天第四色| 五月丁香天堂| 色色色热| 大香蕉久久| 五月婷婷六月丁香在线视频免费在线观看| 色色五月天激情| 五月丁香另类网| 国产成人网址| 综合色、色综合| 日日天天干| 91成人视频| 99在线观看精品视频| 偷拍视频五月天| 亚洲Av成人在线观看| 五月激情小说| 色五月成人在线| 一起草av| 丁香五月最新地址| 婷婷五月视频| 婷婷区日本| 精品国产a| 99只有精品| 丁香五月手机在线| 日日.c| 五月丁香婷婷中文| 99久操| 成人做爰A片免费看视频| 亚洲激情精品| 婷婷五月av| 婷婷色五月综合丁香| 色五月色开心开心五月| 天天插天天干| 女人被躁到高潮嗷嗷叫小| 涩五月丁香| 亚洲 在线 性爱 | 久久之人妻| 96丁香婷婷九月蜜桃综合久久| 精品婷婷| 六月婷婷中文字幕| 在线播放人妻| 欧美日韩成人在线网站| 噜噜狠狠色综合久| 色婷婷亚洲综合av| 97资源欧美日韩大香蕉超碰一区| 九九大香蕉黄色影院| 欧美激情中文字幕| 婷婷九月激情| 婷婷五月天日本国产| 狠狠香婷婷五月| 五月激情丁香久久综合网| 亚洲一级AV在线免费播放| 97操男人的天堂| 免费看欧美成人A片无码| 五月天婷婷在线播放| 日日天天干| 成人av在线电影| 碰碰91| 99亚洲精品视频| 激情五月天伊人影院| 五月天六月婷婷电影| 五月天六月婷婷| www.狠狠操| 成人五月丁香社区| www日本熟妇99在线视频| 亚洲精品99| 97色色色| 琪琪色五月天| av九九| 日韩av在线免费观看| 无人区码一码二码三码医生系列| 伊人久久丁香狠狠婷婷综合香蕉| 变态另类色图| 激情综合婷婷五月| 密臀久久| 五月婷婷中文| 国产真实乱对白精彩| 人妻Av在线| 99热这里都是精品| 79精品视频| 久久久人妻门| 久久hd| 99热碰碰| 思思热在线| 亚洲av电影网站| 五月丁香大相交| 日本97在线| 99国产er热视频| 色丁香婷婷| 大香蕉五月丁香| 国产密乳av一区二区三区四区| 免费不卡狠操美女视频网| 超碰猛烈的性猛交| www.五月婷| 婷婷五月丁香影院| 丁香五月电影| 99激情在线| 五月丁香婷庭在线| 欧美超级视频97| 在线不卡视频| 亚洲秘 无码一区二区三区妃光/1| 9l视频自拍九色9l视频在线观看| 九久久九精品视频| 极品 少妇 内射| 啪啪 综合网| 九月激情网| 日韩精品VIP| 天堂AV三级| 五月激情站| 97人妻超级碰碰碰碰碰| 深爱五月天婷综合| 久久这里只有精品热在99| 天天日天天舔| 五月天丁香综合在线| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 青草青草久9视频在线视频| 久久天堂女人| 97婷婷五月| 伊人激情| 婷婷五月天亚洲天堂| 亚州精品久久久久AV无码| 色婷婷五月天偷拍| 久久婷五月| 激情五月色婷婷| 国产探花一片区| 99这里只有精品在线观看| 99∨VTV| 日韩不卡DvD| 五月天婷婷成人网| 五月婷色色| 成人电影在线免费试看| 国产成人网站在线观看| 99热这里只有精品55| 色狠狠色综合久久久绯色AⅤ影视| 五月天激情AV| 欧美顶级少妇做爰HD| 天天开心婷婷丁香五月| 亚洲国产精品VA在线看黑人| 天天天摸夜夜夜玩| 在线看黄色| 五月丁香999| 97色色视频| 9久精品| 色色激情网| 国产.亚洲.欧洲视频在线| 五月丁香六月色| 五月婷婷六月丁香免费| 亚洲成人高清在线| 激情五月综亚网| 久久小说| 丁香五月婷婷日本| 玖热精品综合视频| WWW色五月| 久久九九热视频| 91久久国产综合久久| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 国产亚洲99久久精品熟| 五月天成人在线视频网站| 欧美婷婷综合网| 99热在线观看免费中文| αv中文字幕在线观| 五月婷婷综合激情网| 干一干xxxx| 婷婷丁香五月网| 人人操五月天| 思思热在线视频99| 无码少妇高潮喷水A片免费| 秋霞电影理论| 香蕉国产2013| 97热精品| 五月婷婷激情| 五月丁香六月成人| 亚洲视频在线观看99| 亚洲AV综合在线观看| 99久在线视频| 久久久久9久无码视频| av在线超清中文| 婷婷丁香五月综合网| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 婷婷五月中文字幕国产| 99精品视频在线观看免费| 啪啪啪综合网| www色哟哟| 激情另类综合| 26uuu| 色婷婷久久天天性爱| 天天干天天色综合| 夜夜爱网站| 亚洲啪视频| 无码少妇高潮喷水A片免费| 99在热线免费视频| 婷婷五月天人妻| 天天做天天爱天天高潮| 91精品国产99久久久久久天美| 99综合视频一体| 丁香九月色| 综合网色| 日本在线噜噜| 婷婷久久午夜网| 无码成人AAAAA毛片AI换脸| 快乐婷婷五月天| 天天射色五月天| 亚洲综合五月天| 天天综合网在线| 综合xx网| 色婷婷中文字母五月丁香| 久热久69| 99婷五月| 99人妻碰碰久久久禁片| 欧亚成人A片一区二区| 人人干人人看| 夜夜躁爽日| 激情合网婷婷| 五月激情丁香久久综合网| 人人干Av| 狠狠干综合| 99久久五月婷婷| 国产热精品| 婷婷成人综合| 欧美性二区| 色一情一乱一乱91Av| 色婷婷呢狠禁久禁| 欧美日韩国产成人在线| 狠狠色综合无线观看| 成人va在线| 日本欧美成人片AAAA| 五月丁香综合| www.五月天社区| 日韩成人网站精品久久大全| 五月激情综合五月| 婷婷激情丁五月| 六月丁香婷婷尤物| 在线可以看的av网址| 99热这里只有精品23| 天天玩天天摸| 色五月aV| 婷婷五月丁香伊人| 五月婷婷六月情| 99热精品无码| 丁香五月欧美成人| 99色在线| 九九成人电影婷婷| 亚洲免费电影2| av在线观看网址| 日本波多野结衣视频| AAA级久久久精品| 久热在线中文字幕色999舞 | 婷婷基地成人五月天| 五月香婷婷| 丁香色五月婷婷17C| www,99热在线观看| 狠狠草网| 丁香五月激情宗合网| 色一情一乱一乱一区91Av| 影音先锋色婷婷| 丁香五月天堂网| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 色婷操逼| 亚洲欧洲中文日韩久久AV乱码| 99亚洲精品| 国产国产乱老熟女视频网站97| 强壮的公次次弄得我高潮A片日本 | 色99色| 婷婷操超碰| 99热这里都是精品| 国产欧美日韩综合精品一区二区| 五月天大香蕉视频| 色呦呦免费观看| 精品色情一区二区三区四区| 99久久免费精品| 亚洲狠狠干| 极品另类| 少妇性按摩无码中文A片| 极品少妇XXXX精品少妇偷拍| www.色情五月天.com| 影音先锋一区二区三区| 伊人婷婷色激情丁香| se99视频| 色综合五月| 久久人妻熟女一区二区| 五月天婷婷永久免费视频| 五月天,激情四射,婷婷频道| 天天插综合| 99综合色色色| 欧美婷婷六月丁香综合色| 五月丁香婷婷激情在线| 色播婷婷大香蕉| 国产69久久久欧美黑人A片| 丁香五月婷婷图片综合| 婷婷久久综合| 人妻久久人妻久久第一区| 色婷婷丁香香香蕉视频| 色色五月婷| 97ai婷婷| www,色中色| 蜜桃人妻无码AV天堂三区| 丁香综合婷婷五月天| 色婷婷小说网| 色综合中文| 69er小视频| 台湾无码A片一区二区| 91操人视频| 亚洲亚洲人成综合网络| 插逼综合网| 欧美综合在线五月天色婷婷| 五月天激情图片| Av在线资源| 丁香五月自拍| 99热亚洲精品| AV电影在线播放| 激情五月丁香六月| 日韩青青| 亚洲人妻一区二区 | 婷婷综合五月天| 夜夜操天天爽| 综合色图婷婷| 六月婷婷狠狠做| 99热这里只有精品首页| 亚洲综合网 665566| 色色哒五月婷婷六月丁香| 婷婷五月天伊人网| 国产精品成av人在线视午夜片| 亭亭玉立国色天香| 亚洲欧美婷婷五月色综合| 久久天堂女人| 久久99精品久久只有精品| 日本不卡高字幕在线2019| 97操视频| 婷婷色婷婷| 97电影99热| 亚洲va欧洲va国产va不卡| 中文字幕按摩做爰| 色高清无码视频| www.狠狠| 人人干AV| 99热xx| 艹| 亚洲亚洲人成综合网络| www,婷婷五月天,com| 久久五月丁香| 亚洲十月婷婷综合| 999热视频精品99免费在线| 色六月丁香婷婷狠狠干| 亚洲精品无AMM毛片| 丁香 婷婷五月| 国产精品涩涩涩视频网站| 色色综合成人网| 91碰碰碰| 久久久久久久久99精品| 亚洲不卡| 婷婷伊在线| 久久伊人大香蕉| 久青青久| 爱穴久久| www.yw色| 国庆精品久久| 天堂久热| 色综合中文| 97久久超碰| 人人干人人看| 色婷婷a三区麻| 久久加勤综合| 亚洲旡码| 婷婷成人综合免费视频| 六月婷婷日| 天天日天天爽| 99视频这里只有免费精品| 五月丁香婷婷综合| 乱色色色| 久久综合中文| 精品无码久久久久久久久| 影音先锋人妻出差| 91久久九久久九久久九久久九久久| 五月天激情美女久久| 99精品丰满| 亚洲熟妇无码乱子AV电影| 99精品热| 天天拍久久| 在线超碰免费| 久热婷婷| 色色网五月激情| 操日视频| 爆乳熟妇一区二区三区四区| 97在线综合| 日韩99色| 色五月婷婷操逼| 天天射影院| 99热在线只有精品| 日本va网站| 丁香六月欧美| 99国产精品久久久久久久久久久| 在线视频99| 久久这里面只有精品视频| 97成人在线视频| 任你爽视频| 激情婷婷五月天在线观看| 久婷婷五月天影院| 天天色中文字幕女优AV| 人妻久久久久久久| 五月婷婷视频| 99在线国| 六月丁香基地| 91操在线视频| 欧美婷婷综合网| 无码人妻少妇色欲AV一区二区| 久草五月天| 99超在线| 日夜操B| 五月婷婷婷色| 成人做爰A片免费看视频 | 九九色之九九色88| 综合网网欲色| 综合久久五月| 九九综合九| 97人人干| 97久久草草超级碰碰碰| 亚洲精品色| 丁香五月天婷婷久久综合| 99热免费精品| av激情在线| 五月婷婷丁香日韩在线| 亚洲乱码日产精品BD在线观看| 欧洲色色| 婷婷在线激情| 五月婷婷网站| 99热久草| 五月婷婷丁香在线| A网在线欧洲| 五月天六月天| www.minyis.com【JT】实力收量可预付TG@LXSPSW8 | 婷婷色五月婷婷姐妹| 九色七七| 婷婷激情在线| 丁香五月综合婷婷| 色色色综合色| 九九热99视频| 9999久久久久| 天天玩夜夜操天天爽| 色婷婷综合亚洲| www,超碰| 丁香花五月天激情| 97操视频| 亚洲视99| 日韩AAA| 亚洲综合视频一下| 天天摸天天高潮天天爽| 久久婷婷激情视频| 99精品综合| 丁香色五月天| 色欲婷婷五月天丁香| 丁香五月天视频| 成年人最刺激的综合网| 丁香激情四射| 五月婷婷天| 色99在线视频| 国产暴力强伦轩1区二区小说| 大香蕉av在线| 亚洲乱码日产精品BD| 最近免费中文字幕大全高清大全1| 九九色影院| 99只有精品| 欧美成人AAA片一区国产精品| 色色婷婷五月天| 中字幕视频在线永久在线观看免费 | 天天色图| 国产99精品免费视频| 狠狠色情婷婷| 久久婷婷五月天蜜桃| 殴美日韩成人| 丁香五月天社区| 亚洲色综合| 成人国产欧美大片一区| 自拍视频在线观看9| 91精品啪| 丁香五月天亚洲综合| www.久久婷婷| 电影爱拉战争免费观看| 亚洲天堂aaa| 区美毛片子| 日日操日日撸| 丁香五月玖玖| 亚洲成人在线播放| 99思思热只有在这里看| 97碰| 亚洲日韩久久婷婷伊人| 五月丁香六月婷婷久久肏| 久久久婷婷婷| 天天爽天天草| 久久婷婷亚洲| 91人人妻人人操| 天天干,天天舔| 深爱五月天 开心网| 亚洲成人五月| 熟妇人妻中文字幕无码老熟妇| 五月天啪啪网| 26UUU| 手机免费福利视频| 狠狠爱综合网| 色婷婷色情| 丁香六月 人妻| 综合色影院| 中字幕视频在线永久在线观看免费| 免费观看日韩成人av| 婷婷五月激情四月综合| 激情丁香五月天| 婷婷五月天成人| 黑人无码一区| 热99热9| 色色色色色色色色网站| caopeng97人人| 3pAV| 伊人久久婷婷| 超色欲天天| 天天在线天天综合网色| 五月天色社区| 97色色婷婷五月天| 五月丁香人妻| 国产精品久久久久9999小说| 九九激情综合| 99热网址| 超碰在线观看caop| 亭亭五月天黑人2014| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 午夜成人av在线| 色婷婷丁香网| 狠狠操狠狠爱| 久久综合首页| 播五月,色五月,开心五月播放器| 九九精品免费视频99| 99成人网站| 香蕉综合在线| AV无码免费| 深爱激情五月婷婷| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 五月社区婷婷激情| 丁香六月综合激情| 小视频在线亚洲| 亚洲成人影视在线观看| WWW.婷婷五月天.COM| 天天精品视频免费观看| 婷婷五月丁香四射| 久久 视频这里只有精总| 国产亚洲成AV人片在线观黄桃| 99er日韩| 狠狠色成人影片| 欧美精品999| 在线观看av网站| 色色影院黄大片| 婷婷五月在线播放| 午夜色丁香| 99热九九热| 91丨九色丨老熟女激情| 久久一热| 性爱人人网| 亚洲欧美婷婷五月色综合| 影音先锋偷偷色男人站| 操日视频| 九九精品自拍| 婷婷成人五月天| 五月天婷婷在线观看精品男人| 激情综合亚洲| 色丁香在线视频| 无码人妻AV久久久一区二区三区 | 1024成人在线观看| 超碰免费人人| 99热在这里只有免费精品| 这里有精品| 五月的丁香六月的婷婷| 99热97美女| 六九色综合婷婷五月天| 97色婷婷五月天| 可以直接看的av| av 一区三区四区| 欧美激情综合五月色丁香| 丁香六月婷婷姐网| 色久女| 婷婷网五月天| 第四色婷婷色五月| 伊人色五月| 五月成人网站| 欧美综合五月丁香六月婷| 国产免费av网站| 97色天堂| 色色色99韩| 五月激情丁香啪啪| 亚洲精品99| 色噜噜婷婷| 国产欧美精品AAAAAA片| 丁香婷婷六月| 色色婷五月天| 九草性爱| 国产精品色色| 亚洲无码色色| 欧美激情丁香五月天久久婷婷一区| a性生活久久无| 婷婷色啪| 天天成人综合视频| 五月激情网站| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 婷婷五月激情综合| 亚洲激情综合| 亚洲综合丁香婷婷六月天| www.com任你艹| 丁香六月婷| 丁香五月电影| 成人婷婷五月天| 99人人操| 婷婷在线网| www.精品99| 日韩综合大黄| 天天插天天插天天日| 九九99偷拍视频| 婷婷五月天开心网| 饮料下药迷倒漂亮女同事强干| 日韩色色网| 欧美成人日韩| 丁香五月婷婷色综合| www.99热这里只有精品| 激情五月婷婷五月| 色五月成人在线| 久鲁鲁色网| 91久久九久久九久久九久久九久久| 国产真实乱了老女人视频| 操九色| 综合激情网激情五月。| 99久热这里有精品| 狠狠色丁香| 踪合专区啪啪| 黄页免费一级视频懂色| 久热久69| 天天插天天爽| 深爱五月天婷综合| 99re热精品在线视频| 日韩AV中文字幕在线| 久久se 综合网| 狠狠操狠狠插| 超碰9| 色色亚洲五月天| 无码G高清天| 五月丁香六月婷婷综合在线| 亚洲在线综合| 色五月天丁香婷婷| 五月婷婷成人| 婷婷色五月综合| 天天摸日日舔狠狠添婷婷婷| 五月婷色丁香| 婷婷丁香五月激情中文字幕版| 六月丁香婷婷视频综合在线观看| av国产精品偷| 久久婷婷五月天蜜桃| 任你日热视频| 人人操人人爽成人AV| 99re免费视频| www91在线| 午夜日日| 182TV大香蕉| 无码动漫AV| 永久热91| 色情婷婷。| www.综合久久.com| 丁香五月婷婷av| 色一情一乱一乱一区91| 久久婷五月天| 欧美日韩大黄| 婷婷五月开心中文字幕在线| 狠狠五月激情婷婷直播片| 国产精品婷婷午夜在线观看| 99免费视频网| 日日干日日| 4399在线日本A片| 九九色综合| 五月丁香综合激情| 成人无码髙潮喷水A片| 在线中文AV| 激情婷婷在线| 天天爽天天干| 大香蕉99| 五月婷婷色| 一本大道嫩草AV无码专区| 色欲一区二区三区精品A片| 婷婷婷狠狠| 色婷婷无吗| 91网站黄| 久草久青福利| 丁香六月婷婷综合啪啪| 色久女| 免费观看的av| 亚洲成人av在线观看 | 婷婷五月四狠狠| 森林影视大全,最好看的2019年视频| 噜噜噜久久亚洲精品国产品91| 五月婷婷色播| 色五月激情网| 狠狠狠狠草草| 大香蕉久| 99热中文字幕久久| 成人看片网站| 91人无码久久久久久| 九九色欲网| 激情五月综合ì香亚洲| 五月婷婷激情综合av| 婷婷91| 9色免费网| 色婷婷五月天亚洲| 99久久6| 色五月六月| 日韩国产AV播放| 九九人人操| 日日噜狠狠色| 激情综合五月| 操逼三区| 色婷婷激情五月天在线观看| 色色五月天婷婷| chaopeng在线人人| aⅤ79成人片| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 亚洲综合五月天婷婷| αV电影| 五月婷婷五月天激情视频| 丁香六月欧美| 无码成人播放器| 超碰成人免费| www.色婷婷.com| XX色综合| 丁香五月在线伊人| 99色热视频| 色五月激情问网站| 人人爽人人爽人人爽人人爽| 久久九九综合| 99色日本| 五月婷婷在线综合| 无码AV久久久久久久久| 久久9视频| 免费播放片大片| 婷婷五月丁香综合瑟瑟| xxx综合在线| 99久久网站| 五月丁香激情四射综合| 狠狠狠狠狠| 肏日网在线看| 婷婷五月丁香伊人| 热99色| 九色视频这里只有精品| 香蕉久久国产AV一区二区| 超碰在线99热| 新激情五月天天在线网| 一级无码作爱片| 99色最新在线视频网站| 亚洲熟妇AV乱码在线观看| 丁香五月天色综合| 99精品久久| 天天操天天插| 99久久精彩视频| 天天插天天插天天插天天插| 黄色av网站在线免费播放| 天天日人人爽| 丁香五月婷婷天激情| 色爱综合视频| 中国丰满熟女A片免费观| 久热久色| 九九碰九九爱97| 日日噜狠狠色综| 色狠狠综合| 天天干夜夜操A片| 丁香六月婷婷久久综合| 亚洲精品va| 五月婷婷激情| 天天拍久久| 五月天婷婷丁香成人网| 丁香五月婷婷欧美成人色图| 久久曰9| 色狠久| 91精产一区三区免费观看| 六月丁丁香| 久久作爱| 国产乱妇无乱码大黄AA片| 亚洲婷婷五月草久| 国产亚洲99久久精品熟| 丁香五月在线观看| 亚洲综合视频网| 深爱开心激情| 狠狠操天天操天天操| 色狠狠色噜噜AV天堂五区| www.夜夜騎夜夜狠| 综合九九中文字幕| av九九| 伊人狠狠狠综合| 久热精品9999| 伊人狠狠丁香婷婷综合尤物| 91日本在线观看| 婷婷久久久| 丁香五月六月激情| 国产九九一区二区三区| 热99在线| 激情婷婷网| 久9热视频在线观看| 欧洲亚洲精品| 色婷婷激情五月天在线观看| 日本婷婷在线| 这里只有精品视频| 五月激情六月综合| 99热99ai| 欧美偷偷操| 超碰激情网| 99久久久久| 丁香婷婷激情网站| 99热在线精品播放| 色天堂婷婷| 99re热在线视频观看| 开心五月天私房婷婷| 色五月激情图片| 天天操B| 五月丁香六月婷婷在线播放| www.久久99热地址发布| 婷婷五月天综合网| 五月天淫乱视频| 激情五月天开心网丁香无码| 青青草99热久久精品国| 蜜桃人妻无码AV天堂三区| 玖玖资源在线视频| 人人人人人人人人人草| 玖玖婷婷色| 极品人妻VIDEOSSS人妻| 丁香五月六月综合激情| 久久五月婷婷开心网| 亚洲精品国产成人AV在线| 淫视馆av三区| 啪啪啪综合网| 久久婷婷网站| 丁香五月综合在线视频| 激情综合五月激情| 黄色五月婷婷| 97在线/日本| 91人久| 天天天干夜夜夜操| 免费黄色AV| 精品亚洲VA网站| 天天在线久久综合| 婷婷色在线观看| 97久操视频| 91干婷婷| 国产精品激情AV久久久青桔| 深爱五月激情| 999精品乱码77777| 99久久6| 激情WWW| 五月天婷亚洲天综合网综合| 久久久久久99精品无码| 色五月天 丁香| 欧美丰满熟妇BBB久久久| 色婷婷啪啪啪啪啪啪| yw.av| 亚洲av| 精品一二三区久久AAA片| 99爱爱| 天堂网啪啪| 亚洲精品国产精品乱码视99| 99色在线观看| 日日色五月天| 性韩日色婷婷五月天激情啪啪XXX| 婷婷丁香成人五月天| 五月婷婷色白丝| 久久婷婷青青| AV大片在线播放| 九九热视频在线观看| 久色视频| 婷婷丁香五月综合| 亚洲午夜av| 亚洲日日操| 五月婷婷久久久| 婷婷五月天影视首页| 婷婷五月天免费视频| va婷婷| 99re思思热久久| 欧美婷婷色五月| 色婷婷色婷婷五月| 橾逼网| 99热这里有精品| 五月天婷婷丁香基地在线观看| 婷婷五月天免费视频| 亚洲人人操BD| 79色色| 色婷婷成人五月| 夜夜躁爽日日| 五月天激情四射网站| 91色操| 欧美日韩成人| 日本天天操| 97在线观视频免费观看| 热思思九九| 成人AV片播放| av线电影| 在线中文av| 激情五月开心五月在线视频| 欧洲亚洲免费视频9| 欧美综合丁香网| 婷婷五月天另类网站| 婷婷丁香18| 99热在线精品观看| 99性爱| 久9综合| 色噜噜五月丁香婷婷| 久久电影4399| 色婷婷亚洲婷婷| 久久这里面只有精品视频| 天天日天天操天天干| 五月天色网站| 色综合久久88色综合天天看| 九九视频在线观看| 五月网站| 婷婷刺激综合| 激情五月天黄色小说| 99视频在线观看视频| 婷婷五月天激情丁香| 丁香桃色网| 狠狠插狠狠操| 婷婷五月丁香成人网| 久久超视频| 久久久er热| site:pnnrt.com| 色色色热热热| 婷婷黄色网| 欧美婷婷| 蜜桃五月天| 天天干天天操天天爽| av网站免费在线| www一起操| 欧美va| 九九久久五月天| 免费91久久精品| 国产成人av在线播放| 99r这里| 开心五月天激情网| 综合久久综合综合| 九九热再线九九视频免费在线观看 | 亚洲精品一区无码A片| 婷婷六月色情| 婷婷五月天深爱| 99热在线精品观看| 97成人丁香| 九玖视频这里只有精品| 深爱婷婷网| 国产精品色情AAAAA片软件| 99超级碰碰| 激情综合网 激情五月天| 97视频91| 亚洲色图五月丁香五月婷婷| 四色综合网| 欧美性爱五月天| 日比网免费国产| 国产人妻操逼| 热99在线精品| 一区操| 五月婷婷m| 玖玖资源在线视频| 婷婷的色色五月天| 人人人操97| 99色在线| 91九色在线| 婷婷激情综合| 欧美五月婷婷综合| 色月视频| 九九热免费视频| www.色五月.com| 色五月欧美| 9久热视频| 五月花婷婷最新| 五月丁香婷婷综合网| 超碰AV在线| 欧美激情综合色综合啪啪五月| 91人人看| www.26uuu.com亚洲电影| 亚洲人妻av伦理| 99er这里只有精品| 欧美内射AA| 99热综合网| av在线免费网站 | 97操操| 激情色中文| 午夜五月天| 丁香六月啪| 丁香九月婷| 亚洲午夜电影| 91九色 熟| 亚洲激情五月丁香久久久久| 色婷婷在线视频| 99'无码| 欧美日韩999| 99久99热| 国产精品99久久久久久久女警| 色婷婷六月性| 天天爽天天操| 婷婷五月天播| 欧美大肥婆大肥BBBBB| 久热这里这里有精品| 亚洲综合成人网| 色爱99| 久热婷婷综合| 思思精品久久艹 | 婷婷丁香高潮了| 丰满少妇猛烈A片免费看观看| 亚洲性图一区二区三区| 人妻丰满精品一区二区A片| 色另类五月天| 97一区二区| 激情六月日韩| 第四色五月婷婷| 六月婷婷av| 99re思思| 亚洲熟妇AV乱码在线观看| 五月综合六月婷婷| 五月婷婷9| 丁香五月先锋| 久热这里只有精品3| 国产欧美精品AAAAAA片| 九九热这里只有精品31| 一级无码作爱片| 丁香激情网| 丁香五月AV在线| 久久久天堂国产精品女人| 成人精品亚洲性爱| 九九色99| 成人无码精品1区2区3区免费看| 天天舔天天摸天天透| 婷婷影院欧美| 天天操比比| 狠狠五月天婷婷激情网。| 九九综合88| 色婷婷狠狠18禁| 丁香五月综合在线| 婷婷伊人綜合中文| 中文字幕av久久爽一区| 婷婷六月综合在线| 久久人人添人人爽添人人片αV| 操骚货在线| 五月婷五月婷伊人伊人五月婷| 成人国产欧美大片一区| 亚洲热热视频| site:pzdcoin.com| 大香蕉伊然在亚洲90| 免费AV播放| 深爱激情av| 婷婷五月丁香综合激情| 中文字幕日产A片在线看| 婷婷开心久久| 影音先锋按摩| 91男人资源站| 五月婷婷综合激情| 五月天婷婷无码视频| 久久之人妻| 亚洲天堂有码| 大香蕉五月天| 日日干日日| 很很干在线视频| 99热国内精品| 亚洲第一成人AV| 这里只有精品1| 亭亭五月色男人| 五月天丁香啪啪综合| 91丨九色丨老农村| 亚洲国产精品VA在线看黑人| www.99热在线观看| 五月婷六月天| 第四色婷婷日本| 丁香综合久久| 国产婷婷色综合AV蜜臀AV | 大香线蕉伊人| www、色色色| 五月丁香WWW| 青青草原亚洲天堂| 色吊丝中文字幕| 大陆极品少妇内射AAAAAA| 婷婷激情性爱| 欧美成人性爱网| 丁香五月六月婷婷自拍| 久草五月婷婷| 色五月中文字幕| 国产毛片精品一区二区色欲黄A片| 亚洲操逼片| 婷婷狠狠色| 五月丁香六月婷婷婷婷| 丁香五月天天哦| 97干在线观看视频| 亚洲激情| 665566 无码| 最近中文字幕大全免费版在线 | 五月婷婷久久综合| 丁香五月天堂网| 99精品大片| 米奇影视资源婷婷狠狠色激情欧美五月丁香| 丁香美女五月天婷婷| 亚洲国产精品VA在线看黑人| 久99热在线观看| 五月天婷婷无码| 五月天激情网页| 337p午夜影院| 色婷婷视频| 狠狠色五月激情| 久热91| 一级性感黄色内射视频| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 久久久精品99亚洲综合| 97人人搞| 夜夜躁婷婷AV| 色婷婷综合成人| 人妻aV在线| 思思99久久| 91视频五月丁香| 《久久综合九色综合97婷婷| 激情婷婷丁香色五月| www狠狠爱com| 久热爱大香蕉在线蜜臀悦色 | 日日夜夜综合| 俺去啦综合网| 久久精品亚洲一级牲爱综合 | 5月婷婷激情在线| 婷婷网五月天| 98永久精品| 亚洲成人AV在线播放| 免费婷婷| 丁香五月婷婷色| 中文字幕在线播放视频| 99色婷婷视频| 丁香五月天之婷婷影院| 丁香六月婷婷综合| 午夜少妇在线观看视频| 丁香六月婷婷色XXXX| 91操黄| 久久久精品99| 欧美日本黄色| 五月香婷婷| 色综合天天网| 热99精品视频| 色色色成人网| av色婷婷| 色色激情| 伊人九热| 婷婷丁香五月激情密臀av| 丁香婷婷色色| 永久的网站AAAA | 伊人激情网| 99九九在线观看免费| 五月天社区| 开心久久爱五月天| 激情五月天无人视频在线| 激情影院丁香五月| 99视频在线精品免费观看2| 午夜大香蕉| 婷婷九月丁香中文| 综合激情在线视频| 婷婷欧美激情综合| 五月天婷婷成人资源站| 精品丁香五月天在线播放| 91丨九色丨高潮丰满日本| 五月天伊人| 97午夜一区二区| 99ri精品在线| 丁香婷婷激情五月色| 婷婷五月天在线观看第二页| 婷婷综合色| www.97视频| 91婷婷五月丁香碰| 九九视频网| 日本色色视频| 婷婷六月色| 五月激情婷婷偷拍| 99九色视频在线观看| 狠狠色狠狠鲁| 91日日日| 成人做爰黄A片免费看直播室男男| www.久久婷婷| 丁香狠狠| 91丨九色丨熟女|老版| AA片在线观看视频在线播放| 日本免费91| 五月 丁香 欧美| 婷婷色五月开心五月| 国产精品久久久久久久久久久久| 色五月婷婷影视| 中文人妻主播久久| 久久久久久人妻| 嫩草AV久久伊人妇女超级A| 97热久久五月婷婷| 日韩成人五月天| 婷婷丁香宗合888| 五月丁香综缴情性爱| 偷偷狠狠久久婷婷五月天| 婷婷亚洲五月| AA片在线观看视频在线播放| 欧洲综合视频| 色欲色香综合网| 国产乱妇无乱码大黄AA片| 8区视频在线| 亚洲日韩欧美综合VA| 99视频只有精品| 日韩成人AV在线| 亚洲国产99| 岛国AAAV| 狠狠人人| 免费精品99| 九九综合色综合| 五月婷综合| 久久大大香| 狠狠色丁香99| 色播五月| 91色噜噜狠狠狠狠色综合| 久久偷拍综合五月天| 草了bav视频在线观看| 五月丁香久久精品在线观看| 99九九在线精品热动漫| 日韩精品99久久| 99re最新地址| 国产一区二区av免费| 国产五月丁香在线| 精品久久99码| 91精品久久久久久久久久久久| 少妇激情五月天| 亚洲AV无码成人电影| 五月天成人网婷婷| 国产这里只有精品| 婷五月丁香俺| 成人日韩欧美| 日韩不卡DvD| 婷婷五月电影院| 日本激情91| 综合99久久天天综合| www色婷婷com| 99热这里只有精品首页| 婷婷五月六月丁香| 99精品亚洲| 夜夜AVV| 丁香五月天成人网站| 婷五月天| 人妻久久久久久久 | 天天日夜夜操五月| 亚洲网站观看视频| 人人做人人看人人摸| www.99精品日操伊人乱碰在线| 色欲资源网|