使用 mPaaS 快速集成iOS掃碼功能

1、mPaaS 簡介

金融級(jí)移動(dòng)開發(fā)平臺(tái)(Mobile PaaS,簡稱 mPaaS)是源于支付寶 App 的移動(dòng)開發(fā)平臺(tái),為移動(dòng)開發(fā)借帘、測試、運(yùn)營及運(yùn)維提供云到端的一站式解決方案淌铐,能有效降低技術(shù)門檻肺然、減少研發(fā)成本、提升開發(fā)效率腿准,協(xié)助企業(yè)快速搭建穩(wěn)定高質(zhì)量的移動(dòng) App际起。

2、開發(fā)者工具簡介

mPaaS提供了以下開發(fā)者工具以幫助開發(fā)者能夠快速接入 mPaaS 并輔助進(jìn)行開發(fā)工作吐葱。

  • mPaaS 插件:是一個(gè)具有圖形化界面的插件工具街望。功能包括新建 mPaaS 工程、增刪 mPaaS 組件依賴弟跑、工程打包等灾前。因?yàn)?mPaaS 插件需要和命令行協(xié)同工作,因此在安裝 mPaaS 插件時(shí)孟辑,會(huì)同時(shí)安裝命令行工具哎甲。
  • 命令行工具:是一套 mPaaS 相關(guān)的終端命令集,在安裝 mPaaS 插件時(shí)一起安裝饲嗽。通過命令行工具炭玫,您可以通過在終端執(zhí)行命令查看 SDK 版本、增刪 mPaaS 組件依賴貌虾、去除和恢復(fù) Xcode 簽名等础嫡。
  • mPaaS Xcode Extension:是基于 XcodeKit 構(gòu)建的官方插件,它可以在 Xcode 的 Editor 菜單中增加額外的命令。安裝簡單榴鼎,不需要去除 Xcode 簽名。通過全新的圖形化界面晚唇,幫助您更快速地接入 mPaaS巫财。mPaaS Xcode Extension支持:新建 mPaaS 工程、編輯工程(導(dǎo)入云端配置文件哩陕,添加刪除 mPaaS 組件平项,升級(jí) mPaaS 基線,生成無線保鏢圖片)悍及、基礎(chǔ)工具(工程打包工具等)闽瓢。

注意: mPaaS Xcode Extension 和 mPaaS 插件兩者因?yàn)楣δ軟_突,不能同時(shí)安裝心赶。

2.1扣讼、 mPaaS Xcode Extension 使用

2.1.1 為什么選擇 mPaaS Xcode Extension

1、穩(wěn)定優(yōu)異的性能
mPaaS Xcode Extension 獨(dú)立于 Xcode 進(jìn)程單獨(dú)運(yùn)行缨叫,不再影響 Xcode 的原生功能椭符。從此告別 Xcode 啟動(dòng)卡死、操作無響應(yīng)耻姥、系統(tǒng)內(nèi)存飆高等困擾销钝。

2、貼近 macOS 原生的UI設(shè)計(jì)
對(duì) mPaaS Xcode Extension 的 UI 進(jìn)行了全局考量和整體設(shè)計(jì)琐簇,視覺和交互更加友好蒸健,更貼近 macOS 生態(tài)。對(duì)深色模式的適配更加出色婉商,實(shí)現(xiàn)對(duì)系統(tǒng)主題實(shí)時(shí)切換的適配似忧。

3、不需要去除 Xcode 的簽名

4据某、我們的項(xiàng)目都是開發(fā)很久的橡娄,直接集成使用方便

5、支持兩種啟動(dòng)方式
mPaaS Xcode Extension有兩種啟動(dòng)方式:從 Xcode Editor 菜單啟動(dòng) 和 直接啟動(dòng) macOS 應(yīng)用癣籽。

2.1.2 安裝 mPaaS Xcode Extension 注意事項(xiàng)

  1. 如果您已經(jīng)安裝了舊版本 mPaaS 插件(去簽名版本)挽唉,需要先將 Xcode 簽名恢復(fù),或者直接卸載舊版插件(方法如下)筷狼。

