小编N S*_*N S的帖子

Facebook图形API总是返回小图片

我正在使用facebook图api,我发出这个命令

/V2.0/me/home

它返回类似于:

  "id": "xxxxxxxxxxxxxxxxxxxxxx", 
  "from": {
    "id": "xxxxxxxxxxxxxxxxx", 
    "name": "Roger"
  }, 
  "story": "Roger shared a link.", 
  "picture": "https://fbexternal-a.akamaihd.net/safe_image.php?d=AQB2VeutsxS6ht3i&w=154&h=154&url=https%3A%2F%2Fwww.facebook.com%2Fads%2Fimage%2F%3Fd%3DAQIuWnred6mG7Ti280buWL8uhE00-W2H0Eom1PzNa3Av0x3y7JieMPqLmxAFYsCRKh0Zr8u_PyWO1lFbTknlj_DaksBoFiaD8d2yIWLOGNYKie1w9Kff6vyyElxnfrlHH7uSRhwycKNakg7szgWtBBwC", 
  "link": "http://xxxxxx.com", 
Run Code Online (Sandbox Code Playgroud)

问题在于上面的"图片"标签,其中图片的网址是在之后给出的.

如果您将该网址粘贴到浏览器中,则会获得一个小缩略图大小的图像,但在真实的Facebook页面上,它会显示相同图像的大得多的高分辨率版本.

这对于它发回的所有图片网址都是一样的.有些网址以_s.jpg结尾,我可以将其更改为_n.jpg以使其成为更大的图像,但这对于最后没有_s.jpg的网址不起作用,就像上面的网址一样.

任何人都知道要使用的facebook-graph-api命令,以便facebook发送指向较大的高分辨率图像的url而不是发回指向所有缩略图的url?或者如何更改网址以使其指向大的高分辨率图像?

谢谢

facebook facebook-graph-api-v2.0

10
推荐指数
2
解决办法
6486
查看次数

等待结果而不停止UI

我有一个iPad应用程序,我想这样做

-(IBAction) clicked {
    image=download(@"http://....."); // this is on the main thread
}
Run Code Online (Sandbox Code Playgroud)

下载功能将调用一大堆非阻塞函数从Internet下载文件,但下载本身不应该返回,直到下载图像.

当程序在上面的image = download(...)行等待下载时,我希望UI能够仍然运行,例如能够滚动UITableView,单击另一个按钮等.

所以我在下载函数中使用的是RunLoop

-(void) download:(NSString *)url 
{
    BOOL stillDownloading=TRUE;
    while(stillDownloading) {
        stillDownloading=downloadAFwBytes(...);
        CFRunLoopRunInMode(kCFRunLoopCommonModes, 0, YES);
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为CFRunLoopRunInMode函数将继续抽取UI消息,触摸,滚动主UI线程,以便UI继续工作,直到下载完成后才冻结,但由于某种原因,它只能工作很短的时间,最终用户界面冻结.

你知道为什么,或者如何解决?

下载函数在程序中随处调用,期望它等待下载,因此我暂时无法将其更改为非阻塞.

iphone ipad ios

1
推荐指数
1
解决办法
2079
查看次数

标签 统计

facebook ×1

facebook-graph-api-v2.0 ×1

ios ×1

ipad ×1

iphone ×1