IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> uni-app 原生ios插件开发以及自定义基座 -> 正文阅读

[移动开发]uni-app 原生ios插件开发以及自定义基座

前言

这个纯粹就是个人的总结,若果有疑问请留言

环境配置

  1. xcode 我用的是当前最新的版本 (13.4.1)
  2. uni-app 提供的sdk (去官方下载) 链接 https://nativesupport.dcloud.net.cn/AppDocs/download/ios
  3. hbuilderx (3.5.3)

tip :版本不一样不会有太大的问题

创建插件项目以及配置项目的文件

请见官方文章,说的很清晰,我只说一下文章中没有提到的东西和实际开发中遇到问题,本人不是原生开发,不喜勿喷

https://nativesupport.dcloud.net.cn/NativePlugin/course/ios

  1. 创建插件Framework
  2. 导入查检项目到HBuilder-uniPluginDemo
  3. 配置HBuilder-uniPluginDemo
  4. 确认下支持的版本,现在一般的三方提供的sdk都是支持ios9以及上,这一点文章中没有提到的
    在这里插入图片描述

页面跳转问题

文章中也有给出结论
https://nativesupport.dcloud.net.cn/NativePlugin/course/ios?id=q-%e5%a6%82%e4%bd%95%e8%b7%b3%e8%bd%ac%e5%8e%9f%e7%94%9f-uiviewcontroller
直接使用这个方法就可以

// 获取当前显示的 UIViewController
+ (UIViewController *)dc_findCurrentShowingViewController {
    //获得当前活动窗口的根视图
    UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController;
    UIViewController *currentShowingVC = [self findCurrentShowingViewControllerFrom:vc];
    return currentShowingVC;
}
+ (UIViewController *)findCurrentShowingViewControllerFrom:(UIViewController *)vc
{
    // 递归方法 Recursive method
    UIViewController *currentShowingVC;
    if ([vc presentedViewController]) {
        // 当前视图是被presented出来的
        UIViewController *nextRootVC = [vc presentedViewController];
        currentShowingVC = [self findCurrentShowingViewControllerFrom:nextRootVC];

    } else if ([vc isKindOfClass:[UITabBarController class]]) {
        // 根视图为UITabBarController
        UIViewController *nextRootVC = [(UITabBarController *)vc selectedViewController];
        currentShowingVC = [self findCurrentShowingViewControllerFrom:nextRootVC];

    } else if ([vc isKindOfClass:[UINavigationController class]]){
        // 根视图为UINavigationController
        UIViewController *nextRootVC = [(UINavigationController *)vc visibleViewController];
        currentShowingVC = [self findCurrentShowingViewControllerFrom:nextRootVC];

    } else {
        // 根视图为非导航类
        currentShowingVC = vc;
    }

    return currentShowingVC;
}

使用方法
我的建议是写一个uiviewcontroller类别,命名为CurrentViewController也可以随意,这样就不用每次使用的时候都去写一遍了,在h文件中吧dc_findCurrentShowingViewController这个方法抛出就可以了,使用的时候只需要调用dc_findCurrentShowingViewController这个方法即可

// viewController  这个可以用作跳转的viewConteroller 即可
 UIViewController * viewController  = [UIViewController dc_findCurrentShowingViewController];

自定义基座

文档
https://nativesupport.dcloud.net.cn/AppDocs/usesdk/ios?id=%e5%a6%82%e4%bd%95%e7%94%a8%e7%a6%bb%e7%ba%bf%e6%89%93%e5%8c%85%e5%b7%a5%e7%a8%8b%e5%88%b6%e4%bd%9c%e8%87%aa%e5%ae%9a%e4%b9%89%e8%b0%83%e8%af%95%e5%9f%ba%e5%ba%a7

  1. control.xml文件 添加 debug=“true” syncDebug=“true” 正式去掉
  2. 在原生工程里找到info.plist文件并增加一项(安装文件的一个设置)
  3. 打印log 在项目中 Build Phases ——> Link Binary With Libraries 中添加 liblibLog.a 在skd->libs文件夹下
    在这里插入图片描述 5. 自定义基座一定是使用的开发证书,并且一定要不运行其他东西,模式也要设置成debug模式在这里插入图片描述
    在这里插入图片描述

引入文件或者静态库

只需要把文件拖入即可,xcode会自动引入的,拖动的时候注意,一定要选择复制 和 此项目即可
在这里插入图片描述

结束

有新的发现会及时更新,不喜勿喷,有问题评论,如果有帮到你了,麻烦支持下,谢谢

请添加图片描述

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:27:25  更:2022-09-13 11:28:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 4:17:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码