卸載插件 版本≥ 5.0.0

如果您之前安裝了5.0 及以上版本的mPaaS 插件瓶籽,可以使用如下的方法進(jìn)行卸載。

1.  退出 Xcode埂材。

2.  恢復(fù) Xcode 簽名塑顺,在終端中執(zhí)行如下命令。
mpaas xcode restore

3.  卸載 Xcode 插件,在終端中執(zhí)行如下命令严拒。
mpaas xcode plugins uninstall

4.  卸載 mPaaSKit扬绪,在終端中執(zhí)行如下命令。
rm -rf /Users/Shared/.mpaaskit

5.  卸載 mpaas 裤唠,在終端中執(zhí)行如下命令挤牛。
sudo rm /usr/local/bin/mpaas

卸載插件 版本 < 5.0.0

如果您之前安裝了 mPaaS 插件 5.0 以下的版本,可以使用如下的方法進(jìn)行卸載种蘸。

1.  退出 Xcode墓赴。

2.  恢復(fù) Xcode 簽名,在終端中執(zhí)行如下命令航瞭。
mpaas restore

3.  卸載 Xcode 插件诫硕,在終端中執(zhí)行如下命令。
rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/mPaaSPlugin.xcplugin

4.  卸載 mPaaSKit刊侯,在終端中執(zhí)行如下命令章办。
rm -rf /Users/Shared/.mpaaskit

5.  卸載 mpaas 命令,在終端中執(zhí)行如下命令滔吠。
sudo rm /usr/local/bin/mpaas
  1. mPaaS Xcode Extension 在 Xcode 升級(jí)之后依然生效纲菌,您無需因升 Xcode 重新安裝 mPaaS Xcode Extension。
  2. 安裝了 Xcode 并且版本在 Xcode 9 及以上疮绷。
  3. macOS 版本 ≥ 10.13翰舌。
  4. 未安裝過 mPaaS Xcode Extension(如果想升級(jí)安裝,建議直接使用插件內(nèi)的升級(jí)功能)冬骚。

2.1.3 安裝步驟

步驟一
終端下執(zhí)行下面代碼

curl -sSL https://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/mpaaskit/Xcode-extension/install.sh | sh

步驟二
安裝完成后椅贱,會(huì)打開引導(dǎo)頁面,點(diǎn)擊 開始使用 (或者關(guān)閉頁面只冻,手動(dòng)重啟 Xcode)即可使用庇麦。

Snip20191012_23.png

步驟三
打開任意 Xcode 工程,在 Xcode 左側(cè)工程結(jié)構(gòu)面板中選擇任意可編輯文件(如:main.m)喜德,若能看到菜單 Editor > mPaaS山橄,則說明 mPaaS 插件加載成功。

圖片.png

系統(tǒng)授權(quán)
由于 mPaaS Xcode Extension 需要對(duì) Xcode 工程進(jìn)行操作舍悯,因此在第一次使用“編輯工程”功能的時(shí)候航棱,系統(tǒng)需要用戶進(jìn)行授權(quán),彈框如下圖所示萌衬。請(qǐng)務(wù)必允許饮醇,否則插件無法按預(yù)期工作。

Snip20191012_24.png

2.1.4 卸載 mPaaS Xcode Extension

由于 mPaaS Xcode Extension 在 macOS 中的存在形式為獨(dú)立的應(yīng)用秕豫,因此可以采用在 macOS 中常規(guī)的卸載應(yīng)用方式進(jìn)行卸載朴艰。
注意: 在卸載mPaaS Xcode Extension前一定要先退出 Xcode 和 mPaaS Xcode Extension 的所有進(jìn)程。

3、控制臺(tái)創(chuàng)建應(yīng)用

3.1 控制臺(tái)創(chuàng)建應(yīng)用

