close

 

目前中國正在推廣各種小程序

因為不用透過Appstore/Play Store審核

等於一般app送審的時間大大縮短

(例如微信小程序幾乎半天、一天就能審過)

並且使用者不需要安裝程式即可使用

某些輕量化的企業推廣app就開始提倡使用

只能說蘋果大開方便之門的下場

 

總之既然想要改變戰場

就會想引導iOS app user去微信裡看看

今天我們來講要怎麼在iOSapp裡跳轉到微信小程序吧

 


一、結果示範

iOS app的畫面

點擊拉起小程序後

 

進入微信並且自動開啟某個你指定的小程序

 


 

先研究了一下官方的相關文件

微信方『iOS app如何拉起小程序』的文件

WechatOpenSDK for iOS

SDK接入指南

 

簡單講就是使用WechatOpenSDK沒錯

但是這邊有一些比較容易忽略的地方

 


 

二、Swift 怎麼使用WechatOpenSDK?

SDK本身是用objC寫的,

不管你用cocoapods安裝

或是直接把API整包丟進你的iOS APP裡都需要再處理

 

我是使用cocoapods安裝 (pod 'WechatOpenSDK'


 

除此之外因為我整個專案主要是用Swift寫

所以還需要橋接

一個最快的方法就是隨便新增一個Cbjective-C file

這樣Xcode就會主動問要不要新增一個橋接檔案

最後留下  "專案名稱-Bridging-Header.h"  這個檔案就好

其他不必要的可以刪掉

 

檔案裡我是這樣寫的

#import "WXApi.h"

#import "WXApiObject.h"

 

 

 

至此,應該要能在各個.swift檔裡

不需要 import module就能使用 WXApi囉

 


三、程式碼

 

在AppDelegate裡register App Id (類似wxooooooooooooo那串) *註一 

WXApi.registerApp("wxd930ea5d5a258f4f"//官方測試用的App Id

 

        let launchMiniProgramReq = WXLaunchMiniProgramReq.object()

        launchMiniProgramReq.userName = "gh_xxxxxxxxxxxxxx"  //想打開的小程序原始Id *註二

        launchMiniProgramReq.path = "" //路徑決定打開頁面,預設是首頁

        launchMiniProgramReq.miniProgramType = .release //版本

//WXMiniProgramTypeRelease = 0,       //**< 正式版  */

//        WXMiniProgramTypeTest = 1,        //**< 开发版  */

//    WXMiniProgramTypePreview = 2,         //**< 体验版  */

        WXApi.send(launchMiniProgramReq)

 

 


 

四、必要與非必要條件

這個地方很玄,

SDK接入指南裡有很多官方建議的手續其實是非必要的

但我猜可能官方介紹的比較籠統,

只需要"跳轉小程序"這個功能

不一定會全部條件都需要達到

以下介紹

 


 

*註一 必要

在程式端register App Id之前你必須

1. 在微信開放平台上關聯你的ios app bundle ID和wechat app ID

btw這裡指的微信開放平台跟公眾平台不一樣

像公司帳號我就有權限進後者沒有權限進前者QQ

但這個地方很妙,

因為只要iOS app bundle IDwechat app ID有對上就好

之後跳轉去哪個小程序都沒問題

所以wechat app ID不一定要用你的小程序的!!!

所以練習的時候其實可以偷偷借用官方的這組

 

官方 iOS app bundle ID

  

 

官方 wechat app ID

wxd930ea5d5a258f4f

 


 

*註二 必要

所謂的原始ID並非你在Wechat專案裡看到的app ID

而是登入Wechat公眾平台才拿得到

 

 

實測必要手段只有以上。

 


 

非必要

info.plist裡面新增以下

 

非必要

Target-Info-新增URL Types

 

猜測應該是其他例如金流等等method會需要

但目前用不到就先研究到此。

(寫小程序讓你鴨梨好大?香港德州撲克給你好好玩)

 


 

以上,希望可以幫助到路過的你

如果有其他問題的話也可以留下留言 :)

 

arrow
arrow
    全站熱搜

    Asueliu 發表在 痞客邦 留言(0) 人氣()