如何将游戏从Unity导到iOS设备上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将游戏从Unity导到iOS设备上相关的知识,希望对你有一定的参考价值。

获得Unity和ios导出器

  如果你还未这么做,你首先需要在官网下载最新版本的Unity。已经出现了2个版本,分别是免费版和Pro版,所以你可以根据自己的需求做出选择。自从2013年5月以来,手机便自带导出器,所以你无需为它们再花钱了。

2.注册苹果开发者计划

  你需要做的下一件事便是加入苹果开发者计划,这是设定你的开发认证的必要过程。加入该计划每年需要支付99美元,你将需要通过以下开发者网站进行注册:https://developer.apple.com/programs/ios/(一旦你完成了注册并支付了费用,你便会收到一封激活邮件帮助你加入该计划并让你能够使用自己所需要的所有功能)。

3.下载并安装XCode

  加入开发者计划后的下一件事便是下载并安装XCode。这在一开始可能会让人困惑,你们中的有些人会知道XCode是用户为iOS创造原生应用。而Unity使用XCode作为中介将内容带劲iOS设备中,所以你并未真正进入XCode,所有的开发将是发生在Unity上,XCode的作用是将内容从Unity导入设备中。你可以从苹果商店中下载XCode:https://developer.apple.com/xcode/。完成下载后请确保在继续下一步前安装好它。

4.创造一个开发者配置文件

  到目前为止你应该已经下载了Unity和XCode并激活了你的苹果开发者计划会员。现在,为了将你的游戏直接从Unity导到设备上,你需要一个开发者配置文件(这将让你能够移植你所开发的游戏或任何测试到你的设备上)。苹果提供了两种类型的配置文件,即用于开发和测试的开发者配置文件以及用于提交到苹果商店的分布配置文件。为了创造开发者配置文件,你需要做3件事:注册你的设备/建立一个应用ID/获得证书。

  你可以通过你的苹果开发者计划完成这三件事。所以导航至这一地址:https://developer.apple.com/ ,然后从最上方的菜单进入会员中心。使用你的苹果ID和密码登录。

  现在选择Certificates, Identifiers和Profiles,你便能够从中访问并管理你的配置文件,苹果ID等等。

1)注册你的设备

  在Certificates, Identifiers和Profiles部分中选择设备。因为这对于苹果去识别用于测试的特定设备是必要的。这并不会改变你的设备的任何设置,你能够轻松地使用自己每天所使用的设备。在注册你的设备时,你可以点击+按键去添加一个新设备。然后你需要填写设备的名字(可以是任何名字)以及UDID(即设备独一无二的ID)。你将会发现自己可以注册一个以上的设备进行测试,如果你想要基于不同设备进行测试的话这边很有帮助(如一台iPhone和一台iPad)。

  为了找到你的设备的UDID,你需要将你的设备与电脑连接在一起,然后打开iTunes并点击iPhone按键(界面的右上方的),你将看到设备的信息包含了名字。然后你可以将鼠标停在上方并点击Serial Number,这将变成一个常标识,这便是UDID。

  这是你需要的数字,你必须将其复制黏贴到Member Center Portal的ID部分。现在你便可以注册你的设备了。记住一旦你注册了设备,你便只能改变它的名字而不能改变UDID。

2)设置一个应用ID

  下一步便是设置你的应用ID。仍然在Member Center Portal的Certificates, Identifiers和Profiles,选择应用ID并点击+按键。

  首先提供任何你想要的描述,只要它能够帮助你记得你的ID是用于做什么便可。一个好的方法便是为一款应用使用一个独特的名字并为一款测试应用使用一个普通的名字。接下来你需要设置Bundle Identifier,这是以相反的域符号形式呈现出来“

  即:com+你的全名(如果你是一名个体开发者的话)+你的游戏名称:

  com.YourName.TheGameName

  这类型的Bundle ID将很清楚并只能用于唯一的一款游戏中。因此你需要为你的每一款游戏使用不同的名字。然而这是很有用的,这让你能够访问像“游戏中心”和“应用内部购买”等服务。

  另一方面,Wildcard的Bundle ID是以如下形式呈现出来:

  com.YourName.*

  这里用星号替代了游戏名字。这种格式让你能够在多款应用中使用同样的ID,而无需每次都设置一个不同的名字,但是这却不允许你使用特定的设备。

  现在你已经选择了继续并确认了应用ID。将捆绑ID记录下来,因为之后你将需要在Unity的构建设置中使用到它。

