1

UIViewストーリーボードエディタを使用してビューコントローラのメインビュー内を作成し、そのクラスをに変更しましたFBProfilePictureView

ここに画像の説明を入力してください

アウトレットを作成しました:

@property (weak, nonatomic) IBOutlet FBProfilePictureView *userImage;

ただし、userImageコードでオブジェクトを参照すると、UIViewとして報告されます。

NSLog(@"userImage class: %@", [userImage class]);

生産:

2012-08-28 17:52:22.196 FBTestApp[6230:707] userImage class: UIView

私は何が欠けていますか?

4

3 に答える 3

5

FB docsに記載されているエラーは表示されませんでしたが、次を追加します。

[FBProfilePictureView class];

applicationDidFinishLaunching にトリックを実行しました。おそらく、いくつかのランタイム マジックが進行中です。

于 2012-08-29T02:09:06.463 に答える
0

これを解決するより洗練された方法は、この「ランタイム マジック」を行う代わりに -ObjC リンカー フラグを追加することです。ここでは、フラグを追加する方法について説明します。

次のような SDK ドキュメントを参照してください。

Note: If you've added the -ObjC flag to your linker options, then you don't have to add this code. Adding that flag causes the linker to load all the object files in the Facebook SDK, including the FBLoginView class. If you want to know more about what the -ObjC flag does, you can check out our troubleshooting guide.

FBLoginView について言及しましたが、この質問への回答によると、FBProfilePictureView: FBProfilePictureView オブジェクトは画像を表示しません。

お役に立てれば。

于 2014-06-07T09:32:33.607 に答える
0

[userImage class]クラスメソッドの呼び出し以外には頼りません。userImageが正しいタイプであることを確認する必要がある場合は、 を使用します[userImage isKindOfClass:[FBProfilePictureView class]]。オブジェクトを FBProfilePictureView として扱えるかどうかを知らせてくれます。

于 2012-08-29T02:22:54.130 に答える