美文网首页
使用 mPaaS 快速集成iOS扫码功能

使用 mPaaS 快速集成iOS扫码功能

作者: 天空像天空一样蓝 | 来源:发表于2019-10-12 18:16 被阅读0次

    1、mPaaS 简介

    金融级移动开发平台(Mobile PaaS,简称 mPaaS)是源于支付宝 App 的移动开发平台,为移动开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动 App。

    2、开发者工具简介

    mPaaS提供了以下开发者工具以帮助开发者能够快速接入 mPaaS 并辅助进行开发工作。

    • mPaaS 插件:是一个具有图形化界面的插件工具。功能包括新建 mPaaS 工程、增删 mPaaS 组件依赖、工程打包等。因为 mPaaS 插件需要和命令行协同工作,因此在安装 mPaaS 插件时,会同时安装命令行工具。
    • 命令行工具:是一套 mPaaS 相关的终端命令集,在安装 mPaaS 插件时一起安装。通过命令行工具,您可以通过在终端执行命令查看 SDK 版本、增删 mPaaS 组件依赖、去除和恢复 Xcode 签名等。
    • mPaaS Xcode Extension:是基于 XcodeKit 构建的官方插件,它可以在 Xcode 的 Editor 菜单中增加额外的命令。安装简单,不需要去除 Xcode 签名。通过全新的图形化界面,帮助您更快速地接入 mPaaS。mPaaS Xcode Extension支持:新建 mPaaS 工程、编辑工程(导入云端配置文件,添加删除 mPaaS 组件,升级 mPaaS 基线,生成无线保镖图片)、基础工具(工程打包工具等)。

    注意: mPaaS Xcode Extension 和 mPaaS 插件两者因为功能冲突,不能同时安装。

    2.1、 mPaaS Xcode Extension 使用

    2.1.1 为什么选择 mPaaS Xcode Extension

    1、稳定优异的性能
    mPaaS Xcode Extension 独立于 Xcode 进程单独运行,不再影响 Xcode 的原生功能。从此告别 Xcode 启动卡死、操作无响应、系统内存飙高等困扰。

    2、贴近 macOS 原生的UI设计
    对 mPaaS Xcode Extension 的 UI 进行了全局考量和整体设计,视觉和交互更加友好,更贴近 macOS 生态。对深色模式的适配更加出色,实现对系统主题实时切换的适配。

    3、不需要去除 Xcode 的签名

    4、我们的项目都是开发很久的,直接集成使用方便

    5、支持两种启动方式
    mPaaS Xcode Extension有两种启动方式:从 Xcode Editor 菜单启动 和 直接启动 macOS 应用。

    2.1.2 安装 mPaaS Xcode Extension 注意事项

    1. 如果您已经安装了旧版本 mPaaS 插件(去签名版本),需要先将 Xcode 签名恢复,或者直接卸载旧版插件(方法如下)。

    卸载插件 版本≥ 5.0.0

    如果您之前安装了5.0 及以上版本的mPaaS 插件,可以使用如下的方法进行卸载。

    1.  退出 Xcode。
    
    2.  恢复 Xcode 签名,在终端中执行如下命令。
    mpaas xcode restore
    
    3.  卸载 Xcode 插件,在终端中执行如下命令。
    mpaas xcode plugins uninstall
    
    4.  卸载 mPaaSKit,在终端中执行如下命令。
    rm -rf /Users/Shared/.mpaaskit
    
    5.  卸载 mpaas ,在终端中执行如下命令。
    sudo rm /usr/local/bin/mpaas
    

    卸载插件 版本 < 5.0.0

    如果您之前安装了 mPaaS 插件 5.0 以下的版本,可以使用如下的方法进行卸载。

    1.  退出 Xcode。
    
    2.  恢复 Xcode 签名,在终端中执行如下命令。
    mpaas restore
    
    3.  卸载 Xcode 插件,在终端中执行如下命令。
    rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/mPaaSPlugin.xcplugin
    
    4.  卸载 mPaaSKit,在终端中执行如下命令。
    rm -rf /Users/Shared/.mpaaskit
    
    5.  卸载 mpaas 命令,在终端中执行如下命令。
    sudo rm /usr/local/bin/mpaas
    
    1. mPaaS Xcode Extension 在 Xcode 升级之后依然生效,您无需因升 Xcode 重新安装 mPaaS Xcode Extension。
    2. 安装了 Xcode 并且版本在 Xcode 9 及以上。
    3. macOS 版本 ≥ 10.13。
    4. 未安装过 mPaaS Xcode Extension(如果想升级安装,建议直接使用插件内的升级功能)。

    2.1.3 安装步骤

    步骤一
    终端下执行下面代码

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

    步骤二
    安装完成后,会打开引导页面,点击 开始使用 (或者关闭页面,手动重启 Xcode)即可使用。

    Snip20191012_23.png

    步骤三
    打开任意 Xcode 工程,在 Xcode 左侧工程结构面板中选择任意可编辑文件(如:main.m),若能看到菜单 Editor > mPaaS,则说明 mPaaS 插件加载成功。

    图片.png

    系统授权
    由于 mPaaS Xcode Extension 需要对 Xcode 工程进行操作,因此在第一次使用“编辑工程”功能的时候,系统需要用户进行授权,弹框如下图所示。请务必允许,否则插件无法按预期工作。

    Snip20191012_24.png

    2.1.4 卸载 mPaaS Xcode Extension

    由于 mPaaS Xcode Extension 在 macOS 中的存在形式为独立的应用,因此可以采用在 macOS 中常规的卸载应用方式进行卸载。
    注意: 在卸载mPaaS Xcode Extension前一定要先退出 Xcode 和 mPaaS Xcode Extension 的所有进程。

    3、控制台创建应用

    3.1 控制台创建应用

    注意

    1. 您需要确保拥有阿里云开发者账号。账号注册的更多信息,请参见 账号注册
    2. 登录 mPaaS 控制台。(有可能会让公测申请)
    3. 公测申请通过会收到邮件,再次进入 mPaaS 控制台可以看到如下图 (我当时就是随便填写的,不影响后续开发)
    图片.png
    1. 进入后,会有一个 mPaaS 体验应用,然后点击下方 创建应用 按钮,输入应用名称,确定后,控制台上便会增加一个应用。
    图片.png
    1. 点击我们刚刚创建的应用名称,点击 代码管理 >> 代码配置 >> 选择iOS >> 填写Bundle ID
    图片.png
    1. 点击下载配置 等下接入项目会用到,如下是我刚生成的配置文件
    {
        "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 项目

    1. 上面已经介绍过,打开 mPaaS 的两种方法,我们直接在 Xcode 中选择 Editor >> mPaaS >> 编辑工程 如下图所示
    图片.png
    1. 选择我们想要导入的模块,点击开始编辑即可
      COPY: 选中该项,依赖的 SDK 文件会自动拷贝到工程目录下。建议启用该项。

      图片.png
    2. 编辑完成后,回到我们的项目 Xcode 项目中看到左侧的文件夹中多了一个 mPaaS 文件夹

    图片.png
    1. 在 Xcode 项目 Info.plist 中添加 运行访问 相机 ,查看当前工程的 Build Phases >> Link Binary With Libraries 中是否添加了系统库ImageIO.frameworkAssetsLibrary.frameworkAVFoundation.frameworklibz.tbd,如果没有请添加
    图片.png
    1. 真机上运行,可能会出现下图这个错误
    图片.png
    1. 解决方案,Xcode 中 Build Settings >> 输入bit 修改 Enable Bitcode 为NO,再次运行代码即可。
    图片.png

    5、Demo使用

    扫码功能主要是 TBScanViewController 这个类。我们继承该类,实现该类的代理 ,然后具体参数自己设置就行了。

    demo下载地址

    参考 阿里云

    相关文章

      网友评论

          本文标题:使用 mPaaS 快速集成iOS扫码功能

          本文链接:https://www.haomeiwen.com/subject/wjnqmctx.html