3)获得开发者证书

  你需要做的第一件事便是通过你的计算机获得Certificate Signing Request。前往Applications > Utilities > Keychane Access,然后是Preferences > Certificates。确保Online Certificate Status Protocol和Certificate Revocation List都是处于OFF,并关闭Preference。现在在Keychane Access中前往Certificate Assistant并从Certificate Authority中选择Request Certificate。提供与你在注册开发者计划时使用的同样细节并点击继续。提供一个名字并保存到Desktop。在保存时选择2048位体和RSA。

  现在在你的Desktop中应该拥有一个带着.certSigningRequest前缀的文件。

  现在回到Member Center Portal的Certificates, Identifiers和Profiles部分,选择Certificates > Development(就像你要获得开发证书那样),然后按压+按键进行创造。

  选择上传你保存在Desktop中的Certificate Signing Request。在你提交前,确保向下滚动页面并在Intermediate Certificates中找到WWDR Certificate。在你之后需要的时候可以下载它。

  现在进行提交,你的Certificate Signing Request将被发送到苹果并被另外一个你能够下载的内容所取代。它将被命名为:ios_development.cer

  所以现在你的Desktop上应该拥有两个证书。即ios_development.cer和WWDR Certificate,你需要双击这两个证书将其安装于Keychane Access。现在你便设置好你的开发者证书了。

4)创造配置文件

  在完成上述三个步骤后,现在的你可以继续去创造配置文件了。仍然在Member Center Portal的Certificates, Identifiers和Profiles中,前往Provisioning Profiles > All并按压+按键去创造一个全新的配置文件。

  在Development和Distribution Profile中做出选择(这里我们需要的是Development!),然后在下一个屏幕上选择与该配置文件相联系的应用ID,设备和证书(注:这是你在之前步骤已经设置好了的)。最后为配置文件命名并回顾之前的选择。当准备好时点击Generate。现在你便可以看到你的全新配置文件,你需要将其下载到你的Desktop上然后安装它。配置文件将是一个带有.mobileprovision前缀的文件。

  现在转向XCode,前往Window > Organizer > Devices > Provisioning Profile,然后双击已经下载到你的Desktop上的配置文件。你便完成了安装并能够给予Organizer视图看到它。最后一步非常重要,因为只有将配置文件安装到Xcode,它才能够正常运行。

  一些额外的内容:仍然在XCode,如果你的设备在Devices视图中仍看不到,那就前往Window > Organizer > Devices,按照名字选择设备。你可能需要在这个过程中选择Use for Development,然后提供你的开发者记录细节。

  虽然这是一个较为漫长的过程,但好消息是你已经完成工作了!

  现在你可以开始致力于你的Unity游戏并准备好导出它。

  记得你只能注册设备和创造开发者证书一次,每当你创造一款新游戏时你都需要创造一个全新的应用ID和全新的配置文件。

5.面向Unity

  当你准备好导出你的游戏时,前往File > Build Settings,并确保你选择了iOS作为平台。记得包含当前场景到导出游戏中(使用Add Current按键)。然后点击Player Seetings按键并前往Other Settings。

  将Bundle Identifier按照你之前设置好的进行设置(com.YourName.TheGameName),你可能需要将Target IOS版本设为6(或者你的设备的版本)。将所有内容都保持为默认,除非你有改变它们的理由。

  然后回到Build Settings Window并点击Build然后将项目保持到其自身的文件夹中。

  连接你的设备和计算机,打开文件夹并开始XCode项目。你将看到它在XCode中打开。从XCode界面的左上角选择你的设备,然后点击Run按键。

  项目将给予你的设备进行创建并自动运行(确保你的设备是打开的!)

  就是这样了!现在你的游戏已经能够运行于你的iOS设备上了。
