objective-c - 打包成.framework sdk 想在里面放 js 文件,不想用 bundle,怎么可以读取到 js 文件
过去多啦不再A梦
过去多啦不再A梦 2017-05-02 09:33:31
0
2
798

用了 NSString * jsStr = [[NSString alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"xx" ofType:@"js"] ,一直报 Error Domain=NSCocoaErrorDomain Code=258 "The file name is invalid ,有没有知道怎么解决的?

过去多啦不再A梦
过去多啦不再A梦

全員に返信(2)
迷茫

静的ライブラリは機能しないようです。バンドルを作成する必要があります。バンドル内の js ファイルはシステムによって自動的に .txt ファイルに変換されます。より良い解決策は、js コードを圧縮してから、URLEncode エンコードを実行して解決することです。この問題。

いいねを押す +0
给我你的怀抱

必要なファイルを Framework にパッケージ化し、NSBundle を通じてファイルを取得できます。違いは、mainBundle が使用できないことです。これは、現時点では mainBundleFramework を参照するプログラムを参照しているためです。もちろん、JS ファイルは見つかりません。 Framework 里面,然后通过 NSBundle 去获取这个文件。不同的是不能使用 mainBundle,因为此时的 mainBundle 指的引用 Framework 的这个程序。当然找不到你的 JS 文件了。

解决方法:

  1. Framework 的工程里面,Target->Build Phases->Copy Bundle Resources 里面加入你需要打包进 Framework 的文件

  2. 需要读取某个文件时使用

NSBundle *bundle = [NSBundle bundleWithIdentifier:@"your.framework.id"];
if (bundle) {
    NSString *filePath = [bundle pathForResource:@"somefile" ofType:@"js"];
    // ...
}

PS: Framework

解決策:🎜
  • 🎜Framework プロジェクトの Target->Build Phases->Copy Bundle ResourcesFramework にパッケージ化する必要があるものを追加します。 > ファイル 🎜
  • 🎜ファイルを読み取る必要がある場合に使用します🎜
  • リーリー 🎜追記: Framework は動的ライブラリである必要があります。 🎜
    いいねを押す +0
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート