1.进入Provisioning Profile创建AppID
2.设置AppID,并且Enable for iCloud。就在设置消息推送那里
3.设置后会弹出一个窗口,要你必须把之前配置的provision设置删除掉,重新生成以使新的AppID开启ICloud
4.用你的新AppID来创建Provision,使用iOS Configuration Wizard下载新的Provision。在Provisioning的Development lab
5.打开你的iPhoneEngine.ini配置文件,在Txt中搜索[PlatformInterface],然后加入以下内容
[PlatformInterface] CloudStorageInterfaceClassName=IPhoneDrv.CloudStorageIPhone CloudStorageInterfaceFallbackClassName=IPhoneDrv.CloudStorageBaseIPhone LocalStorageInterfaceClassName=IPhoneDrv.LocalStorageIPhone FacebookIntegrationClassName=IPhoneDrv.FacebookIPhone InGameAdManagerClassName=IPhoneDrv.IPhoneAdManager MicroTransactionInterfaceClassName=IPhoneDrv.MicroTransactionIPhone AnalyticEventsInterfaceClassName=IPhoneDrv.FlurryAnalyticsIPhone TwitterIntegrationClassName=IPhoneDrv.TwitterIntegrationIPhone
其中前三个是自己加上的。
CloudStorageInterfaceClassName=IPhoneDrv.CloudStorageIPhone
CloudStorageInterfaceFallbackClassName=IPhoneDrv.CloudStorageBaseIPhone
LocalStorageInterfaceClassName=IPhoneDrv.LocalStorageIPhone
6.这和iCloud Storage的接口对应,默认情况下它使用的是local Storage这样可以在模拟器中使用。现在程序中
cloud=class'PlatformInterfaceBase'.static.GetCloudStorageInterface();
返回的就不再是CloudStorageBase_0对象,而是CloudStorageIphone_0了。
7.使用CloudGame.uc跑一下自己的游戏试试。
8.你还得创建一个文件放在目录UDK\UDK-2012-10\UDKGame\Build\iPhone下,这个文件的命名是"InstallName".entitlements或者是UDKGame.entitlements。也就是你安装的游戏名(不是你的游戏名)UDK install name is。此外你的那个目录下应该还有mobileprovision和UDKGameOverrides.plist。如果没有的话就运行iOS Configuration Wizard导入你的mobile provision。并且严格遵照你自己配置的名字
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>application-identifier</key> <string>"YourTeamID".com."CompanyName"."GameName"</string> <key>com.apple.developer.ubiquity-container-identifiers</key> <array> <string>"YourTeamID".com."CompanyName"."Cloud Save Folder name"</string> </array> <key>com.apple.developer.ubiquity-kvstore-identifier</key> <string>"YourTeamID".com."CompanyName"."GameName"</string> <key>keychain-access-groups</key> <array> <string>"YourTeamID".com."CompanyName"."GameName"</string> </array> </dict> </plist>
9.测试:从编辑器中导入游戏应该不会起作用,因此使用以下配置
UDKGame->IPhone->Test_32->ReleaseScript->Shipping_32
10.进入游戏然后使用控制台:CloudGameFight,然后看到黄金和经验有变化,紧接着使用cloudgamesave 1。这时候游戏将会存储到文件中,进入iDevice的Setting->Icloud->Storage&BackUp->ManageStorage。你的游戏存储应该就在那里显示。《雷曼》就是这样存储的。
11.遗留问题:雷曼在那里有自己的图标。而我的游戏没有。