先理下思路:
unity 调用 iOS 的流程,我想应该大家都熟悉,也就是 C# 调用 OC 的方法。百度下,成堆。
iOS 小组件,是 iOS 14.0 以后的产物。Android上早就有了。问题是苹果的小组件是 swift 开发的。
经过一系列的研究(百度+Google),哈哈。最后决定 C# -> OC -> swift .
以下是研究成果(GitHub上高手如云):
下载一个 UnityIosPlugin 插件。文章结束放有链接(嘿嘿)。
解压后,将UnityIosPlugin 文件夹放在 Assets/Plugins/iOS 文件夹下。毕竟是一个 Plugin 嘛。
先说说 Editor 文件夹内的 SwiftPostProcess.cs 。
// 只需要注意和修改这两行代码
// UnityPlugin-Bridging-Header.h 的路径由你放置 UnityIosPlugin 文件夹的位置决定的
// Libraries/ 就是 Unity 工程下的 Assets/
proj.SetBuildProperty(targetGuid, "SWIFT_OBJC_BRIDGING_HEADER", "Libraries/Plugins/iOS/UnityIosPlugin/Source/UnityPlugin-Bridging-Header.h");
// 这行就别改了
proj.SetBuildProperty(targetGuid, "SWIFT_OBJC_INTERFACE_HEADER_NAME", "UnityFramework-Swift.h");
再说说 Source 文件夹内的三个文件。文件名和后缀不要修改。
其中 UnityPlugin-Bridging-Header.h 桥接用的,也就是swift调用oc的类的时候,将oc的头文件添加到这里。咱可以不用管。
然后 UnityPluginBridge.mm 主要是我们给 C# 调用的。具体的注意事项参看百度。我在里面写了两个方法,仅供参考。
最后 UnityPlugin.swift 就是主要的目标文件。UnityPluginBridge里的方法调用UnityPlugin.swif的方法。
—————————————————————————————————————-
iOS 小组件的添加,在导出 xcode 工程后,按照流程自己添加吧。
https://assetstore.unity.com/packages/slug/240992
原文地址:https://blog.csdn.net/hururu20120502/article/details/128240406
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_45316.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!