当前位置: 首页 > news >正文

MAUI和Android、IOS的互操作之IOS篇

上一篇演示了Maui如何与Android互操作,这篇是关于Maui与ios的互操作上一篇演示了Maui如何与Android互操作,这篇是关于Maui与ios的互操作。

1.首先下载官方demo,下载完代码以后用Xcode打开Native项目,路径位于template/macios/native/NewBinding/NewBinding.xcodeproj,在演示代码基础上新增一个方法,接着用Xcode编译项目
image
2.用VSCode编译ios的binding项目,编译后bin目录会有swift对应的.h头文件,本次项目示例位于template/macios/NewBinding.MaciOS.Binding/bin/Debug/net9.0-ios/NewBinding.MaciOS.Binding.resources/NewBindingiOS.xcframework/ios-arm64_x86_64-simulator/NewBinding.framework,导航到该目录执行以下命令:
sharpie bind --output=sharpie-out --namespace=NewBindingMaciOS --sdk=iphoneos18.5 --scope=Headers Headers/NewBinding-Swift.h
image
执行完以后会输出错误,不知道这是什么错误,但还是输出了我们需要的文件ApiDefinition.cs,新增的方法出现了,接着把这个新增的方法添加到ios的binding项目ApiDefinition.cs里面,编译binding项目
image
3.回到Maui主项目,修改代码启动
image
image

总结:
Swift项目输出头文件,通过sharpie把头文件的方法封装成C#可以调用的类,实现了C#与Swift的互操作

参考文章:
1、https://learn.microsoft.com/zh-cn/dotnet/communitytoolkit/maui/native-library-interop/get-started
2、https://github.com/CommunityToolkit/Maui.NativeLibraryInterop

http://www.gsyq.cn/news/8507.html

相关文章:

  • 【Java】Hashtable讲解
  • 【JAVA】TreeSet讲解
  • 批判 vs 审判
  • ctfshow web入门 SSRF
  • C#中避免GC压力和提高性能的8种技术
  • UNIX网络编程笔记:共享内存区和远程过程调用 - 指南
  • 函数内联
  • G. Chimpanzini Bananini
  • ERP和MES、WMS、CRM,到底怎么配合 - 智慧园区
  • 底层
  • WPF 视图缩略图控件(支持缩放调节与拖拽定位)
  • javaScript(WebAPI) - 教程
  • es中的端点
  • es中的数据类型
  • 03作业
  • 软工作业个人项目
  • YOLO进阶提升 6模型训练与测试
  • 解码C语言位字段
  • Sql Server 多层嵌套事务的执行结果
  • es入门
  • 02-Media-7-uvc.py 应用软件解码的USB摄像头(UVC)捕获视频并显示的程序
  • YOLO入门理解 评估指标
  • [ICPC 2024 Yokohama R] Peculiar Protocol
  • The 2025 ICPC Asia East Continent Online Contest (II)(C,D,E,H,I)
  • 实用指南:微信小程序-6-页面布局和事件绑定以及页面跳转
  • 终旅之始——2025 . 9 . 20
  • 深入理解Django Admin只读字段与保存模型的自定义操作 - 详解
  • 深度学习(视觉注意力SeNet/CbmaNet/SkNet/EcaNet)
  • qoj6277 Linear Congruential Generator
  • Node.js、npm 和 npx:前端开发的三剑客 - 指南