Ios iPhone应用程序更新&引用;“创建路径”;释放?

Ios iPhone应用程序更新&引用;“创建路径”;释放?,ios,Ios,我正在使用iPhoneApp的符号链接 NSString* js_path = [[NSBundle mainBundle] pathForResource:@"js" ofType:nil]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); if (js_path != nil) { NSFileManager *fm = [NSFileM

我正在使用iPhoneApp的符号链接

NSString* js_path = [[NSBundle mainBundle] pathForResource:@"js" ofType:nil];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
if (js_path != nil) {
    NSFileManager *fm = [NSFileManager defaultManager];
    NSString* move_js_path = [NSString stringWithFormat:@"%@/js",  [paths objectAtIndex:0]];
    NSError *error; 
    if ([fm createSymbolicLinkAtPath:move_js_path withDestinationPath:js_path error:&error]) {
    } else {}
}
我更新了申请程序。之后就无法读取该文件了

然而,在应用程序被删除一次后,通过重新安装该文件可以读取该文件


这段代码有问题吗?

如果有人对此感到疑惑,原因是应用程序每次更新时都会移动目录,解决方案可能是使用相对路径捆绑包位于/var/mobile/Applications/[每次更新都会更改的唯一id]/app.app,而documents目录位于/var/mobile/Applications/[unique id,用于更改每次更新]/documents,因此,如果使用类似../[bundlepath lastPathComponent]/documents的内容,则从文档到捆绑包的符号链接将始终有效

ofc从运行时获得的目录构建相对性是一个好主意,而不是硬编码,以防将来这些相对路径发生变化