Я перетащил файл .js в свой проект. Я хочу загрузить его, но он не работает. Это дает мне нулевой путь.
Это первый раз, когда я пытаюсь найти путь
NSString *path = [[NSBundle mainBundle] pathForResource:@"SearchWebView" ofType:@"js"];
это не работает. Тогда я думаю, что мне может понадобиться скопировать его в Documents /
Итак, я запускаю файл копирования
- (NSString *)getJSFilePath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
return [documentsDir stringByAppendingPathComponent:@"SearchWebView.js"];
}
- (void) copyJSFileIfNeeded{
//Using NSFileManager we can perform many file system operations.
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSString *jsPath = [self getJSFilePath];
BOOL success = [fileManager fileExistsAtPath:jsPath];
if(!success) {
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"SearchWebView.js"];
success = [fileManager copyItemAtPath:defaultDBPath toPath:jsPath error:&error];
if (!success){
//NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
}
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[self performSelector:@selector(copyJSFileIfNeeded)];
}
Это не создает новый файл копии в моей папке документов. Не знаю почему?
Я могу использовать тот же метод для копирования файлов plist или sqlite, но «файл .js» не является ответом.
Я также проверяю, находится ли файл именно в моем комплекте проекта.