日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

快速開始

說明

小程序只在 10.1.60 及以上版本基線中提供支持。

前置條件

您已經接入工程到 mPaaS。更多信息,請參見以下內容:

添加 SDK

根據您采用的接入方式,請選擇相應的添加方式。

  • 使用 mPaaS Xcode Extension。此方式適用于采用了 基于 mPaaS 框架接入基于已有工程且使用 mPaaS 插件接入 的接入方式。

    1. 單擊 Xcode 菜單項 Editor > mPaaS > 編輯工程,打開編輯工程頁面。

    2. 選擇 小程序,保存后單擊 開始編輯,即可完成添加。2

  • 使用 cocoapods-mPaaS 插件。 此方式適用于采用了 基于已有工程且使用 CocoaPods 接入 的接入方式。

    1. 在 Podfile 文件中,使用 mPaaS_pod "mPaaS_TinyApp" 添加小程序組件依賴。1

    2. 在命令行中執行 pod install 即可完成接入。

    說明

    如果有更多接入相關問題,歡迎搜索群號 32843812 加入釘釘群進行咨詢交流。該釘釘群已添加 mPaaS 公有云答疑小助手,能夠快速回答常見接入問題。更多關于使用公有云答疑小助手的信息,請參見 公有云答疑小助手

使用 SDK

本文將結合 小程序官方 Demo 來介紹小程序的使用。

小程序的整個使用過程主要分為以下三步:

  1. 初始化配置

  2. 發布小程序

  3. 啟動小程序

1. 初始化配置

在配置工程時,您需要:

  • 初始化容器

  • 配置小程序

如果您的 App 生命周期并沒有交給 mPaaS 框架托管,您還需進行非框架托管配置(若版本 ≥ 10.1.68.25,推薦使用 10.1.68.25 及以上版本非框架托管配置)。

1.1 初始化容器

容器初始化操作包括啟動容器、定制容器和更新小程序包。

1.1.1 啟動容器

  • 為了使用 Nebula 容器,您需要在程序啟動完成后調用 SDK 接口,對容器進行初始化。必須在 DTFrameworkInterface- (void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中進行初始化。

    - (void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        // 初始化容器
        [MPNebulaAdapterInterface initNebula];
    }
  • 若您需要使用 預置小程序包、自定義 JSAPIPlugin 等功能,請將上方代碼中的 initNebula 替換為下方代碼中的 initNebulaWith 接口,傳入對應參數對容器進行初始化。

    • presetApplistPath:自定義的預置小程序包的包信息路徑。

    • appPackagePath:自定義的預置小程序包的包路徑。

    • pluginsJsapisPath:自定義 JSAPI 和 Plugin 文件的存儲路徑。

        - (void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
        {
            // 初始化容器
            NSString *presetApplistPath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"MPCustomPresetApps.bundle/h5_json.json"] ofType:nil];
            NSString *appPackagePath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"MPCustomPresetApps.bundle"] ofType:nil];
            NSString *pluginsJsapisPath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"Poseidon-UserDefine-Extra-Config.plist"] ofType:nil];
            [MPNebulaAdapterInterface initNebulaWithCustomPresetApplistPath:presetApplistPath customPresetAppPackagePath:appPackagePath customPluginsJsapisPath:pluginsJsapisPath];
        }
      說明

      initNebulainitNebulaWithCustomPresetApplistPath 是兩個并列的方法,請勿同時調用。

  • 配置小程序包請求時間間隔:mPaaS 支持配置小程序包的請求時間間隔,可全局配置或單個配置。

    • 全局配置:您可以在初始化容器時通過如下代碼設置?程序包的更新頻率。

      [MPNebulaAdapterInterface shareInstance].nebulaUpdateReqRate = 7200;

      其中 7200 是設置全局更新間隔的值,7200 為默認值,代表間隔時長,單位為秒,您可修改此值來設置您的全局小程序包請求間隔,范圍為 0 ~ 86400 秒(即 0 ~ 24 小時,0 代表無請求間隔限制)。

    • 單個配置:即只對當前小程序包配置。可在控制臺中前往 新增小程序包 > 擴展信息 中填入 {"asyncReqRate":"1800"} 來設置請求時間間隔。詳情參見 創建小程序包 中的 擴展信息

1.1.2 定制容器