注意

  1. 您需要確保擁有阿里云開發(fā)者賬號(hào)祠墅。賬號(hào)注冊的更多信息侮穿,請(qǐng)參見 賬號(hào)注冊
  2. 登錄 mPaaS 控制臺(tái)饵隙。(有可能會(huì)讓公測申請(qǐng))
  3. 公測申請(qǐng)通過會(huì)收到郵件撮珠,再次進(jìn)入 mPaaS 控制臺(tái)可以看到如下圖 (我當(dāng)時(shí)就是隨便填寫的,不影響后續(xù)開發(fā))
圖片.png
  1. 進(jìn)入后金矛,會(huì)有一個(gè) mPaaS 體驗(yàn)應(yīng)用,然后點(diǎn)擊下方 創(chuàng)建應(yīng)用 按鈕勺届,輸入應(yīng)用名稱驶俊,確定后,控制臺(tái)上便會(huì)增加一個(gè)應(yīng)用免姿。
圖片.png
  1. 點(diǎn)擊我們剛剛創(chuàng)建的應(yīng)用名稱饼酿,點(diǎn)擊 代碼管理 >> 代碼配置 >> 選擇iOS >> 填寫B(tài)undle ID
圖片.png
  1. 點(diǎn)擊下載配置 等下接入項(xiàng)目會(huì)用到,如下是我剛生成的配置文件
{
    "appId":"ONEX450ED02121714",
    "appKey":"ONEX450ED02121714_IOS",
    "base64Code":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAADAAMDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxFobXF3W6hxiboRDqFOuMY3WvmIHmkFAgABAQAAAAQAAB4AAADAAAAAEQAAAIcAAAABAAAAAAAAAAAAAAAAAAAAAAAAABUAAAABAAAAAAAAAAAAAAAyMDE5LTEwLTEyIDE3OjE0OjU1dwAAAABuXrapeYAalbJEm/5GzZuzbDngtnu7TSERZO9Z78nXXSeNBqAOITXAZdC+q51ZXgqTPsAO+Q0wCnIfY2F1cmdjbngBAwF4dWZ3AwECBgEAEQEBCAFxdHNqb3b+iDS8mPyAR9NmuzdW94S76PnJmefIexqabj6e0HKf/8p3DYrX39TZ1eNQy6p105id6boD6AE+oB8etNR/44zevSMW1E+iz/hAVyC6sgY6lse79yySpgwmj0i7u4WPJLLHcpSsUv9CHh4Az0Jno2WQauO17Y1f3F0reX5FkCmRYN6eMoG0aMHWP8YheDG3Yn8JVrnoEI7GxZj2nRYqpGzWjXsejmCGP3NTv1TpG27FqeFRn3xD82zNsJIpa5QP/RKkfMRToplrZYXU1P8AAA==",
    "bundleId":"TonyYang.TestDemo",
    "rootPath":"mpaas/ios/ONEX450ED02121714-m1",
    "workspaceId":"m1",
    "syncport":"443",
    "syncserver":"mpaas-mss.aliyuncs.com",
    "logGW":"https://cn-hangzhou-mas-log.cloud.alipay.com",
    "pushPort":"443",
    "pushGW":"mpaas-mps.aliyuncs.com",
    "mpaasapi":"https://cn-hangzhou-component-gw.cloud.alipay.com/mgw.htm",
    "rpcGW":"https://mpaas-mgs.aliyuncs.com/mgw.htm"
}

4、接入 iOS 項(xiàng)目

  1. 上面已經(jīng)介紹過胚膊,打開 mPaaS 的兩種方法故俐,我們直接在 Xcode 中選擇 Editor >> mPaaS >> 編輯工程 如下圖所示
圖片.png
  1. 選擇我們想要導(dǎo)入的模塊,點(diǎn)擊開始編輯即可
    COPY: 選中該項(xiàng)紊婉,依賴的 SDK 文件會(huì)自動(dòng)拷貝到工程目錄下药版。建議啟用該項(xiàng)。

    圖片.png

  2. 編輯完成后喻犁,回到我們的項(xiàng)目 Xcode 項(xiàng)目中看到左側(cè)的文件夾中多了一個(gè) mPaaS 文件夾

