首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > Unity3D研究院之构建游戏框架与导出IOS项目(一)
2012
05-01

Unity3D研究院之构建游戏框架与导出IOS项目(一)

首先先去Unity3D官网 http://unity3d.com/,我们可以看到很多关于Unity3D的消息。点击DownLoad开始下载Unity,下载的时候建议不要使用Safari自带的下载工具,因为不支持断点续传,国外网站不稳定。建议使用迅雷去下载。目前最新的版本是Unity 3.4.1 ,完美支持Xcode 4 。


Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 1

 

下载完成后,进入Unity。首次须要走注册流程,这里说一下Unity 3D的购买许可为1500美刀,如果要部署在IOS设备上要在加1500美刀。确实有点贵,购买串号后装在我的pro上,我突然觉得我的电脑更加贵重了,哇咔咔~~当然便宜没好货,好货不便宜贵自然有贵的道理。废话不多说了我们继续~~ 如下图所示 点击Register 开始注册。 网上有破解版本,也可以编译到机器上,大家可以去下载看看。但是破解版本不能上传APP store,但是可以用来学习,哈哈~~

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 2

 

选中Internet activation 点击Next继续。

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 3

 

填写正确的 邮箱 与公司名称。点击Free的话可以试用30天,可以体验一下,如果已经购买过串号的话请在下方提示框中输入正确的串号,点击Activate Unity完成注册。

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 4

 

这样子就注册就完成了

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 5

 

下面我们开始走进Unity3D的开发世界中,关闭欢迎界面,映入眼帘的是Unity3D自带的一个游戏DEMO,在3D的世界中存在着很多3D模型,以后我会慢慢带领各位盆友们学习Untiy3D引擎的 模型,贴图,动画,等等的使用.看起来这个非常有意思哦 嘻嘻~~

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 6

 

单机运行按钮,我们可以在PC上来玩这个游戏DEMO,Untiy3D真的是太强大了。本篇文章的目标是在IOS设备上部署Unity 3D 引擎,那么下面我们将把这个游戏DEMO导入到IOS设备上,在iPhone上去玩这个游戏DEMO。

下面将这个游戏DEMO 导出为IOS程序。

点击File->Build Settings

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 7

 

首先确保你的机器中装有 Xcode 4 ,IOS 设备 连接在电脑中,然后选中IOS设备,单机Build and Run 这时候Unity3D就开始导出这个游戏项目了,请大家稍等片刻。导出成功后自动打开Xcode 并且运行我们导出的这个项目。

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 8

 

因为模拟器是无法运行Unity3D导出的项目,所以设备一定要链接上mac 否则无法运行。如果暂时没有设备可以在电脑上调试运行,等有设备的话将调试好的项目直接导入IOS设备方可,。

下图为Unity3D导出的项目结构,这时候看看我们连接在mac上的IOS设备。

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 9

 

哈哈,游戏已经顺利的安装成功,快快打开游戏,玩玩我们导出的游戏吧 嘿嘿~~

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 10

 

图片中左下面 和右下方分别有两个为Unity3D 自动生成出来的按钮 一个是控制人物行走,一个是控制子弹发射方向。后面我会继续写一些这套游戏引擎方面的文章,哇咔咔~~ 欢迎广大盆友们可以和我一起交流 大家一起学习嘛~嘻嘻~~




补充:使用Unity游戏引擎在IOS模拟器中运行的方法:


之前MOMO一直有个误区,一直都是使用真机来调试程序,以为模拟器中不能运行Unity编译的 程序。但是不是的,模拟器同样可以运行Unity编译出来的IOS程序。

在Unity编译IOS程序时,在Unity导航栏菜单中选择Edit->ProjectSettings ->Player(菜单项)选择IOS平台在下方SDK Version处选择运行设备为IOS模拟器。 选择完毕后Build and Run 即可。  

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 11

 

注意:如果你XCODE的模拟器不是4.3 比如你的模拟器更新到5.1了,然而这里没有5.1模拟器的选项,此时只需要选择IOS Simulator latest 即可。

 

在Xcode中运行游戏即可将游戏模拟器打开。

 

