私のプロジェクトに.jsファイルをドラッグアンドドロップしました。私はそれをロードしたいが、それは動作していない。それは私にヌルパスを与えます。iOSでjsファイルパスを取得するには?
これは、私はこれが動作していない
NSString *path = [[NSBundle mainBundle] pathForResource:@"SearchWebView" ofType:@"js"];
パスを取得しようとする最初のです。それでは、私は、私はドキュメント/
でそれをコピーする必要があるかもしれないと思うので、私はそれが私のドキュメントフォルダに新しいコピーファイルを作成していないコピーファイル
- (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ファイル"は応答しません。 私はまた、ファイルが私のプロジェクトバンドルにあることを確かめます。
削除「SearchWebView.js」を削除し、再度、プロジェクトにファイルをドラッグして、「保存先のフォルダにファイルをコピー」のオプションをチェックするために、JS目的のファイルを追加します。 。 –
なぜ '!success'のファイルをコピーしようとしていますか? –
@Vinceなぜ私はメインバンドルに入ることができないのか分かりません... –