Facebook SDKを私が構築しているiOS5プロジェクトに統合しようとしています。ios5のFacebook SDKがクラッシュする
アドバイスの後、私はFacebook固有のファイルのコンパイラフラグを '-fno-objc-arc'に設定しました。これにより私のファイルにARCを維持しながら、プロジェクトを正常に構築することができます。
私は基本的なFacebook SDKの手順を実行しており、ログインに成功し、権限を設定しています。
[facebook requestWithGraphPath:@"me/friends" andDelegate:(id)self];
私は後者であるだけではなく、「自己」の「(ID)自己」と言っていた理由私にエラースロー:
warning: sending 'PhotoController *__strong' to parameter of incompatible type 'id<FBRequestDelegate>' [3]
を私がしようとすると、グラフにアクセスするときに問題が来ます私はすべてのコールバックメソッドを実装しています。正常に呼び出された唯一の方法は、
- (void)requestLoading:(FBRequest *)request;
です。データを受信するとアプリがクラッシュすると思われます。
私は結果NSZombieオンになり、ここにありますしている他のスレッドで提案パー:
2011-11-14 13:40:29.896 Friend Carousel[9660:f803] facebook: <Facebook: 0x6e21550>
2011-11-14 13:40:29.898 Friend Carousel[9660:f803] self: <PhotoController: 0x6e215a0>
2011-11-14 13:40:31.115 Friend Carousel[9660:f803] *** -[PhotoController respondsToSelector:]: message sent to deallocated instance 0x6e215a0
FacebookはFacebookのオブジェクトであり、PhotoControllerは(定義されたメソッドを持つ)のデリゲートです。
Facebook Requestオブジェクトが既にリリースされたデリゲートにメッセージを送信しようとしているようです。右?それがクラッシュを引き起こす原因です。
残念ながら、これは私のiOSの知識が私を傷つける場所です。これは私が間違っていることですか、それともFacebook SDKをARC対応のプロジェクトに組み込むことができませんか?私はここからどこに行くべきか本当に分かりません。
おかげで、
ケビン
クリフ、FacebookオブジェクトはPhotoController内で作成されています。 PhotoController自身のコピーを作成する必要がありますか?私は完全に理解していない。 PhotoControllerは以下のようにRootViewControllerで作成されます:PhotoController * photoController = [[PhotoController alloc] init]; – thekevinscott
それは、それでした! – thekevinscott
Uuhh ...私は、私の答えが助けられたと思っていますか?あなたが私に正しい印をつけているのを見ます。上のあなたのコメントから判断して、私はあなたのクラッシュの原因となったメソッドのローカル変数としてインスタンス化してスプーンし、プロパティやivarに写真コントローラを格納するメソッドを修正したとも仮定します。どんな場合でも、私はあなたがそれを解決してうれしいです! :) – Cliff