禁用iCloud同步

7

有没有办法防止应用程序数据(文档文件夹内容)被同步到iCloud?(除了由于iOS5的新问题而将其存储在缓存目录中that)我的应用程序需要在设备上存储数据,但出于安全原因,它不能与任何第三方(包括苹果公司)同步。

2个回答

8

来源:https://developer.apple.com/library/ios/#qa/qa1719/_index.html

您可以使用以下方法设置“不备份”扩展属性。每当创建不应备份的文件或文件夹时,请将数据写入文件,然后调用此方法,并传递文件的URL。

#include <sys/xattr.h>
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    const char* filePath = [[URL path] fileSystemRepresentation];

    const char* attrName = "com.apple.MobileBackup";
    u_int8_t attrValue = 1;

    int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
    return result == 0;
}

更多信息可在此处找到:https://developer.apple.com/icloud/documentation/data-storage/。该网站涉及IT技术相关内容,希望您可以从中获得所需的信息。

iOS 5.0.1 beta和iTunes 10.5.1 beta是预发布软件,被视为苹果机密信息,并受您的iOS开发者计划许可协议条款约束。未经授权的分发或披露苹果机密信息是被禁止的。 - zekel
2
我没想到会被苹果警察拦下。希望CNN不要得到这个机密修复程序。他们在媒体上猜测这个功能已经几个月了!这将破坏苹果的大揭幕。Tim会很难过。 - BadPirate
只是想让你知道,如果你没有故意忽略它的话,你正在违反你的保密协议。我的错。 - zekel
请注意,如果您设置了“不备份”属性,当同步时,它也不会备份到用户的本地iTunes。因此,例如,如果用户恢复他们的iOS设备,并从备份中恢复该设备,那么您的应用程序的所有数据都将丢失。用户需要事先知道这种情况可能发生,否则他们可能会非常生气。 - Duncan Babbage
是的,这是我们产品(安全产品)必须应对的挑战,因为客户有一个要求,即能够远程擦除所有备份(甚至加密的数据),而备份到iTunes / iCloud会让数据暴露在“野外”。然而,对于其他使用该功能的人来说,这是一个好的观点。我猜你有一些理由不备份数据(无论是iTunes还是iCloud),如果你选择使用该属性。 - BadPirate

0

4
我猜他想避免用户使用iCloud备份设备时将数据发送到云端。 - EmilioPelaez
正确。 我指的是“文档”文件夹中的数据。 - BadPirate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接