美文网首页iOS随手分享Unity跨平台技术分享Unity教程合集
将Unity导出的Xcode工程导入到现有的Xcode工程.各种

将Unity导出的Xcode工程导入到现有的Xcode工程.各种

作者: 賊賊Believe | 来源:发表于2016-12-10 17:36 被阅读2740次

Step 1. 从Unity导出Xcode项目.

File->Build Settings->Player Settings

UNITY.png

然后右侧Inspector面板,去除Auto Graphics Api选项,只保留一个OpenGLES2选项. Scripting Backend 选择 IL2CPP.

Inspector.png

Build->导出Xcode工程.(Unity是从Unity导出的项目,UnityToiOS是新建的Xcode项目)

folder.png

Step 2.开始合并!

  1. Classes,Libraries,MapFileParser.sh拖入到项目中,勾选Copy items if needed,Creat groups.(文件比较多,耐心等待一小会.)
copy.png

2.将Data拖入到项目,勾选Copy items if needed,勾选Create folder references.

copy1.png

3.下面是Xcode的一些配置. 删除Main.StoryBoard,以及Info.plistMain storyboard file base name键值对.

Xcode.png

添加Framework(添加哪些framework,请参照你从Unity导出来的项目,这里我用的是太虚的sdk,所以下面2个.a文件是太虚的,还有上面的opencv2.framework,以自己项目为准!)

framework.png

5.关闭BitCode


bitcode.png

4.Header Search Paths 设置

Header Search Paths.png

5.Library Search Paths设置

Library Search Paths.png

6.other C Flags设置 -DINIT_SCRIPTING_BACKEND=1

other C Flags.png

7.添加 User-Defined

User-Defined.png

GCC_THUNB_SUPPORT -> NO

GCC_USE_INDIRECT_FUNCTION_CALLS -> NO

UNITY_RUNTIME_VERSION -> 你导出项目的Unity版本

UNITY_SCRIPTING_BACKEND - il2cpp

User-Defined1.png
8.新建一个 pch文件,并设置文件路径
pch.png
Classes目录下的 Prefix.pch的内容全部复制到我们自己创建的pch文件.

9.设置 main.m(Supporting Files->main.m)

Classes目录下的 main.mm的内容全部复制到Supporting Files下的 main.m,将后缀改为.mm.
稍微改动下

main.png
注意,从Build Phases删除Classes下的 main.mm的文件. delete main.png

10.添加 Run Script

runsc.png runss.png
  1. 修改 AppDelegate.h
appdeh.png

修改 AppDelegate.m

appm1.png appm2.png

12.修改 UnityAppController.h

UnityAppController.png

你可能出现的错误

  1. Semantic Issue -> Controller may reach end of non-void function
Semantic Issue.png

解决办法: Mismatched Return Type -> NO

Mismatched Return Type.png

2.duplicate symbol _main in xxxx.

duplicate main.png

解决办法 :常见错误了. main文件重复. 参照上面 步骤 9删除一个 main文件

3.Cloud not load NIB in bundle

nib.png

解决办法: 删除 Launch Screen File.

launch.png

END~~~

参考链接:

  1. https://github.com/keyv/iOSUnityVuforiaGuide.

2.老外录得视频,手把手教学.

3.http://blog.csdn.net/dylan_lwb_/article/details/51452470

相关文章

