最近有个需求,Unity的相机拍摄最高只能支持1080p的分辨率,现在iphone都能上4k+,为了获取超高清的照片,必须得调用native的界面来做自定义相机,那么问题来了:

  1. 我不熟悉ios开发,现在介入的话,我肯定是选swift+storyborad的开发组合了,完全不考虑反人类的oc
  2. Unity和IOS native的界面切换和数据交互

看了网上一堆资料,基本都是些Unity和oc的那些事,还有复杂到逆天的xcode后期工程配置,步骤还能从1写到10,虽然配了一大堆图,但我心里其实是虚的。

做技术调研的都知道,当要确定一个技术方向的时候,最好的方式是找一个能用的demo,下载并运行,直接看结果是不是自己想要的,如果能满足自己的需求,那么这时候解决方案已经有8成的把握了,接下来就是仔细研究技术实现了。

现在福利来了,无需任何奇形怪状的xcode工程配置以及乱改文件可能带来的各种乱七八糟的问题,所有配置全部由Unity build xcode工程后就自动配置好,你需要关心的只是如何定义Unity和native交互的接口及功能实现。

实现的功能有:

  1. Unity调用Native界面,并返回Unity界面
  2. Unity build xcode工程时自动打包并配置swift工程
  3. 支持自动打包storyboard文件
  4. 自动配置Info.plist,添加工程所需权限
  5. 可以在Unity里管理整个swift工程

demo里并没有写Unity和IOS native的数据交互,这个网上一搜一大把。

demo工程:https://github.com/Shirlman/UnitySwift