如有需要,您可以通過設置 MPNebulaAdapterInterface 的屬性值來定制容器配置。必須在 DTFrameworkInterface- (void)application:(UIApplication *)application afterDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中設置,否則會被容器默認配置覆蓋。

  - (void)application:(UIApplication *)application afterDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {
      // 定制容器
      [MPNebulaAdapterInterface shareInstance].nebulaVeiwControllerClass = [MPH5WebViewController class];
      [MPNebulaAdapterInterface shareInstance].nebulaNeedVerify = NO;
      [MPNebulaAdapterInterface shareInstance].nebulaUserAgent = @"mPaaS/Portal";
  }

屬性含義如下:

名稱

含義

備注

nebulaVeiwControllerClass

H5 頁面的基類

默認為 H5WebViewController。若需指定所有 H5 頁面的基類,可直接設置此接口。注意:基類必須繼承自 H5WebViewController。

nebulaWebViewClass

設置 WebView 的基類

基線版本大于 10.1.60 時,默認為 H5WKWebView。自定義的 WebView 必須繼承 H5WKWebView?;€版本等于 10.1.60 時,不支持自定義。

nebulaUseWKArbitrary

設置是否使用 WKWebView 加載小程序包頁面

基線版本大于 10.1.60 時,默認為 YES?;€版本等于 10.1.60 時,默認為 NO。

nebulaUserAgent

設置應用的 UserAgent

設置的 UserAgent 會作為后綴添加到容器默認的 UA 上。

nebulaNeedVerify

是否驗簽,默認為 YES

配置小程序包 時未上傳私鑰文件,此值需設為 NO,否則小程序包加載失敗。

nebulaPublicKeyPath

小程序包驗簽的公鑰

配置小程序包 時上傳的私鑰對應的公鑰。

nebulaCommonResourceAppList

公共資源包的 appId 列表

-

errorHtmlPath

當 H5 頁面加載失敗時展示的 HTML 錯誤頁路徑

默認讀取 MPNebulaAdapter.bundle/error.html。

configDelegate

設置自定義開關 delegate

提供全局修改容器默認開關值的能力。

1.1.3 更新小程序包

啟動完成后,全量請求所有小程序包信息,檢查服務端是否有更新包。為了不影響應用啟動速度,建議在 (void)application:(UIApplication \*)application afterDidFinishLaunchingWithOptions:(NSDictionary \*)launchOptions 之后調用。

- (void)application:(UIApplication *)application afterDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 定制容器
    [MPNebulaAdapterInterface shareInstance].nebulaVeiwControllerClass = [MPH5WebViewController class];
    [MPNebulaAdapterInterface shareInstance].nebulaNeedVerify = NO;
    [MPNebulaAdapterInterface shareInstance].nebulaUserAgent = @"mPaaS/Portal";
    [MPNebulaAdapterInterface shareInstance].nebulaCommonResourceAppList = @[@"77777777"];
    // 全量更新小程序包
    [[MPNebulaAdapterInterface shareInstance] requestAllNebulaApps:^(NSDictionary *data, NSError *error) {
        NSLog(@"");
    }];
}

初始化完成后,效果如下:在當前工程 TARGETSGeneral > Embedded Binaries 中添加 FalconLooks 庫。

說明

  • 配置動態庫在 10.1.68.15(含)及以上版本基線中已經取消,無需配置。

  • 您可在 Xcode Extension 中單擊 mPaaS > 編輯工程 > 編輯模塊,在 工程模塊信息 右側 查看基線版本號。

02

1.2 非框架托管配置(10.1.68.25 及以上版本)

本節介紹非框架托管應用初始化 mPaaS 框架的簡易方法。

  • 只需在應用的 windownavigationController 創建完成后,調用以下方法即可,不再需要創建 bootloader、隱藏框架 window 等操作。 navigationController

  • 支持不繼承 DFNavigationControllerDFNavigationController

  • 若 App 有多個導航欄,且需要在不同導航欄中打開不同離線包,在切換導航欄后需重新設置容器的導航欄。

1.3 非框架托管配置

若您 App 的生命周期并沒有交給 mPaaS 框架托管,而是指定為您自己定義的 delegate,那么您還需額外配置進行非框架托管。

說明

若您使用的基線版本 ≥ 10.1.68.25,推薦使用上方的非框架托管配置(10.1.68.25 及以上版本)。

03

1.3.1 啟動 mPaaS 框架

在當前應用的 didFinishLaunchingWithOptions 方法中調用 [[DTFrameworkInterface sharedInstance] manualInitMpaasFrameworkWithApplication:application launchOptions:launchOptions]; 來啟動 mPaaS 框架。

