我正试图从Facebook获取个人资料图片,但我收到以下错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImage stringByStandardizingPath]:
这是我的代码:
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://graph.facebook.com/%@/picture?type=square", userid]];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
//convert UIImage to CCSprite
CCTexture *texture = [CCTexture textureWithFile:image];
CCSprite *sprite = [CCSprite spriteWithTexture:texture];
sprite.position = ccp(winWidth*.5, winHeight*.5);
UIImage *图像行中出现错误。
答案 0 :(得分:2)
无效,因此会收到此类错误。您必须输入您的用户ID才能获得图片。
输入您登录时获得的用户ID。
我的用户ID: 100002026455444
网址:http://graph.facebook.com/100002026455444/picture?type=square
现在输入您的用户ID后运行该URL。你得到了你的照片。
代码:
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://graph.facebook.com/%@/picture?type=square",userid]];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
//convert UIImage to CCSprite
CCTexture *texture = [CCTexture textureWithFile:image];
CCSprite *sprite = [CCSprite spriteWithTexture:texture];
sprite.position = ccp(winWidth*.5, winHeight*.5);
答案 1 :(得分:1)
如果您打开the URL in a browser,您会发现这不是有效的图片网址。而是POST POST错误响应:
{
"error": {
"message": "(#803) Some of the aliases you requested do not exist: userid",
"type": "OAuthException",
"code": 803
}
}
要从Facebook获取个人资料照片,您必须使用Facebook API。用户还需要授予您的应用访问她的个人资料照片的权限。