寻热心iOS开发一起完善iOS的新浪微博SDK - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
jimliu
V2EX    iDev

寻热心iOS开发一起完善iOS的新浪微博SDK

  •  
  •   jimliu 2013-08-12 22:38:05 +08:00 5569 次点击
    这是一个创建于 4498 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近我重构了一下新浪微博SDK代码,主要接口都换成了Block的方式,例如:

    [Weibo.weibo queryTimeline:StatusTimelineFriends count:50 completed:^(NSMutableArray *statuses, NSError *error) {
    if (error) {
    NSLog(@"获取失败,error:%@", error);
    }
    else {
    NSLog(@"获取成功,微博条数:%d", self.statuses.count);
    }
    }];


    不过还有很多接口没有实现。

    详细代码和使用说明可以参考:https://github.com/JimLiu/WeiboSDK

    希望有热心同学可以帮助完善没有完成的接口,可以提交修改后代码给我合并进去。

    Thanks
    34 条回复    1970-01-01 08:00:00 +08:00
    so898
        1
    so898  
       2013-08-12 22:52:52 +08:00   1
    根据本人的开发经验,有大量接口使用Block不太好……
    我当年也写了一大半套的Block形式接口,最后发现太难用了……特别是提醒部分……
    现在都是部分Block,部分Delegate,还有部分Notification这种方法……
    jimliu
        2
    jimliu  
    OP
       2013-08-12 22:55:51 +08:00
    @so898 我也写了Demo,基本上从应用场景上来看还挺好。
    tane05
        3
    tane05  
       2013-08-12 22:58:50 +08:00
    @so898 亲,有空能帮我看看那bug,原谅我的厚颜无耻!
    so898     4
    so898  
       2013-08-12 23:04:51 +08:00
    @jimliu
    除了通知之外,Block现在在某些需要做后期处理的(比如说微博Cell渲染)的场景下会显得很难过……retina循环这个就是我心头无法消灭的的噩梦……
    话说大神你这么久没有更新这个SDK,怎么突然想着来更新了……
    现在已经是官方SDK的时代了……因为那啥跳转到官方APP来验证用户是在是太火了……现在基本上除了我这种还在做微博客户端的,都是跳转登陆了……上个月新浪更新SDK的时候直接开始提供封装好的包,导致接下来……微博SDK的空间……
    so898
        5
    so898  
       2013-08-12 23:05:30 +08:00
    @tane05
    大神您是……
    我这个小渣渣啥时候有能力帮别人修BUG了……
    您认错了吧……
    tane05
        6
    tane05  
       2013-08-12 23:18:44 +08:00
    @so898 路人甲,感觉你蛮有经验,想让您帮看看bug,具体参见刚刚发的帖子
    jimliu
        7
    jimliu  
    OP
       2013-08-12 23:20:29 +08:00
    @so898 我不觉得block和后期处理是冲突的,最多block里面还有些异步代码。
    你指的Retina循环是啥?

    其实SDWebImage就是个用block非常好的例子,建议可以看看它的代码和Demo。

    我更新么,纯粹就是为了技术结构上调整一下,现在看以前结构有点乱。

    微博SDK么,又不是商业用途,不必担心空间啥的。
    so898
        8
    so898  
       2013-08-12 23:31:46 +08:00
    @jimliu
    Retina循环时ARC下面一个非常恶心的玩意……具体来说就是一个Strong量在另外一个Strong量的Block里面的时候(我反正碰到的都是这种情况),就会有一个Warming……
    话说辛辛苦苦写一套SDK出来,没人用岂不是很寂寞……
    那个,不考虑加入SSO么?
    jimliu
        9
    jimliu  
    OP
       2013-08-12 23:36:02 +08:00
    @so898 你如果在block里面修改外部变量值,得要在外面的变量申明前加上 __block
    我觉得呀,你就是对block还不熟,其实蛮好的!

    SDK有很多人用的,所以不寂寞。

    SSO(单点登录)是Web应用下的吧?iOS用它干嘛?
    so898
        10
    so898  
       2013-08-12 23:48:06 +08:00
    @jimliu
    唉唉?!这样可以么?!我明天去看看,这样就可以解决掉好多weak type了……

    新浪不是有传说中的SSO登陆么,就是跳转到新浪的iOS App去进行验证,验证完了再跳回来
    66450146
        11
    66450146  
       2013-08-12 23:52:34 +08:00   1
    @so898 你是说 retain cycle 么。。。
    so898
        12
    so898  
       2013-08-12 23:55:30 +08:00
    @66450146
    Tnahk yuo
    英文不好,见谅……
    Hysteria
        13
    Hysteria  
       2013-08-12 23:59:59 +08:00
    @so898 retain cycle应该在非ARC环境下也会出现的,跟block的实现有关吧。如@jimliu所说,使用__blcok来声明变量就可以解决啦。
    jimliu
        14
    jimliu  
    OP
       2013-08-13 00:00:31 +08:00
    @so898 SSO第三方好像是没法实现
    so898
        15
    so898  
       2013-08-13 00:08:00 +08:00
    @Hysteria
    我手上这套代码是从非ARC通过Xcode自带的那货转过来,由于历史太久了我已经不记得怎么实现的了……这段时间每天看着Warming头疼……希望明天通过__block可以解决问题
    so898
        16
    so898  
       2013-08-13 00:09:17 +08:00
    @jimliu 新浪SDK上一版的源代码里面可以看到SSO相关部分,我曾经为了一个Scope验证试着重写了部分,最后竟然成功了……
    反正我觉得这货就是一个Application URI……
    jimliu
        17
    jimliu  
    OP
       2013-08-13 00:19:06 +08:00
    @so898 有空一起改改啊
    chmlai
        18
    chmlai  
       2013-08-13 00:20:53 +08:00
    单纯重做一个sina weibo 的SDK 意义不大吧.
    想弄类似shareKit那种
    so898
        19
    so898  
       2013-08-13 00:46:41 +08:00
    @jimliu 等我把我手上那个傻X微博客户端的第一版开源搞定了,肯定过去帮忙……
    freefcw
        20
    freefcw  
       2013-08-13 01:45:14 +08:00
    @so898 看了半天的retina我在想啥东西。。原来是retain...
    xuzhe
        21
    xuzhe  
       2013-08-13 09:11:31 +08:00   2
    ARC 下加 __block 不能打破 retain cycle 的。好好看看文档吧。要用 __weak 或者 __unsafe_unretained
    so898
        22
    so898  
       2013-08-13 09:33:22 +08:00
    @xuzhe 果然是这样的么……好伤感……
    zhicheng
        23
    zhicheng  
       2013-08-13 15:03:12 +08:00
    以前的你们 github 上的 SDK 有个 Bug ,我修掉了发 Pull Request 被华丽丽的忽视。后来你们还把项目给删掉了。
    qdvictory
        24
    qdvictory  
       2013-08-13 15:09:29 +08:00
    @jimliu sso第三方是可以实现的,再牛逼的静态包也阻挡不了我们前进的脚步- -

    https://github.com/qdvictory/WBShareKit/blob/master/WBShareKit/WBShareKit/CHShareManager.m

    98行
    nickcheng
        25
    nickcheng  
       2013-08-14 10:59:54 +08:00
    看到熟人喽~~~

    我搭车一个项目, 里面应该也用了宝玉的一些代码, 但基本上重写了, 现在自己的项目在用
    主要 Feature 就是 Block 和 SSO Auth.

    https://github.com/nickcheng/NCWeibo
    jimliu
        26
    jimliu  
    OP
       2013-08-16 09:44:50 +08:00
    @nickcheng nick你还混这里的啊,哈哈
    jimliu
        27
    jimliu  
    OP
       2013-08-16 09:45:19 +08:00
    @zhicheng 汗,确实没看见,抱歉
    jimliu
        28
    jimliu  
    OP
       2013-08-16 09:50:17 +08:00
    @qdvictory 牛的!
    qdvictory
        29
    qdvictory  
       2013-08-16 11:51:09 +08:00
    @jimliu 其实把新浪微博删掉,自己建一个app,模拟接收url schemes,应该能把连接都扒出来- -
    对新浪做sdk打成静态库表示万分鄙视
    favormm
        30
    favormm  
       2013-09-01 00:50:39 +08:00
    支持oauth1吗?最近我也在考虑封装一个sdk, 在研究oauth1. 接下来是oauth2
    agassi_yzh
        31
    agassi_yzh  
       2013-09-01 01:00:19 +08:00
    破retain循环:

    __weak typeop(aObject) blockAObject = aObject;

    这样
    agassi_yzh
        32
    agassi_yzh  
       2013-09-01 01:01:26 +08:00
    你们看官方那个sso的项目早期的时候没有打静态包。

    url scheme还是能够看到的...
    fanweixiao
        33
    fanweixiao  
       2013-09-01 01:51:39 +08:00
    玉的帖子~
    so898
        34
    so898  
       2013-09-01 02:20:35 +08:00
    @agassi_yzh 那货没有很重要的Scope支持
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2195 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 16:05 PVG 00:05 LAX 08:05 JFK 11:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86