相关疑难解决方法(0)

文件从NSLibraryDirectory中消失

我将一些文件存储在iOS应用程序的Library目录中,使用以下方法构建它.最后,我可以调用[MyClass dataDirectory]我的文件处理,一切都很顺利.然而,我最近发现,一些文件似乎神秘地消失在这个目录之外.根据文件,情况并非如此.这是存储持久文件的安全位置吗?

该目录的控制台输出是: ~/var/mobile/Containers/Data/Application/{id}/Library/Data

+ (NSString*)libraryDirectory
{
    return [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
}

+ (NSString*)dataDirectory
{
    NSString* dir = [[self libraryDirectory] stringByAppendingPathComponent:@"Data"];
    BOOL isDir=NO;
    NSError * error = nil;
    NSFileManager *fileManager = [NSFileManager new];

    if (![fileManager fileExistsAtPath:dir isDirectory:&isDir] && isDir)
    {

        [[NSFileManager defaultManager] createDirectoryAtPath:dir
                                  withIntermediateDirectories:YES
                                                   attributes:nil
                                                        error:&error];
    }

    [self addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:dir isDirectory:YES]];

    if (error != nil) {
        DDLogError(@"Fatal error creating ~/Library/Data directory: %@", error);
    }
    return dir;
}
Run Code Online (Sandbox Code Playgroud)

和跳过方法:

+ (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    if ([[NSFileManager defaultManager] …
Run Code Online (Sandbox Code Playgroud)

objective-c ios nsdocumentdirectory nslibrarydirectory

3
推荐指数
1
解决办法
3899
查看次数

非主要捆绑文件作为警报声

我希望我错了,但我不认为这是可能的.在"本地和推送通知编程指南"的"准备自定义警报声音"下,它说"声音文件必须位于客户端应用程序的主包中".

如果你不能写入主包,那么如何让用户生成的录音(使用AVAudioRecorder)作为警报声播放?

一方面它似乎是不可能的,但另一方面我认为有应用程序可以做到这一点(我会寻找那些).

avaudiorecorder ios uilocalnotification

2
推荐指数
1
解决办法
1496
查看次数