4

将来のiOSプロジェクトにhttp://getsharekit.comフレームワークを使用したいと思います。そのため、フレームワークのテストを開始しました。

しかし、私はすでに次のエラーを受け取ります:

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SHKItem", referenced from:
  objc-class-ref in ShareKitTestAppDelegate.o
"_OBJC_CLASS_$_SHKActionSheet", referenced from:
  objc-class-ref in ShareKitTestAppDelegate.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

多くの場合、私が知る限り、これらの問題はヘッダーファイルが誤ってインポートされた場合に発生します。しかし、上記の問題が発生した次のコードでは、エラーは表示されません。

#import "ShareKitTestAppDelegate.h"
#import "SHK.h"
#import "SHKItem.h"
#import "SHKActionSheet.h"
- (IBAction) letshare:(id)sender
{  
   // Create the item to share (in this example, a url)
   NSURL *url = [NSURL URLWithString:@"http://getsharekit.com"];
   SHKItem *item = [SHKItem URL:url title:@"ShareKit is Awesome!"];

   // Get the ShareKit action sheet
   SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];

   // Display the action sheet
   [self.window addSubview:actionSheet];
}

また、すべてのヘッダーを検索するため、ShareKitヘッダーフォルダーをHeaderSearchPathBuild-Optionsに含めました。

しかし、ここでエラーや見逃したものは見当たりません。

誰かが私を助けることができますか?

敬具、

アンドレアス

4

2 に答える 2

4

次のリンカーエラーでも同様の問題が発生しました。

アーキテクチャi386の未定義のシンボル: "_ OBJC_CLASS _ $ _ SHK"

プロジェクト設定->ターゲット->ビルドフェーズでコンパイル済みソースにSHK.mを追加することで解決しました。SHK.mがコンパイル済みソースリストに含まれていなかった理由がわからず、ターゲットを複製する前に機能していました。複製後、どのターゲットもリンクできませんでした。

コンパイルされたソースにSHKItem.mまたはSHK.mを追加すると、それらがまだ存在しない場合に役立つことがあります。

于 2012-04-17T21:34:25.733 に答える
3

このhttp://getsharekit.com/install/をお読みください。

フレームワークを追加しましたか?

于 2011-08-08T04:46:19.950 に答える