0

Facebook SDK 3.5.1 に問題があります

Facebook のアクセス トークンとユーザー情報を取得できました。しかし、FBProfilePictureView を使用してユーザー (Me/Friends) のプロフィール画像を取得しようとすると、アプリが常にクラッシュします。

助けの手がかりを与えてください。

ところで、悪い英語でごめんなさい:(

ありがとう。

SDK でログイン:

NSArray *permissions = @[@"publish_stream", @"publish_actions"];

FBSessionTokenCachingStrategy *tokenCache = [[FBSessionTokenCachingStrategy alloc] initWithUserDefaultTokenInformationKeyName:kFacebookTokenCache];
[FBSession setActiveSession:[[FBSession alloc] initWithAppID:FB_APP_ID permissions:permissions defaultAudience:FBSessionDefaultAudienceEveryone urlSchemeSuffix:nil tokenCacheStrategy:tokenCache]];
[FBSession openActiveSessionWithPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
// some codes here.
}];

FB トークンの取得に成功したら、カスタムの Facebook 友達リスト ビュー コントローラーを作成したいと考えています。だから私はこのように試しました:

[[FBRequest requestForGraphPath:@"/me/friends"] startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
            if (error) {

            } else {
                FBGraphObject *objects = result;

                NSLog(@"%@", result);

                NSArray *keys = [objects allKeys];

                for (NSString *key in keys) {
                    if ([key isEqualToString:@"data"]) {
                        self.dataArray = [objects objectForKey:key];
                    } else if ([key isEqualToString:@"paging"]) {
                        self.nextPage = [[objects objectForKey:@"paging"] objectForKey:@"next"];
                    }
                }
            }
            [self.tableView reloadData];
            [self hideLoading];
        }];

それからtableViewは私の友達を示しています:

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
... codes here

NSDictionary *user = [self.dataArray objectAtIndex:indexPath.row];

cell.friendName.text = [user objectForKey:@"name"];
cell.profileView.profileID = [user objectForKey:@"id"];   // <<<-- !!!

... returning cell
}

それからブーム!!!

行を削除するとcell.profileView.profileID = [user objectForKey:@"id"];、プログラムはすべて問題ありません。クラッシュはありません。しかし... **ため息**

これが結果です。

FBCacheIndex: 予想される結果 101、実際の 10 2013-06-05 16:15:59.277

ZPad[14403:a007] FBCacheIndex: SQLite エラー: ディスク I/O エラー 2013-06-05 16:15:59.278

ZPad[14403:a007] * -FBCacheIndex _removeEntryFromDatabaseForKey でのアサーションの失敗:、/Users/facebookSDK/src/FBCacheIndex.m:562 2013-06-05 16:15:59.279

ZPad[14403:a007] *キャッチされない例外 NSInternalInconsistencyException が原因でアプリを終了します', 理由: ''

*最初のスローコールスタック:(0x312602A3 0x390D497F 0x3126015D 0x31B35B13 0x280FB1 0x27DB95 0x394EC11F 0x394ECF 0x394EFDC1 0x394F091D 0X3951FICTIXFUXFUXFUXFUXFUXFUXFICCFICTICFECFECF 0x394

4

1 に答える 1