Unity3D研究院之构建游戏框架与导出IOS项目(一) - 雨松MOMO程序研究院 - 12

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. 您好,我用的是Xcode7.3,运行Xcode汇报这个错
    Ld /Users/mac/Library/Developer/Xcode/DerivedData/Unity-iPhone-beyslmaahqmrhvcktohcnedxciia/Build/Products/Release-iphoneos/BonnieMokar.app/BonnieMokar normal arm64
    cd /Users/mac/Desktop/kapian3
    export IPHONEOS_DEPLOYMENT_TARGET=9.2
    export PATH=”/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin”
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -L/Users/mac/Library/Developer/Xcode/DerivedData/Unity-iPhone-beyslmaahqmrhvcktohcnedxciia/Build/Products/Release-iphoneos -L/Users/mac/Desktop/kapian3 -L/Users/mac/Desktop/kapian3/Libraries -L/Users/mac/Desktop/kapian3/Libraries/Plugins/iOS -F/Users/mac/Library/Developer/Xcode/DerivedData/Unity-iPhone-beyslmaahqmrhvcktohcnedxciia/Build/Products/Release-iphoneos -filelist /Users/mac/Library/Developer/Xcode/DerivedData/Unity-iPhone-beyslmaahqmrhvcktohcnedxciia/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/arm64/BonnieMokar.LinkFileList -Xlinker -map -Xlinker /Users/mac/Library/Developer/Xcode/DerivedData/Unity-iPhone-beyslmaahqmrhvcktohcnedxciia/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/BonnieMokar-LinkMap-normal-arm64.txt -miphoneos-version-min=9.2 -dead_strip -fembed-bitcode-marker -weak_framework CoreMotion -weak-lSystem -stdlib=libc++ -fobjc-arc -fobjc-link-runtime -framework Security -framework CoreText -framework AudioToolbox -weak_framework AVFoundation -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework CoreMedia -weak_framework CoreMotion -framework CoreVideo -framework Foundation -weak_framework iAd -framework MediaPlayer -framework OpenAL -framework OpenGLES -framework QuartzCore -framework SystemConfiguration -framework UIKit -liconv.2 -liPhone-lib -lVuforia -lQCARUnityPlayer -Xlinker -dependency_info -Xlinker /Users/mac/Library/Developer/Xcode/DerivedData/Unity-iPhone-beyslmaahqmrhvcktohcnedxciia/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/arm64/BonnieMokar_dependency_info.dat -o /Users/mac/Library/Developer/Xcode/DerivedData/Unity-iPhone-beyslmaahqmrhvcktohcnedxciia/Build/Products/Release-iphoneos/BonnieMokar.app/BonnieMokar

    ld: ‘/Users/mac/Desktop/kapian3/Libraries/Plugins/iOS/libQCARUnityPlayer.a(Tracker.o)’ does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

  2. MoMo,你好,我导出iOS项目,编译出现这个错误:duplicate symbol _llvm.cmdline in:
    /Users/meng52/Documents/unity_project/ipa/demo/Libraries/libiPhone-lib.a(fmod_debug.o)
    /Users/meng52/Documents/unity_project/ipa/demo/Libraries/libiPhone-lib.a(PLCrashReportMachExceptionInfo.o)
    duplicate symbol _llvm.embedded.module in:
    /Users/meng52/Documents/unity_project/ipa/demo/Libraries/libiPhone-lib.a(fmod_debug.o)
    /Users/meng52/Documents/unity_project/ipa/demo/Libraries/libiPhone-lib.a(PLCrashReportMachExceptionInfo.o)
    ld: 1606 duplicate symbols for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    如何解决呢?

  3. 导出的xcode项目运行怎么会有这样的错误?Undefined symbols for architecture i386: “DebugStringToFile(char const*, int, char const*, int, int, int, int, int)”, referenced from: prcore::Surface::ClearImage(prcore::color32 const&, prcore::Surface::ClearMode) in libiPhone-lib.a(blitter_integer.o) prcore::Surface::BlitImage(prcore::Surface const&, prcore::Surface::BlitMode) in libiPhone-lib.a(blitter_integer.o) prcore::MemoryStream::Seek(int, prcore::Stream::SeekMode) in libiPhone-lib.a(memorystream.o)

  4. 又有问题请教雨松大神。我导出了一个场景为scene.unity3d,为了减少重复,我在导出时用了BuildPipeline.PushAssetDependencies减少scene.unity3d中对公共资源的依赖,当然公共资源也被导出成了一个bundle名为CommonRes.unity3d。但是我在项目中并没有真正删除公共资源。在项目中,我先后使用WWW.LoadFromCacheOrDownload(“CommonRes.unity3d”, 1)和WWW.LoadFromCacheOrDownload(“scene.unity3d”, 1),场景可以正确显示。但是如果我单独用WWW.LoadFromCacheOrDownload(“scene.unity3d”, 1),场景就没有公共资源。但是我并没有从项目中删除公共资源啊。难道assetbundle不能引用到项目中的资源吗?难道assetbundle和原本目录下的资源是隔离的吗?请大神帮帮我。

  5. 你的系列文章写得太好了。不过我有一个问题,如果我在IPHONE上发布一个游戏,需要做Live Update,并且可能更新资源和程序脚本。请问在现在unity的框架下应该如何实现呢?

  6. 我导出IOS也不行,请问MOMO,我从U3D导出到XCODE后,项目的Products的app文件都是红色的,用模拟器或IPAD运行,只点击了图标后,就退回IPAD的主界面。。。。

  7. momo你的XCODE,和unity 是神马版本??有出现registered mono modules 0xe7a5f8-> applicationDidFinishLaunching() 错误吗??