首页 > Unity3D频道 > 【Unity杂文】 > Unity3D研究院之5.x自带API打包xcode添加framework、plist
2016
04-26

Unity3D研究院之5.x自带API打包xcode添加framework、plist

之前项目一直在用XUPorter 。今天无意间发现其实Unity已经帮我们实现了一套。如果你用的unity4.x开发,可以把它的代码放到你的工程里用。https://bitbucket.org/Unity-Technologies/xcodeapi 如果你用的是unity5.x开发,那么unity已经将这个API内置了http://docs.unity3d.com/ScriptReference/iOS.Xcode.PBXProject.html

Unity3D研究院之5.x自带API打包xcode添加framework、plist - 雨松MOMO程序研究院 - 1

本来想自己写个例子试试, 谷歌了一下发现已经有了。 http://cflat-inc.hatenablog.com/entry/2015/01/05/074442

 

欢迎大家试试哈~

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

Unity3D研究院之5.x自带API打包xcode添加framework、plist》有 31 条评论

  1. NOW 说:

    读到这儿的开发者,可以看看 这篇文章 http://www.newhappy.com.cn/?p=352 。XUPorter已经是过去Unity 4.x 的做法了, 5.x Unity提供了一些内置API来修改XCode工程, 这篇文章里就介绍了一个利用这些内置API写的一个可配置导出工具,使用比XUPorter更方便简单。

  2. momo 老大,,PBXProject 貌似没有办法将动态库 添加到 Embedded Binaries 里面呢?请问下,这个怎么处理呢?

  3. 赵辉 说:

    请问这上面代码是怎么用的,也想打包ipa,不知道流程哈

  4. 王有斌 说:

    下载https://bitbucket.org/Unity-Technologies/xcodeapi 的源代码,把所有的cs文件放到 Editor/xcode下(AssemblyInfo.cs 除外)。然后你会看到找不到 Utils 的错误,那是因为与UnityEditor.Utils命名空间冲突,替换为 UnityEditor.iOS.Xcode.PBX.Utils 就可以了。

  5. 王有斌 说:

    下载https://bitbucket.org/Unity-Technologies/xcodeapi 的源代码,把所有的cs文件放到 Editor/xcode下(AssemblyInfo.cs 除外)。然后你会看到很多的错误找不到 Utils, 那是因为河UnityEditor.Utils命名空间冲突,替换为 UnityEditor.iOS.Xcode.PBX.Utils 就可以了。

  6. 安亚晨 说:

    雨松大大 想问您一下 4.x导入了这个报错 是我漏导了什么东西吗

  7. 杨循 说:

    我比较想知道怎么加.tbd文件呢,找了找没看到有api

    • 杨循 说:

      自己试出来了:private static void AddLibToProject(PBXProject inst,string targetGuid, string lib) { string fileGuid = inst.AddFile(“usr/lib/” + lib, “Frameworks/” + lib, PBXSourceTree.Sdk); inst.AddFileToBuild(targetGuid, fileGuid);}调用和API中的加framework差不多,如下://libAddLibToProject(proj, target, “libc++.tbd”);另外我用5.1.2,说引用dll失败,把momo上面链接里的源文件改下命名空间放进工程Editor里就行了

    • 杨循 说:

      自己试出来了:private static void AddLibToProject(PBXProject inst,string targetGuid, string lib) { string fileGuid = inst.AddFile(“usr/lib/” lib, “Frameworks/” lib, PBXSourceTree.Sdk); inst.AddFileToBuild(targetGuid, fileGuid);}调用和API中的加framework差不多,如下://libAddLibToProject(proj, target, “libc .tbd”);另外我用5.1.2,说引用dll失败,把momo上面链接里的源文件改下命名空间放进工程Editor里就行了

  8. S丶nipeR 说:

    momo请教一个问题,用5.3.5导出的IOS文件很大,libiPhone-lib.a文件占了1个G多。。。有没有解决办法啊 Unity3D研究院之5.x自带API打包xcode添加framework、plist - 雨松MOMO程序研究院 - 1

  9. mono~~ 请教一个问题,AddFileToBuild每次都在项目中添加一个源文件进去(蓝色文件夹),我想在项目中添加一个group到工程中(黄色文件夹)。。该怎么做呢,卡了好久。。。

    • = = 说:

      我也发现这个问题,AddFileToBuild只有在加入带有framework的文件夹时,才会以GROUP方式加的,其他的都是folder references …晕死了

  10. 方津津 说:

    momo:请教一个www超时的问题。 在手机上要等很久才会返回连接超时的error,有什么方法能缩短超时的时间

  11. 这个API只能做简单的设定像我之前想用这个API来做App name的Localization我只能将动态建立的InfoPlist.strings当成一般的档案加到XCode的专案里面没有办法将多个InfoPlist.strings合成一个档案挺麻烦的 最后还是手动将档案拖到专案中才可以

  12. 222 说:

    proj.SetBuildProperty 改配置居然改不了project里的

  13. KFCNot 说:

    你好,我是5.3.1f1。为什么using UnityEditor.iOS.Xcode 错误?我输入UnityEditor. 后自动补全里也找不到 iOS啊?

留下一个回复

你的email不会被公开。