1

UrbanAirshipサイトの指示に従ってUrbanAirship-1.3.3をプロジェクトに組み込み#import、適切なヘッダーを編集すると、正常にコンパイルされます。しかし、私のアプリデリゲートのメソッド内

-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:NSDictionary*)launchOptions

この線:

[UAStoreFront useCustomUI:[UAStoreFrontUI class]];

これは現在UrbanAirshipを使用するために必要であり、次のリンカーエラーが発生します。

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_UAStoreFrontUI", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

ヘッダーファイル(UAStoreFrontUI.h)は問題なくインポートされますが、ヘッダーファイル([UAStoreFrontUIクラス]など)からコードを呼び出すとすぐに、リンカーが文句を言い始めます。UAirship.hとUAStoreFront.hはリンクされており、エラーなしで使用できるため、これは特に奇妙だと思います。

私はxcodeにかなり慣れていないので、ビルド設定や見落としているものがあるかもしれませんが、それ以外は、この時点でレンガの壁にぶつかり、進め方がわかりません。任意の洞察をいただければ幸いです

4

2 に答える 2

0

ああ、私はアーバンエアシップを見たUAStoreFrontUIばかりで、実際にはプロトコルに準拠したクラスの単なる例です。UAStoreFrontUIProtocolつまり、ライブラリに含まれるクラスではありません。

自分で作成する必要がありますが、それらの例を使用する場合は、プロジェクトに独自のファイルを追加するのと同じように、プロジェクトに含める必要がUAStoreFrontUI.hあります。UAStoreFrontUI.m

于 2012-10-24T17:22:29.843 に答える
0

.m、.xib、およびその他のリソースファイルを。Build Phasesの下に追加しなかった結果のリンカーエラーCopy Bundle ResourcesCopy Bundle Resourcesこれらのファイルが存在するフォルダを追加することは機能しないように思われるため、適切なファイルを個別に明示的に追加する必要があるようです。これは、UrbanAirshipチュートリアルには記載されていません...何らかの理由で。

私が見つけた解決策は、さらに読むためにここで見つけることができます

于 2012-11-07T15:46:59.513 に答える