网友评论

  • 无聊之人1123:可否帮助一下
  • 无聊之人1123:我按照您是这个写 在程序运行的时候报错了
  • 5e9e739529af:大佬 ,有用hiarSDK吗, "_glStateCacheTexEnvCombine", referenced from:
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheTexEnvSrc1", referenced from:
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheClientActiveTexture", referenced from:
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheDisableDepthTest", referenced from:
    _arglDispImage in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheTexEnvSrc0", referenced from:
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheDisableClientStateNormalArray", referenced from:
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheActiveTexture", referenced from:
    _arglPixelFormatSet in libHiARWrapper.a(gsub_es.o)
    _arglCleanup in libHiARWrapper.a(gsub_es.o)
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    _arglPixelBufferDataUploadBiPlanar in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheDisableLighting", referenced from:
    _arglDispImage in libHiARWrapper.a(gsub_es.o)
    "_glStateCachePixelStoreUnpackAlignment", referenced from:
    _arglPixelFormatSet in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheBindTexture2D", referenced from:
    _arglPixelFormatSet in libHiARWrapper.a(gsub_es.o)
    _arglCleanup in libHiARWrapper.a(gsub_es.o)
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    _arglPixelBufferDataUploadBiPlanar in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheEnableClientStateTexCoordArray", referenced from:
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheTexEnvMode", referenced from:
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheDisableTex2D", referenced from:
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    "_glStateCacheEnableTex2D", referenced from:
    _arglDispImageStateful in libHiARWrapper.a(gsub_es.o)
    这些又遇到过吗
    賊賊Believe:@a_clam 少库应该。看我写的步骤一步步来
  • New_卡迪熊: /Users/zsc/Desktop/通用版本123/Tt/Classes/Native/Bulk_Generics_1.cpp:14280:80: Code will never be executed 可以帮我看下吗 集成到iOS项目之后有200多个警告 删除运行又会崩溃。有解决的办法吗
    起个名字好难O0:是不是 .cpp文件没添加引用?
    賊賊Believe:警告不用管啊,你别删了啊. 再说你这个目录吧..别用中文.
  • 起个名字好难O0:集成之后,一开始没问题,但是替换包(替换classes,libraries,data)之后,一直提示类名找不到,但是在项目里却是存在. 换回原来的包. 会崩溃在UnityAPPController的didFinish下
    New_卡迪熊:/Users/zsc/Desktop/通用版本123/Tt/Classes/Native/Bulk_Generics_1.cpp:14280:80: Code will never be executed 可以帮我看下吗 集成到iOS项目之后有200多个警告 删除运行又会崩溃。有解决的办法吗
    起个名字好难O0:@賊賊Believe 崩溃在UnityInitApplicationNoGraphics这. 加下QQ吧, 评论没办法发截图. QQ是499721294
    賊賊Believe:Vuforia? 奔溃截图发下?
  • SwitchLeo:您好,我上传appstore了,然后apple审核人员给了以下反馈

    Guideline 3.1.4 - Business - Payments - Content Codes


    Your app enables additional features or functionality when used with augmented reality markers. However, those features are not available in the app to users without the necessary markers.

    Next Steps

    To resolve this issue, please provide a means to access the augmented reality features from within the app, such as through achievements or in-app purchase. If they can be freely obtained, such as through a link to a website, please revise your app to include clear instructions for obtaining the necessary markers.

    Please note that apps cannot require users to purchase unrelated products or engage in advertising or marketing activities to unlock app functionality.

    这是不是意思就跟您说的那个‘2.识别内容被拒’有关呢
    SwitchLeo:@賊賊Believe 又被拒绝了,guideline 4.2 design - minimum functionality,这个意思好像说我的应用功能太过简单了,难道还要加几个页面么。。。
    SwitchLeo:@賊賊Believe 嗯呐,我们就是这种模式,我这就试试,谢谢大神
    賊賊Believe:我也遇到过这个问题。 你的app是不是要扫描图片出现ar效果? 你让前端搞个网页,上面放上五六张你要识别的图片,然后最好录个视频演示下怎么扫描的,视频上传到youtub上,放到优酷国外好像打不开~视频链接放在审核备注上。:blush:
  • New_卡迪熊:/Users/zsc/Desktop/spacecraftApp的副本/Libraries/Mono.Security.dll.s:2:1: Cannot use dot operator on a type 我报错了 这是easyAR的
  • binya:你好,大神,我想问一下,这个unity项目能导入swift工程里面吗?
    New_卡迪熊:可以啊 你用的那个SDK
  • 忘记密码的七:最帅的楼主,能帮帮看看这个错误怎么修改吗,不知道什么原因引起的
    #0 il2cpp::vm::MetadataCache::Initialize()
    #1 il2cpp::vm::Runtime::Init(char const*, char const*)
    #2 ::InitializeIl2CppFromMain()
    #3 ::UnityInitApplicationNoGraphics()
    #4 ::-[UnityAppController application:didFinishLaunchingWithOptions:](UIApplication *, NSDictionary *)
    #5 ::-[AppDelegate application:didFinishLaunchingWithOptions:](UIApplication *, NSDictionary *)
    报:Thread 1:EXC_BAD_ACCESS(code=1,address=0×.......)
    万分感谢~~~~
    忘记密码的七:@賊賊Believe 多谢大佬百忙之中还帮查看小弟的问题!好像不是太虚,是unity5.6.0f3(这个就不懂了,小弟ios开发一枚),不过现在问题解决掉了,unity导出的xcode资源放到自己的IOS项目中会莫名其妙得缺失一些文件,重新加了一遍就好了:pray:
    賊賊Believe:@戚家将 用的太虚的sdk嘛?
  • 小水嘀嗒:大神,我还是想把vuforia iOS 中的代码移植到我的工程,直接把类拷贝过去,出现很多oc和c++混编的问题,这个怎么弄?需要注意哪几个地方?非常感谢:pray:
    賊賊Believe:@青春远行 哦.那不好意思呀. 没用原生的iOS写,太麻烦了. 不过2个工程合并应该可以啊
    小水嘀嗒:@賊賊Believe 不是unity,是iOS那个包
    賊賊Believe:按上面步骤就行了啊. 原有工程点击按钮 切换Unity识别界面就行.
    Unity识别界面是个window.

本文标题:将Unity导出的Xcode工程导入到现有的Xcode工程.各种

本文链接:https://www.haomeiwen.com/subject/rqpemttx.html