iOS中使用iCloud一些需要注意的地方(Xcode7.2)
Posted 大熊猫侯佩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS中使用iCloud一些需要注意的地方(Xcode7.2)相关的知识,希望对你有一定的参考价值。
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)
在自己的App中如何使用iCloud有很多文章可以查阅,这里把本猫遇到的一些问题着重提一下,希望可以帮助到初次接触的童鞋们.
1.使用TeamId无效的解决
一些文章指出在调用NSFileManager的实例方法URLForUbiquityContainerIdentifier:时,可以传递一个组合的容器ID,也可以传递nil.如果传递nil则表示取得iCloud中第一个容器的URL(如果你有多个容器的话).
如果传递一个实际的容器ID则apple希望你按照TeamID.BundleID的组合方式生成该ID(这是某本书上说的).但实际操作下来,用此方法返回的容器URL总是为nil,TeamID是从开发者网站中的开发者ID描述页面获得的.
但是如果按上所述参数传递nil则可以获取到容器URL.
这时打开Xcode为你生成的.entitlements文件可以看到其中的TeamID不是所谓的TeamID,而仅仅是字符串”iCloud”:
所以我们在代码中将TeamID改为iCloud就可以了,另外我尝试直接在Xcode的Capabilities中修改其前缀:
但是编译时提示出错,大概意思是iCloud前缀必须以iCloud开头.
但我不排除有其他方法可以做到修改该前缀.
2.如何内在ios设备上看到iCloud中实际的文件名
大家知道在iOS设备上,比如iPhone的iCloud设置里可以看到每个使用iCloud的App,其中我们可以看到App在iCloud中保存的文件.
但是有些童鞋可能发现自己写的App在iCloud中看不到对应的文件名,而只是显示一个笼统的大小:
那么如何让其显示特定的文件呢?
其实很简单,只要将你的文件夹或是文件放到iCloud容器根目录下的Documents文件夹下即可.
如上图所示,我在Documents文件夹中建立了MyString.txt文件和Tools文件夹.
以上是关于iOS中使用iCloud一些需要注意的地方(Xcode7.2)的主要内容,如果未能解决你的问题,请参考以下文章