說明

啟動框架必須在當前應用 windownavigationController 初始化完成后調用,否則無法生效。

1.3.2 創建應用啟動器

創建 DTBootLoader 的子類,重寫 createWindowcreateNavigationController 方法,返回當前應用自己的 windownavigationControlle

  • 設置 window:當前應用的 keyWindow。

  • 設置 navigationController:加載小程序所在的 navigationController,必須繼承 DFNavigationController。

    • 若當前應用 keyWindowrootviewcontroller 是一個 navigationController,設置為該類即可;

    • 若當前應用 keyWindowrootviewcontroller 是一個 tabBarViewController,取加載小程序所在標簽(tab)的 navigationController。

0506

DTBootPhase 的 category 中重寫 setupNavigationController 方法,指定小程序加載的 navigationController。07081.3.3 指定應用啟動器

DTFrameworkInterface 的 category 中重寫方法,指定當前應用自己的 bootloader,并隱藏 mPaaS 框架默認的 windowlauncher 應用。09

2. 發布小程序

啟動小程序之前,您需要先通過 mPaaS 控制臺發布該小程序。

2.1 進入小程序后臺

登錄 mPaaS 控制臺,進入目標應用后,從左側導航欄進入 小程序 > 小程序發布 頁面。

2.2 配置虛擬域名

如果您是第一次使用,請先在 小程序 > 小程序發布 > 配置管理 中配置虛擬域名。虛擬域名可以為任意域名,建議使用您的企業域名,如 example.com

說明

一定要使用自己注冊的域名。

1

2.3 創建小程序

進入 mPaaS 控制臺,完成以下步驟:

  1. 單擊左側導航欄的 小程序 > 小程序發布。

  2. 在打開的小程序包列表頁,單擊 新建

  3. 新建小程序 窗口,填寫小程序的 ID 和小程序名稱,單擊 確定。其中,小程序 ID 為任意 16 位數字,例如 2018080616290001。 1

  4. 在小程序 App 列表下,找到新增的小程序,單擊 添加。

  5. 基本信息欄,完成以下配置:

    • 版本:填寫小程序包的版本號,例如 1.0.0.0。

    • 客戶端范圍:選擇小程序 App 對應的 iOS 客戶端最低版本和最高版本。在這個范圍內的客戶端 App 可以啟動對應的小程序,否則無法啟動。這里最低版本可以填寫 0.0.0,最高版本可以不填,代表客戶端所有版本都可以啟動這個小程序。

      說明

      這里的版本號指當前客戶端 App 的版本號,請參考工程 Info.plist 中的 Product Version 字段。

      13
    • 圖標:單擊 選擇文件 上傳小程序包的圖標。第一次創建小程序時必需上傳圖標。示例圖標如下:2

    • 文件:上傳小程序包資源文件,文件格式為 .zip。我們為您準備了一個 mPaaS 示例小程序(點此下載),您可以直接上傳。

      3

  6. 在配置信息欄,完成以下配置:

    • 主入口 URL:必填,小程序包的首頁,例如 /index.html#page/tabBar/component/index。

    • 其他配置保持默認即可。

      4
  7. 勾選 已確認以上信息準確,提交后不再修改。

  8. 單擊 提交。

2.4 發布小程序

進入 mPaaS 控制臺,完成以下步驟:

  1. 單擊左側導航欄的 小程序 > 小程序發布 > 小程序正式包管理。

  2. 在打開的小程序包列表頁中,選擇您要發布的小程序包與版本,單擊 創建發布。 6

  3. 在創建發布任務欄,完成以下配置:

    • 發布類型:選擇 正式 發布類型。

    • 發布描述:選填。

  4. 單擊 確定 完成發布創建。

3. 啟動小程序

完成上述步驟之后,進入對應的頁面時,調用框架提供的 startTinyAppWithId 接口方法加載小程序。

[MPNebulaAdapterInterface startTinyAppWithId:appId params:nil];

若打開小程序時需要傳遞參數,可以通過 param 參數進行設置。其中 param 包含 pagequery 兩個字段:

  • page: 用來指定打開特定頁面的路徑。

  • query:用來傳入自定義的參數。多個鍵值對以 & 進行拼接。

NSDictionary *param = @{@"page":@"pages/card/index", @"query":@"own=1&sign=1&code=2452473"};
[MPNebulaAdapterInterface startTinyAppWithId:appId params:dic];