在我的应用程序中,当我尝试在 iOS 模拟器中运行代码时:
NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:@"2VHM28566N.com.eept.TestICloud"];
NSLog(@"IS ICloud : %@", [iCloudURL absoluteString]);
它表明 iCloudURL 为零。
我们可以在没有 iPhone 设备的情况下使用 iCloud 吗?
在我的应用程序中,当我尝试在 iOS 模拟器中运行代码时:
NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:@"2VHM28566N.com.eept.TestICloud"];
NSLog(@"IS ICloud : %@", [iCloudURL absoluteString]);
它表明 iCloudURL 为零。
我们可以在没有 iPhone 设备的情况下使用 iCloud 吗?
我今天尝试在模拟器上运行我的 iCloud 应用程序,据我所知,没有在模拟器中启用 iCloud 的选项。我查看了设置,但没有运气。所以答案是否定的,除非您在实际设备上进行测试,否则您无法真正测试 iCloud。
如果有人有解决方法,那就太好了。总是在设备上测试您的应用程序有点乏味。
在 Xcode 5 中:
iOS Simulator 现在支持在应用程序内通过 iCloud 同步文档和 KVS 数据,使应用程序能够使用 iCloud 在设备之间同步。在进行测试以确保应用程序文档和数据在多个设备之间正确同步时,此功能很有用。
注意:在 iOS 模拟器中运行应用程序后,使用“设置”应用程序登录 Apple ID 帐户。登录后,使用 Debug 菜单中的“Trigger iCloud sync”命令告诉模拟器与其他设备同步。
我知道这是一个老话题,但您可以通过将部署目标更改为“设备”来测试 iCloud。通过 USB 插入您的设备,让乐趣开始。
我想这样做是出于安全原因,并且有一个很好的理由。
因为您的设备将拥有与您的 iCloud“存储桶”以及您的 App Bundle ID 相关联的移动配置证书,它确保只有您(您的应用程序和允许的设备)可以访问您配置的 iCloud 存储桶。
如果您可以在没有所有这些证书和 ID 的情况下在模拟器上运行它,您可以轻松地从您下载的任何其他应用程序中获取团队 ID,使用该标识符将项目拼凑在一起,而无需与开发人员结婚的证书, iCloud 存储桶,您将获得对另一个应用程序存储桶的完全访问权限。
为了解决这个问题,我所做的只是订购了一个 5m 的 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
希望这可以帮助。