2016-05-13 2 views
1

私はiOS/Xcodeプログラミングが初めてだから、正確に何を尋ねるのか分からないと言うことにしましょう。 アプリに静的ライブラリを追加しようとしていますが、クラッシュしてしまいます。 ライブラリパッケージには、.hファイルと.aファイルがあります。 問題の把握を進める方法についていくつかの提案をお願いします。 は、ここではいくつかの事実:NSMutableDataエラー

  • のXcode 7.3 - エルキャプテンのOS
  • ライブラリが働いています。私は使用しようとしている同じライブラリを使用してクラッシュなしで動作しているデモアプリケーションを持っています
  • デモアプリケーションと私を比較しても意味のある違いは見つかりませんでした。私のものは最初から作成されています(単一のView - storyboard)、デモアプリケーションはxibファイルを使用しており、どのように開発されたのか分かりません。 いくつかのファイルが

  • クラッシュがNSMutableDataクラスを伴うクラッシュが明らかに内部コールのいずれかで、ライブラリの内部で起こる

  • (すなわち、デモアプリケーションから直接コピー)同じです。これは、エラーである:

    + [NSMutableData dataFromHexString:]:「+ [NSMutableData dataFromHexString:]:認識されないセレクター認識されていないセレクタによりキャッチされない例外 'NSInvalidArgumentException'、理由にクラスアプリを終了0x1a085fdb0

    ***に送信クラスNSMutableDataには直接の紹介がないアプリケーションのコード(働いているものと機能していない1それらの両方)でクラス0x1a085fdb0'

    • に送信されました。アプリケーションで定義されている最も近いクラスはNSMutableArrayであり、私はそれが両方のアプリケーションで同じ方法で定義され、使用されていることがわかります。

このなぜ私は続行するのか分かりません。 元のデモコードで動作しているため、ライブラリが動作しないようにする必要がありますが、この時点で何ができるのか分かりません。 問題を特定しようとするいくつかのブレークポイントを置こうとしましたが、ライブラリはデバッグ情報なしでコンパイルされるため、ライブラリ内のアセンブリコードのみがデバッガによって表示されます。 私はどのように進行するかについての手がかりを探しています。任意の助け

おかげで スティーブ

+1

NSMutableDataの 'dataFromHexString:'のようなメソッドはありません。おそらく、それをカテゴリメソッドとして追加したライブラリもあります。 – rmaddy

+0

正しいですが、私はそのメソッドが存在しないことに気付きましたが、実際のアプリケーションでは、そのクラスに追加されたメソッドが見つかりませんでした。 私のアプリでは、動作中のアプリと全く同じファイルが含まれています。 いくつかのアプリの設定(info.plistなど)でこのトリックを行うことはできますか? – thefwguy

答えて

0

は、問題を発見しました。私は幽霊を追いかけていましたが、設定に2つのコンパイルフラグがありませんでした。 dataFromHexStringメソッドは静的ライブラリ内で宣言されていますが、もちろんそれに関するドキュメントはありません。 コードをコンパイルするために2つのフラグを追加する必要がありました。 -ObjCと-all_load 私は推測していますが(環境はよくわかりません)、これらのフラグを使用するとコードは新しいメソッドを認識できます。

関連する問題