unity3D-iOS工程整合爬过的坑~
unity3D-iOS工程整合爬过的坑~
好久好久没有写博了~ 最近换了一份有意思的新工作,也是当下最热门的新技术,AR技术。笔者之前一直是做iOS开发的,接触了一门全新的技术,兴奋了好久好久,笔者也快转行做unity3D的开发了~AR技术真的挺有意思,不过短短的一个月时间遇到的坑比之前做iOS开发三年遇到的坑还多~ 好了,本文主要讲述unity3D导出的工程和iOS工程整合的问题~也是笔者做一个记录吧~当然网上也有很多文章写 这个的~ 不过我试过所有的文章里面讲的方法,都没有成功,最后还是在国外一个老外的视频里面找到了方法~ 不过也没有成功,还有许许多多的小坑~ 下面开始讲述正文吧~
第一步unity3D导出iOS工程~
如何导出iOS工程,查看网上教程~导出后的文件目录如下

第二步将一些文件导入自己的工程项目中
将Classes 和 Libraries 文件夹以 下面的方式导入自己的工程中

将Data 文件夹以下面的方式导入工程中

第三步删除Native下所有.h文件的引用
删除Native下所有.h文件的引用,注意里面不仅仅只有.h 文件,,还有.cpp文件


第四步删除libil2cpp引用~

第五步添加引用库
添加引用库,注意有三个是optional ~

第六步Build Settings

在 other Linker Flags 添加
-weak_framework CoreMotion -weak-lSystem

在Header Search Path 添加下面这些头文件引用~
${SRCROOT}/../../iOS/unity2iOS
${SRCROOT}/../../iOS/unity2iOS/Classes
${SRCROOT}/../../iOS/unity2iOS/Classes/Native
${SRCROOT}/../../iOS/unity2iOS/Libraries
${SRCROOT}/../../iOS/unity2iOS/Libraries/libil2cpp/include
${SRCROOT}/../../iOS/unity2iOS/Libraries/Plugins/iOS

在Library Search Path 中添加
${SRCROOT}/../../iOS/unity2iOS
${SRCROOT}/../../iOS/unity2iOS/Libraries
${SRCROOT}/../../iOS/unity2iOS/Libraries/Plugins/iOS

在other C Flags 中添加 -DINIT_SCRIPTING_BACKEND=1 同是在 other C++ Flags中出现

改为C99

改PCH

C++做如下设置

跟着下面的图片做设置更改

在user-Defined 添加如下
GCC_THUMB_SUPPORT NO
GCC_USE_INDIRECT_FUNCTION_CALLS NO
UNITY_RUNTIME_VERSION 5.3.4f1
UNITY_SCRIPTING_BACKEND il2cpp
第七步修改PCH文件
把Classes下面的Perfix.pch中的代码全部拷贝到自己项目的PCH 并且在自己的项目的PCH 中添加 #import "UnityAppController.h"