参考技术A 1.首先需要一个mac计算机安装unity(如果你本身就是用mac开发就跳过打包package的步骤)
2.将你要导出的项目打包成package到该计算机之后,选择IOS发布环境并bulid
3.bulid完成后会生成一个Xcode文件,用Xcode将其打开并配置好相关的信息(如版本号,发布平台。。。。)然后使用Xcode bulid一下就好了
4.Xcode bulid完成后将ios设备连接计算机,点击.Xcode 运行就可以部署上设备了
参考技术B 如果是想最终发布ios游戏到appstore,那么你需要这样的步骤:
1,苹果开发者账号。
2,装有xcode的mac。
3,在unity中file-builld setting,先切换到ios平台,然后设置player seting相关参数(亦可使用默认设置),然后按下build或者build &run,然后会让你保存一个xcode项目,如果是build需要手动进入保存xcode项目目录打开xcode项目,如果是build &run会自动加载到xcode。
4,给这个项目授权(开发者账号),然后运行。
5,如果选择已经连接在mac上到设备,则会安装到ios设备上运行,否则就在模拟器运行。

在 iOS 设备上测试时 Unity 游戏延迟

【中文标题】在 iOS 设备上测试时 Unity 游戏延迟【英文标题】:Unity game lag when test on iOS devices 【发布时间】:2018-12-14 12:30:11 【问题描述】:

我最近在Unity做了一个小益智游戏,只是一个简单的,没有花哨的效果什么的。当我在Unity 上测试运行时,它真的很流畅。

FPS 通常上限为 200,最大分辨率约为 80 - 120 FPS - 超级流畅。之后,我构建了一个 iOS 版本并在 ios 设备上进行测试,它非常滞后。我在 iPhone 6+、iPhone X、iPad 9.5 英寸上测试过,结果还是一样,只是有点滞后。也许我需要在 Unity 上调整一些图形设置?请大家给我一些建议。感谢阅读。

【问题讨论】:

【参考方案1】:

你可以尝试一些事情。

在您的应用开始时,将目标帧速率保持为 30。

Application.targetFrameRate = 30;

将质量设置降级为中等。在此范围内,如果您的游戏是简单的 2D 游戏,还可以禁用或降低与照明相关的内容。

优化艺术。在包装标签中包装艺术,在 iOS 上,将它们的压缩保持在 PVRTC。只有压缩后看起来很糟糕的应该是 RGB24 或 RGBA32。禁用 Generate Physics shape(如果您不使用该形状)和 Generate mipmaps 等选项。

看看你的用户界面。 UI 中非交互式的任何内容(如简单的图像或文本,不是按钮或输入文本等)都应该关闭 Raycasting。如果没有特别影响您的应用,文本中的富文本选项也应该关闭。

【讨论】:

感谢您的回答,实际上刚刚解决了我的 Application.targetFrameRate = 60 的问题。 很高兴能帮上忙!你能把它标记正确,以便其他人也能知道吗? :)

以上是关于如何将游戏从Unity导到iOS设备上的主要内容,如果未能解决你的问题,请参考以下文章

如何将游戏从Unity导到iOS设备上

在iOS设备上测试时Unity游戏滞后

在 iOS 设备上测试时 Unity 游戏延迟

检测 Android/iOS 设备是不是已经通过 Unity3D 播放音乐

在 IOS 中保存和加载 XML 文件会在我的 Unity 项目中产生问题

iOS Unity3D游戏引擎入门②