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