在我的iOS应用中,我希望该用户可以通过iTunes下载一些jpg文件。因此,我启用了UIFileSharingEnabled。但是用户现在可以将文件放入我的应用程序中。我想阻止。有没有办法做到这一点 ?
谢谢 !
最佳答案
不要以为您可以阻止它,但是只要您的应用程序处于活动状态,您就可以删除不需要的文件。
放置一些类似于以下示例的代码-填写测试以避免删除您希望在iTunes中可用的文件。
在应用程序委托中的applicationDidBecomeActive:中调用此函数。
如果您更加谨慎,则可能要检查用户是否没有删除与您停泊在那里的同名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]);
}
}
}