圖片.png
  1. 在 Xcode 項(xiàng)目 Info.plist 中添加 運(yùn)行訪問 相機(jī) 槽片,查看當(dāng)前工程的 Build Phases >> Link Binary With Libraries 中是否添加了系統(tǒng)庫ImageIO.frameworkAssetsLibrary.framework肢础、AVFoundation.framework还栓、libz.tbd,如果沒有請(qǐng)?zhí)砑?/li>
圖片.png
  1. 真機(jī)上運(yùn)行,可能會(huì)出現(xiàn)下圖這個(gè)錯(cuò)誤
圖片.png
  1. 解決方案传轰,Xcode 中 Build Settings >> 輸入bit 修改 Enable Bitcode 為NO剩盒,再次運(yùn)行代碼即可。
圖片.png

5慨蛙、Demo使用

掃碼功能主要是 TBScanViewController 這個(gè)類枣察。我們繼承該類蒙揣,實(shí)現(xiàn)該類的代理 ,然后具體參數(shù)自己設(shè)置就行了。

demo下載地址

參考 阿里云

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末慈俯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子钝鸽,更是在濱河造成了極大的恐慌薯定,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異垢揩,居然都是意外死亡玖绿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門叁巨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來斑匪,“玉大人,你說我怎么就攤上這事锋勺∈慈常” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵庶橱,是天一觀的道長贮勃。 經(jīng)常有香客問我,道長苏章,這世上最難降的妖魔是什么寂嘉? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮枫绅,結(jié)果婚禮上泉孩,老公的妹妹穿的比我還像新娘。我一直安慰自己并淋,他們只是感情好寓搬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著预伺,像睡著了一般订咸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上酬诀,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天脏嚷,我揣著相機(jī)與錄音,去河邊找鬼瞒御。 笑死父叙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肴裙。 我是一名探鬼主播趾唱,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蜻懦!你這毒婦竟也來了甜癞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤宛乃,失蹤者是張志新(化名)和其女友劉穎悠咱,沒想到半個(gè)月后蒸辆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡析既,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年躬贡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片眼坏。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拂玻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宰译,到底是詐尸還是另有隱情檐蚜,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布沿侈,位于F島的核電站熬甚,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏肋坚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一肃廓、第九天 我趴在偏房一處隱蔽的房頂上張望智厌。 院中可真熱鬧,春花似錦盲赊、人聲如沸铣鹏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诚卸。三九已至,卻和暖如春绘迁,著一層夾襖步出監(jiān)牢的瞬間合溺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國打工缀台, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棠赛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓膛腐,卻偏偏與公主長得像睛约,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哲身,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 1 路徑和目錄 1.1 目錄 ● 目錄是一組相關(guān)文件的集合辩涝。 ● 一個(gè)目錄下,除了可以放文件之外...
    柳子陌閱讀 190評(píng)論 0 1
  • 文/肖麗蘋 從來不想 你一直都在 一條看不見的距離 橫著 不遠(yuǎn)不近 聚少離多 去探班 靜靜的你笑嘻嘻 彼此忙著各自...
    肖麗蘋閱讀 219評(píng)論 1 1
  • 早晨勘天,微信群現(xiàn)兩個(gè)小視頻怔揩。 01:交通事故捉邢,有人員受傷。發(fā)布者錄像疾呼:“這里出事故了沧踏!快轉(zhuǎn)發(fā)啊歌逢,通知一下家屬!”...
    翰墨萊馨閱讀 595評(píng)論 10 22
  • 直到跟一群做采購的朋友聊天翘狱,才發(fā)現(xiàn)采購都是勇士秘案,時(shí)髦的詞,real fighter.跟大家聊天也給自己的職場人生照...
    平靜de小女巫閱讀 553評(píng)論 0 0