3

約 20,000 の画像ファイル (アニメーション フレーム) を含むアプリがあります。さまざまな理由から、これらを手動でパックすることは現実的ではありません (ただし、もっと時間があれば、そうするでしょう)。

Xcode はわずか数千のファイルでクロールに遅くなり、数万に達すると完全に動作を停止します (さまざまなボタンが Xcode をクラッシュさせます)。65,535 ファイルを超えると、Apple の誰かが 16 ビットの int を使用してインデックスを格納したため、組み込み機能の一部が機能しなくなるという噂も聞いたことがあります。

これにはどのようなオプションがありますか? Xcodeに「これらのファイルはすべて、決して触れない静的バイナリであり、それらをバンドルに入れて無視する」ことを伝える何らかの方法があるはずです。しかし、グーグルでドキュメントを読んでも、何も見つかりません:(

4

2 に答える 2

1

圧縮されたバージョンをバンドルに保存し、実行時にアプリケーションのユーザー ディレクトリに解凍することができます。これは一度だけ実行する必要があります。

于 2012-12-02T14:17:33.340 に答える
0

最後に、半自動で梱包しました。同じ問題を抱えている他の人に役立つ場合に備えて、ここで説明します-誰かがより良い答えを思い付くまで/しない限り:(

  1. 何百もの PNG ファイルを 1 つのファイルにパックし、高速にデコードできる独自のファイル形式を発明しました。
  2. 実装されたエンコード/デコード メソッド
  3. 実行時にすべての PNG ファイルを取得し、それらを N 個のファイルにパックする、アプリ内の Obj-C メソッドの小さなペア (デバッグ スイッチでのみ有効) を作成しました。
  4. 最初の 1,000 個のファイルをプロジェクトに移動します
  5. シミュレーターでアプリを実行し、ハードディスクでシミュレーター フォルダーを見つけます (Xcode4.5 を使用する OS X Mountain Lion の Library/ApplicationSupport/iPhoneSimulator にあります)。
  6. 「パックされた」ファイルをメイン プロジェクトに移動します。
  7. 完了するまで、これらの 3 つの手順を繰り返します。

これはハッキーな解決策ですが、約 15 年前に他のすべての IDE によって解決されたこの単純な問題に Xcode が対処できないのは残念ですが、機能します。

私は自分のパック形式を誇りに思っていません。- 標準形式を使用するか、適切なツールを作成します。

于 2012-12-02T19:29:31.770 に答える