Unity 到 Xcode 的依赖移植 XUPorter

码农软件 · 软件分类 · 其他开发相关 · 2019-10-20 17:58:49

软件介绍

我把它叫做 XUPorter,a dependency porter from Unity to Xcode。XUPorter 可以读取 Xcode 工程文件并进行解析(再次感谢darktable的工作),之后在Unity工程的Assets目录下寻 找所有的.projmods文件,并根据文件内容向工程中添加文件或库。

使用方法

将Github项目中的所有文件copy到Unity工程文件夹下的/Assets/Editor目录中,XUPorter使用一个改良版的MiniJSON来 进行。如果你的项目中已经在使用这个MiniJSON了的话,可以直接将XUPorter文件夹下的MiniJSON文件夹删掉;如果不一样的话,你可以 选择其中一个重构一下或者加上命名空间来解决类名冲突。接下来,Mods文件夹下是示例文件以及需要导入Xcode的文件。在看完以后你需要把Mods文 件夹下的所有.projmods文件以及Mods/iOS文件夹下的内容删除或者替换为你所需要的内容。

这里提供了.unitypackege格式文件的下载,你也可以选择下载打包好的文件并导入你的工程,之后的步骤和上面一样。

.projmods文件是一个JSON格式的配置patch文件,定义了要如何设置Xcode工程。举个基本的例子,比如KKKeychain.projmods:

{
    "group": "KKKeychain",
    "libs": [],
    "frameworks": ["Security.framework"],
    "headerpaths": [],
    "files":   [],
    "folders": ["iOS/KKKeychain/"],
    "linker_flags": [],
    "excludes": ["^.*.meta$", "^.*.mdown$", "^.*.pdf$"]}

各参数定义如下:

  • group:所有由该projmods添加的文件和文件夹所属的Xcode中的group名称

  • libs:在Xcode Build Phases中需要添加的动态链接库的名称,比如libz.dylib

  • frameworks:在Xcode Build Phases中需要添加的框架的名称,比如Security.framework

  • headerpaths:Xcode中编译设置中的Header Search Paths路径

  • files:加入工程的文件名

  • folders:加入工程的文件夹,其中所有的文件和文件夹都将被加入工程中

  • linker_flags:添加到工程linker flag中的链接配置,比如-ObjC

  • excludes:忽略的文件的正则表达式,匹配的文件将不会被加入工程中

更多的例子可以参看Mods文件夹中的其他projmods文件。所有的定义路径都是基于当前projmods文件位置的相对路径。 最后,在完成projmods后,Unity会在编译完成后,调用XCodePostProcess的OnPostProcessBuild来对编译得到 的Xcode工程进行修改。

之后进一步要做的是为MiniJSON添加一个namespace,这样可以避免不必要的冲突。

本文地址:https://codercto.com/soft/d/17188.html

一本书读懂24种互联网思维

一本书读懂24种互联网思维

安杰 / 台海出版社 / 2015-3-1 / 39.80元

互联网思维已经不再局限于互联网,与当初人类史上的“文艺复兴”一样,这种思维的核心即将开始扩散开去,对整个大时代造成深远的影响。本书是深入研究互联网思维的精华之作,作者深入浅出地集中阐述了24种互联网思维的内核与精神,并结合实例对这24种互联网思维逐一进行了点评。对于个人与企业如何抓住互联网思维背后正喷薄而出的工作、生活、商业上的大革新与大机遇,如何在互联网思维下进行运作,如何运用互联网思维进行升级......一起来看看 《一本书读懂24种互联网思维》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具