在我的应用程序中,当我尝试在iOS模拟器中运行代码时:
NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:@"2VHM28566N.com.eept.TestICloud"];
NSLog(@"IS ICloud : %@", [iCloudURL absoluteString]);
它表明iCloudURL是零。
我们可以在没有iPhone设备的情况下使用iCloud吗?
答案 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
希望这有帮助。