在iOS模拟器中使用iCloud

时间:2011-10-17 11:34:13

标签: ios5 icloud ios-simulator

在我的应用程序中,当我尝试在iOS模拟器中运行代码时:

NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:@"2VHM28566N.com.eept.TestICloud"];
NSLog(@"IS ICloud : %@", [iCloudURL absoluteString]);

它表明iCloudURL是零。

我们可以在没有iPhone设备的情况下使用iCloud吗?

3 个答案:

答案 0 :(得分:24)

我今天试图在模拟器上运行我的iCloud应用程序,据我所知,没有选项可以在模拟器中启用iCloud。我查看了设置,但没有运气。所以答案是否定的,除非你在实际设备上进行测试,否则你无法真正测试iCloud。

如果有人有解决方法,那就太棒了。总是在设备上测试你的应用程序有点乏味。

答案 1 :(得分:17)

在Xcode 5中:

  

iOS模拟器现在支持iCloud同步文档和KVS数据   在应用内,使应用可以使用iCloud在设备之间进行同步。   在测试以确保应用程序文档时,此功能非常有用   和数据正在多个设备之间正确同步。

     

注意:在iOS模拟器中运行应用程序,请登录Apple   使用“设置”应用的ID帐户。登录后,使用“触发器”   调试菜单中的“iCloud sync”命令告诉模拟器同步   与其他设备。

答案 2 :(得分:1)

我知道这是一个老话题,但您可以通过将部署目标更改为“设备”来测试iCloud。通过USB插入您的设备,让乐趣开始。

我认为这是出于安全原因而做的,并且有很好的理由。

由于您的设备将具有与您的iCloud“存储桶”以及您的应用套件ID相关联的移动配置证书,因此可确保只有您(您的应用和允许的设备)可以访问您配置的iCloud存储桶。< / p>

如果你可以在没有所有这些证书和ID的情况下在模拟器上运行它,你可以轻松地从你下载的任何其他应用程序中获取团队ID,使用该标识符将项目捆绑在一起并且没有结合证书开发人员,使用iCloud存储桶,您可以完全访问另一个App的存储桶。

我所做的就是订购一个5米的USB扩展,所以我可以在我面前的桌面上放置我的iPad,iPod和iPhone,而不必蹲在桌子下面或在测试时坐在尴尬的位置。

编辑只是为allthewayapps询问有关捆绑ID的内容添加一个更清晰的答案。

2VHM28566N.com.eept.TestICloud
在这种情况下,

由3部分组成:

2VHM28566N  -  Being the TeamID which Apple assign you when you register as a developer

com.eept  -  Reverse domain notation of the App's related website i.e. Apple apps would have com.apple

TestICloud - The name of that app itself.

简而言之:

teamid.com.yourdomain.appname

希望这有帮助。