用了 NSString * jsStr = [[NSString alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"xx" ofType:@"js"] ,一直报 Error Domain=NSCocoaErrorDomain Code=258 "The file name is invalid ,有没有知道怎么解决的?
静的ライブラリは機能しないようです。バンドルを作成する必要があります。バンドル内の js ファイルはシステムによって自動的に .txt ファイルに変換されます。より良い解決策は、js コードを圧縮してから、URLEncode エンコードを実行して解決することです。この問題。
必要なファイルを Framework にパッケージ化し、NSBundle を通じてファイルを取得できます。違いは、mainBundle が使用できないことです。これは、現時点では mainBundle が Framework を参照するプログラムを参照しているためです。もちろん、JS ファイルは見つかりません。 Framework 里面,然后通过 NSBundle 去获取这个文件。不同的是不能使用 mainBundle,因为此时的 mainBundle 指的引用 Framework 的这个程序。当然找不到你的 JS 文件了。
Framework
NSBundle
mainBundle
解决方法:
在 Framework 的工程里面,Target->Build Phases->Copy Bundle Resources 里面加入你需要打包进 Framework 的文件
Target->Build Phases->Copy Bundle Resources
需要读取某个文件时使用
NSBundle *bundle = [NSBundle bundleWithIdentifier:@"your.framework.id"]; if (bundle) { NSString *filePath = [bundle pathForResource:@"somefile" ofType:@"js"]; // ... }
PS: Framework
静的ライブラリは機能しないようです。バンドルを作成する必要があります。バンドル内の js ファイルはシステムによって自動的に .txt ファイルに変換されます。より良い解決策は、js コードを圧縮してから、URLEncode エンコードを実行して解決することです。この問題。
必要なファイルを
Framework
にパッケージ化し、NSBundle
を通じてファイルを取得できます。違いは、mainBundle
が使用できないことです。これは、現時点ではmainBundle
がFramework
を参照するプログラムを参照しているためです。もちろん、JS ファイルは見つかりません。Framework
里面,然后通过NSBundle
去获取这个文件。不同的是不能使用mainBundle
,因为此时的mainBundle
指的引用Framework
的这个程序。当然找不到你的 JS 文件了。解决方法:
在
Framework
的工程里面,Target->Build Phases->Copy Bundle Resources
里面加入你需要打包进Framework
的文件需要读取某个文件时使用
PS:
解決策:🎜Framework
Framework
プロジェクトのTarget->Build Phases->Copy Bundle Resources
でFramework
にパッケージ化する必要があるものを追加します。 > ファイル 🎜Framework
は動的ライブラリである必要があります。 🎜