当你走完上面七步之后,下面才是真正的坑开始的地方~ 笔者使用的是unity做Vuforia的开发,其中涉及到的坑相信大家也被坑了好久~ 不过最后笔者得出了两行代码~ 解决了一切问题~
我在unityAppController 中创建了一个Appdelegate,并且把unityView 和Window 传过去了~ 代码后面有人问到再补上~ 欢迎有遇到同样坑的小伙伴在下面提问题,笔者会定时更新文章并把解决问题附上~
unity3D-iOS工程整合爬过的坑~的更多相关文章
- GJM : Unity3D HIAR -【 快速入门 】 六、导出 iOS 工程
导出 iOS 工程 在开始之前,请务必先保存您的工程.由于 Unity 无法直接生成 ipa 文件,您需要先导出 iOS 工程文件,然后通过 Xcode 编译生成. Step 1. 选择平台 在 Un ...
- 给iOS工程增加Daily Build
给iOS工程增加Daily Build 前言 Daily Build 是一件非常有意义的事情,也是敏捷开发中关于 "持续集成" 的一个实践.Daily Build 对于开发来说有 ...
- iOS 工程中文件变成红色是什么情况
iOS 工程中文件变成红色是原有的文件路径改变了,系统找不到了.
- ios外包公司—北京动点软件分享:IOS工程自动打包并发布脚本实现
前言 IOS的开发过程中,当需要给测试人员发布测试包的时候,直接使用xcode来做的效率是非常低下的.尤其是当有一点小改动需要重新出包时,那简直是个折磨的人的工作.通过一番研究后,遂决定写一系列脚本, ...
- ios 工程图片清理shell
#!/bin/shecho "随意删除@2x图片可能会引起错误 因为ios工程会更加前缀和分辨率自己找到@2x的图片 所以删除@2x图片时要慎重"read -n1 -p &quo ...
- Unity3d导入工程出现错误“Creating unique file”的解决方法
Unity3d导入工程出现错误“Creating unique file:creating file Temp/tempFile failed.Please ensure there is enoug ...
- Unity3d IOS中的IGUI控件
Unity3d IOS中的IGUI控件 @灰太龙 群63438968 我讲一下IOS中用的UI,我们采用IGUI,需要使用IGUI的高版本,在Unity3d 4.2中也可以使用的! 之前IGUI有个 ...
- iOS 工程自动化 - 思路整理
4 月份参加 2017@Swift 大会的时候有幸听到了 @zesming 大佬关于美团组件化的 Topic,有一张图印象特别深刻. 来自 @zesming 大佬 后来跟 @zesming 大佬沟通怎 ...
- Springboot整合Websocket遇到的坑
Springboot整合Websocket遇到的坑 一.使用Springboot内嵌的tomcat启动websocket 1.添加ServerEndpointExporter配置bean @Confi ...
随机推荐
- Mono 3.2 上跑NUnit测试
NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,最新版本是2.5.Mono 3.2 源码安装的,在/usr/b ...
- RxJava 备注
RxJava是一个采用观察者模式的异步框架,本文给出几个基本的使用例子. 1.配置依赖: compile 'io.reactivex:rxjava:1.0.14' compile 'io.reacti ...
- 三种观察者模式的C#实现
系列主题:基于消息的软件架构模型演变 说起观察者模式,估计在园子里能搜出一堆来.所以写这篇博客的目的有两点: 观察者模式是写松耦合代码的必备模式,重要性不言而喻,抛开代码层面,许多组件都采用了Publ ...
- iOS开发系列--C语言之构造类型
概述 在第一节中我们就提到C语言的构造类型,分为:数组.结构体.枚举.共用体,当然前面数组的内容已经说了很多了,这一节将会重点说一下其他三种类型. 结构体 枚举 共用体 结构体 数组中存储的是一系列相 ...
- Net作业调度(五)—quartz.net动态添加job设计
介绍 在实际项目使用中quartz.net中,都希望有一个管理界面可以动态添加job,而避免每次都要上线发布. 也看到有园子的同学问过.这里就介绍下实现动态添加job的几种方式, 也是二次开发的核心模 ...
- Spring:源码解读Spring IOC原理
Spring IOC设计原理解析:本文乃学习整理参考而来 一. 什么是Ioc/DI? 二. Spring IOC体系结构 (1) BeanFactory (2) BeanDefinition 三. I ...
- 实现Div拖拽
直观的理解div拖拽:当鼠标对着可拖拽部分按住后并拖动,div会跟着鼠标一起运动,并且其运动空间限制在浏览器内部,当放开鼠标时,则div停止运动. 实现div拖拽需要三个重要的事件: (1)onmou ...
- ASP.NET MVC学前篇之请求流程
ASP.NET MVC学前篇之请求流程 请求流程描述 对于请求的流程,文章的重点是讲HttpApplication和HttpModule之间的关系,以及一个简单的示例实现.(HttpModule又是M ...
- 链表&LRU
简介 链表就是链式存储数据的一种数据结构.双向链表每个数据存储都包含他的前后数据节点的位置信息(索引/指针). class DSChain<T> { //使用栈来进行废弃空间回收 priv ...
- salesforce 零基础学习(四十八)自定义列表分页之Pagination基类封装 ※※※
我们知道,salesforce中系统标准列表页面提供了相应的分页功能,如果要使用其分页功能,可以访问http://www.cnblogs.com/zero-zyq/p/5343287.html查看相关 ...