WebViews iOS

本指南說明如何將嵌入在一個較大的 iOS 應用程式內的科爾多瓦啟用 web 視圖元件。這些元件可以如何與對方溝通的詳細資訊,請參閱應用程式外掛程式。

WebViews 為 iOS 支援開始與科爾多瓦版本 1.4,用切肉刀元件為其 Xcode 範本可作為一個參考實現。 科爾多瓦 2.0 及更高版本僅支援基於子專案的刀實施。

這些指示要求至少科爾多瓦 3.x 和 Xcode 6.0 中,以及從新創建的 iOS 專案的 config.xml 檔。 你可以使用程式的命令列介面來創建一個新專案,然後獲取 config.xml 從檔中的命名的應用程式子目錄內platforms/ios.

要按照這些說明進行操作,請確保您有最新的科爾多瓦分佈。從cordova.apache.org下載並解壓其 iOS 包。

將刀添加到 Xcode 專案 (CordovaLib 子專案)

  1. 如果它正在運行,請退出 Xcode。

  2. 打開一個終端並導航到科爾多瓦 iOS 的原始目錄。

  3. 複製 config.xml 檔到專案目錄上文所述。

  4. 打開 Xcode 並使用 Finder 來複製 config.xml 檔到其專案導航視窗。

  5. 選擇創建組的任何添加的資料夾,然後按完成.

  6. 使用 Finder 來複製 CordovaLib/CordovaLib.xcodeproj 檔到 Xcode 的專案導航器

  7. 選擇 CordovaLib.xcodeproj專案導航器.

  8. 鍵入選項-命令-1鍵的組合,以顯示檔檢查器.

  9. 選擇相對於組檔檢查器器下拉式功能表中的位置.

  10. 導航專案中選擇專案圖示,選擇目標,然後選擇生成設置選項卡。

  11. 添加 -force_load-Obj-C其他連結器標誌值。

  12. 按一下專案導航器中的專案圖示,選擇目標,然後選擇生成階段選項卡。

  13. 展開連結二進位檔案與庫.

  14. 選擇+按鈕,然後添加下列框架。 (可選) 在導航專案內, 移動它們框架組下:

    AssetsLibrary.framework
    CoreLocation.framework
    CoreGraphics.framework
    MobileCoreServices.framework
    
  15. 擴展目標的依賴關係,與該標籤,如果有多個框頂部的框。

  16. 選擇+按鈕,然後添加 CordovaLib 生成產品。

  17. 展開連結與庫的二進位檔案,與該標籤,如果有多個框頂部的框。

  18. 選擇+按鈕,然後添加libCordova.a.

  19. 設置Xcode 首選項 → 位置 → 派生資料 → 高級...獨特.

  20. 在專案導航器中選擇專案圖示,選擇你的目標,然後選擇生成設置選項卡。

  21. 搜索標題搜索路徑。該設置,添加這三個值以下,包括引號:

    "$(TARGET_BUILD_DIR)/usr/local/lib/include"        
    "$(OBJROOT)/UninstalledProducts/include"
    "$(BUILT_PRODUCTS_DIR)"
    

    科爾多瓦 2.1.0,如 CordovaLib 已升級為使用自動引用計數 (弧)。 你不需要升級到要使用 CordovaLib ,但如果您想要升級您的專案使用,則應使用 Xcode 遷移嚮導從編輯 → 重構 → 轉換為目標 C 弧...功能表中,取消選擇 libCordova.a,然後運行嚮導完成。

使用 CDVViewController

  1. 添加以下標頭:

    #import <Cordova/CDVViewController.h>
    
  2. 具現化一個新的 CDVViewController 和保留它在某個地方,例如,到類的屬性:

    CDVViewController* viewController = [CDVViewController new];
    
  3. (可選) 設置 wwwFolderName 屬性,預設為 www

    viewController.wwwFolderName = @"myfolder";
    
  4. (可選) 設置的起始頁 config.xml 檔的 <content> 標記,或者本地的檔:

    <content src="index.html" />
    

    ...或是遠端站台:

    <content src="http://apache.org" />
    
  5. (可選) 設置 useSplashScreen 屬性,預設為 NO

    viewController.useSplashScreen = YES;
    
  6. 設置視圖框架。始終設置為最後一個屬性:

    viewController.view.frame = CGRectMake(0, 0, 320, 480);
    
  7. 向視圖添加刀:

    [myView addSubview:viewController.view];
    

添加 HTML、 CSS 和 JavaScript 資產

  1. 創建一個新的目錄,在專案中, www 為例。

  2. 將 HTML、 CSS 和 JavaScript 資產放到此目錄。

  3. 使用 Finder 將目錄複寫到 Xcode 的專案導航視窗。

  4. 選擇任何添加的資料夾創建資料夾的參考檔.

  5. 設置相應的 wwwFolderNamestartPage 你最初創建的目錄的屬性或使用預設值 (在上一節中指定) 時具現化CDVViewController.

    /*
     if you created a folder called 'myfolder' and
     you want the file 'mypage.html' in it to be
     the startPage
    */
    viewController.wwwFolderName = @"myfolder";
    viewController.startPage = @"mypage.html"