UIFileSharingEnabled juste保存文件

时间:2011-08-16 17:19:53

标签: iphone ios cocoa itunes file-sharing

在我的iOS应用程序中,我希望该用户可以通过iTunes下载一些jpg文件。所以我启用了UIFileSharingEnabled。但是用户现在可以将文件放入我的应用程序中。我想阻止它。有没有办法做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

不要认为你可以阻止它,但你可以在应用程序激活时删除不需要的文件。

将一些代码放在下面的示例中 - 填写测试以避免删除您希望在iTunes中可用的文件。

在应用程序代理中的 applicationDidBecomeActive:中调用此方法。

如果你更谨慎,你可能想要检查用户是否没有丢弃一个与你停在那里的jpg文件同名的jpg文件。您可以测试日期的相同性或某些此类,或者,如果您没有很多文件,只需删除所有内容并在应用程序变为活动状态时再次写入。

- (void) removeUnwantedFiles;
{    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSArray* directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:inboxPath error:NULL];

    if (!directoryContents || [directoryContents count] == 0)
    {
        return;
    }

    for (NSString* fileName in directoryContents)
    {
        if ( /* some test of filename to see if it's one of my kosher files */ ) continue;

        NSString* filePath = [documentsDirectory stringByAppendingPathComponent:fileName];
        NSError* error = nil;
        BOOL success = [[NSFileManager defaultManager] removeItemAtPath:filePath error:&error];
        // NSLog(@"Deleting (%@): %@", success ? @"succeeded" : @"failed", [filePath lastPathComponent]);
        if (!success)
        {
            NSLog(@"Error: %@", [error localizedDescription]);
        }
    }
}