美文网首页
ios原生后台进程保活打uniapp插件包

ios原生后台进程保活打uniapp插件包

作者: 妮儿_smile | 来源:发表于2021-03-03 10:08 被阅读0次

    简单记录一下打uniapp的ios插件包的过程;因为很久没做过ios开发了,ios方面就是小菜鸟犯了不少低级bug.简单写一下给自己看~

    步骤

    1. 在ios原生项目里实现保活
    2. 把app项目 转为 framework
    3. 把framework项目转为uniapp插件包

    iOS插件开发教程 - uniapp官网

    步骤一

    参考文章:

    fengarenas/PlaySilentMusicInBackgroundMode

    原理:通过播放无声音乐的模式实现进程保活功能

    步骤二

    准备工作

    1. 新建framework工程,地址选择插件工程,参考官网教程进行配置,去掉.h文件
    2. 将framework插件工程(自己写的插件工程)导入到插件开发主工程(uniPluginDemo)
    3. 根据文档修改工程配置,在主工程配置依赖(dependency & link binary with library),在插件工程里head search path里添加头文件的路径

    编写代码

    1. 将实现文件夹FJDeepSleepPreventer拖到项目里
    2. 项目里新建proxy类和module类(也可以直接复制示例工程的这两个类,但是记得修改文件名和里面的类名)
    3. 参考fengarenas项目里scene.m里的实现方法,写proxy类.
    4. 以上已实现进程保活.如果需要留调用函数,则新建一个单例类,判断是否需要进程保活,在module类里写函数修改状态.在proxy类里根据状态判断是否调用.
    5. cmd+B编译一下,编译通过则会生成.framework文件

    打插件包

    插件开发主工程

    1. 需要新建bundle再把音乐文件拖到bundle里,bundle要放到主工程的bundle文件夹,然后查找路径需要先找bundle的路径再找音乐文件的路径;
    2. 主开发工程的后台模式要设置成音乐播放
    3. 打开HBuilder-uniPlugin-Info.plist文件,添加插件工程的配置;name注意要与插件id一致或以id为前缀

    测试

    1. 新建uniapp项目. 写俩按钮用来调用方法
    2. uniapp项目生成本地打包项目,将生成的文件夹拖入到HBuilder-Hello/Pandora/apps下.然后打开 control.xml 文件,将 appid 改成该文件的id(文件名)
    3. 运行Hbuild项目测试插件

    打包

    1. 桌面上新建 package.json文件,按照官网说明配置
    2. 按官网要求修改好配置之后cmd+B编译更新.framework
    3. 新建文件夹,放入package文件,再新建文件夹起名ios,拖入.framework.

    bug

    1. 配置插件信息是,name注意要用同工程名的前缀

    2. 找不到音乐资源 -> 新建bundle,编译完之后把bundle拖到主插件工程的bundle文件夹,然后先找bundlePath再找musicPath

    3. 进程被杀-> 主工程文件要允许后台播放

    相关文章

      网友评论

          本文标题:ios原生后台进程保活打uniapp插件包

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