mobileresearch / weibo_ios_sdk_sso-oauth Goto Github PK
View Code? Open in Web Editor NEWsina weibo sdk of sso and Oauth2.0
sina weibo sdk of sso and Oauth2.0
新浪微博提供的接口只是 API,为何 SDK 也要闭源?
这样不能帮你们改 bug 了,包括一些很低级的 bug。比如 handleOpenURL 只返回 YES,导致只能把新浪微博放在 handleOpenURL 的最后一个 else 里。否则后面的第三方 App 都拿不到 URL 请求了。
说实话很多 SDK 做的很烂,比如 Evernote 大家都公认它是一坨屎,但因为它是开源的,有 bug 也能查,界面丑也可以改,所以能忍。新浪微博的新版 SDK 如果闭源了,我们以后不会再用,宁可从旧版上 fork 一个出来。
我今天将weibo_ios_sdk导入项目,我项目是用pod进行管理依赖的,同时我在pod上配置了AFNetworking.项目编译有错误。
能不能不将AFNetworking的api集成到libWeiboSDK.a中啊?
错误如下:
duplicate symbol OBJC_IVAR$_AFQueryStringPair._field in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFQueryStringPair._value in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol _AFQueryStringFromParametersWithEncoding in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol _AFQueryStringPairsFromKeyAndValue in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol _AFQueryStringPairsFromDictionary in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPClient._baseURL in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPClient._stringEncoding in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPClient._parameterEncoding in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPClient._registeredHTTPOperationClassNames in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPClient._defaultHeaders in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPClient._defaultCredential in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPClient._operationQueue in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPClient._defaultSSLPinningMode in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPClient._allowsInvalidSSLCertificate in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFStreamingMultipartFormData._request in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFStreamingMultipartFormData._bodyStream in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFStreamingMultipartFormData._stringEncoding in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._streamStatus in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._streamError in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._stringEncoding in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._HTTPBodyParts in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._HTTPBodyPartEnumerator in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._currentHTTPBodyPart in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._inputStream in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._outputStream in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._buffer in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._numberOfBytesInPacket in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFMultipartBodyStream._delay in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
duplicate symbol OBJC_IVAR$_AFHTTPBodyPart._inputStream in:
/Users/kevin/Library/Developer/Xcode/DerivedData/SNS-fxyrrwlnlgxhpobdhedjjuxrlefb/Build/Products/Debug-iphoneos/libPods.a(AFHTTPClient.o)
/Users/kevin/Dropbox/00_PersonalProject/SNS/Vendors/Weibo/libWeiboSDK.a(AFHTTPClient.o)
........
我新建了一个工程,使用了ARC,把JSONKit、SinaWeibo目录复制进工程,编译时出现很多错误,比如下面这些代码:
[userID release], userID = nil;
[accessToken release], accessToken = nil;
[expirationDate release], expirationDate = nil;
[appKey release], appKey = nil;
[appSecret release], appSecret = nil;
[appRedirectURI release], appRedirectURI = nil;
[ssoCallbackScheme release], ssoCallbackScheme = nil;
错误信息类似:release is unavailable: not available in automatic reference counting mode......
这是为什么?
直接用的demo,
为什么在ios5.1上就可以跳回到程序。
在ios6.1.2上就跳到回调网页了?
搞些版本号什么的。
这样方便cocoapods管理。
嗯,拜托啦!
是auto reference counting的问题么?
登陆时没有打开相应的页面 但是出现“请求页不存在 出错了: 链接http://weibo.cn/comment/无效”导致无法登陆
找到的一个解决方法就是将kSinaWeiboWebAuthURL的值替换为"https://open.weibo.cn/oauth2/authorize" 这样会不会在将来有问题?
SinaWeiBoRequest.m 162行,不是所有result都是字典啊,有的api会返回数组。比如搜索用户提示或者at提示。
临时打个补丁
if ([result isKindOfClass:[NSDictionary class]]) {
error_code = [[result objectForKey:@"error_code"] intValue];
}
希望早日解决
我在使用2.2.0版的sdk时,设备没有安装客户端,自动使用Oauth2.0的方式,但是授权后显示回调页,而不是关闭
我不知道将appsercet 赋值给谁。程序没上线,bundleID和 appleID没填。你们把Oauth2.0认证的方法封装了。我不知道才能返回到didReceiveWeiboResponse方法
readme中有说到app_secret,但是在demo中完全没有,总之就是一点都对不上了。
如果没有安装微博或者是老版的,会弹出一个web页面要求登录。可是登录以后就没有消息了。再打开还是要求登录。请问应该如何处理?
要是苹果发布IOS7,很多使用微博登录的要死一片
请问微博的搜索功能要怎么请求?
我用一般请求 [sinaweibo requestWithURL:@"search/suggestions/users.json" params:testParams httpMethod:@"GET" delegate:self];
程序崩溃了
xCode5编译app,依然无法支持iOS7
调用客户端发微博只能实现跳转,不能调用发微博界面
用xCode4就可以
采用Cocoapods添加的SinaWeiboSDK不是最新版么?
WTF....
demo为什么打开sina weibo程序后,不显示授权确认界面,好像到了那步后直接跳回第三方程序
Demo在iphone手机上可以调用出weibo客户端测试,但是在ipad上,不能调用成功,跳出要安装新浪微博客户端,但是ipad上已是最新安装的客户端。调用 [WeiboSDK isAppboAppInstalled] 返回FALSE, 请问下是否有这个问题
文档中,
**“3. 定义所需常量” 部分,
有一条:“Bundle id:向开放平台注册应用程序的 bundle id。” **
到底啥意思? 其实跟代码无关嘛?
要怎么做?
RT
这两个版本的bundle id是不一样的 微博平台只能添一个bundleID,这有什么解决方案么
因为我跟本就不想跳到SSO..你却强制的,,没得选..太霸道了...
// App ID is the Application ID provided by Facebook
// LocalAppID is used if you need to differentiate between several iOS apps running against a single Facebook app. Useful, if you have full and lite versions of the same app,
// and wish sharing from both will appear on facebook as sharing from one main app. You have to add different suffix to each version. Do not forget to fill both suffixes on facebook developer ("URL Scheme Suffix"). Leave it blank unless you are sure of what you are doing.
// The CFBundleURLSchemes in your App-Info.plist should be "fb" + the concatenation of these two IDs.
// Example:
// SHKFacebookAppID = 555
// SHKFacebookLocalAppID = lite
//
// Your CFBundleURLSchemes entry: fb555lite
因为如果两个 app 都用的是同一个 app key 或者回调就不可能正确的返回本身发起请求的 app。
现在的sdk想进行分享的话是不是必须安装客户端,我现在调用的是[WeiboSDK sendRequest:request],如果没安装的话会提示安装,取消安装的话就不进行分享了。
有问题的朋友,请发邮件给我,我目前在做这个版本的维护,希望大家一起帮忙把这个sdk做好
我的邮箱
[email protected]
接手这个sdk不久,有问题反馈可以给我发邮件,希望大家能理解,谢谢
文档中的bundle id也不知道有什么用
SSO授权时,如果redirect url里有问号,新浪微博会回调这个地址
比如redirect url设置为:http://www.myapp.com/?type=sina
这样新浪微博会回调这个地址,导致没法返回到应用,
我想这个应该是新浪客户端的问题吧
请测试一下,谢谢!
sdk需要app_secret,但如果使用存储在客户端的话容易导致厂商的信息泄漏,可以反编译拿到app_key,app_secret,app_redirect_uri 等信息,希望能改进设计,最终不需要提供app_secret。
想学苹果的闭源,但是你也学学他们的文档啊。写的什么破玩意,那些借口和可以传的参数都没有交代清楚,还是闭源的。以前一直觉得新浪微博sdk比腾讯好,现在在做第三方登录,和腾讯一对比,新浪微博sdk就是个垃圾。这个简化的sdk完全就不是吸引开发者,而是把开发者往其他平台推!!!!!
今天我更新了微博的SDK,SSO调用我的客户端后,不调回app了,当前微博的客户端是4.0以上的
ios 6里面会选择 一个账号,然后跳转回相应的app,ios7 里面去了就回不来了.
大家好,
目前我在App Store里的App用的是旧版的SDK,当时OAuth2.0的回调地址是空的,所以设置回调地址为"http://"就可以工作了。
现在想用新版的SSO,将回调地址设置为"http://",从微博返回的时候,access_token等都是空的。不知道怎么设置回调地址?
之前测试过将回调地址设置好之后,SSO没有问题。但是App Store里的App的新浪微博就登录不了了。所以想问一下有没有两全其美的解决方案?
多谢大家!
在调用logout函数后,再进行login会立即成功。怀疑是request的缓存策略的问题,在SinaWeiboAuthorizeView.m文件的load的方法中把加载的request添加了忽略本地数据的缓存策略依旧无法解决
可能是授权的问题经常验证页面会跳转转到 “请求页不存在 出错了: 链接http://weibo.cn/comment/无效”
http://open.weibo.com/wiki/移动应用SSO授权
下面iOS的SDK网址写的是Android的,请修正。
iphone demo sso授权直接进去新浪客户端了,不自动返回到自己应用?
点“取消”可以跳回我的app。。。。
我相信很多人都需要
各个版本release的时候,保存一个tag多好。
实在是无法理解这种回滚。。。
本来想写到wiki里面,还是写在这里吧
WBWebpageObject.scheme 这个参数 的使用方法能否说明一下。
WBWebpageObject.webpageUrl 这个url如果scheme不是http,微博客户端就不能显示为 网页链接 ?
另外:
WBWebpageObject.thumbnailData
WBWebpageObject.title
WBWebpageObject.description
这几个参数设置后 发送出去的微博 貌似都是sdk默认自带的,没有起作用。
bundid 有设置
appid 随意写的(因为应用没有上线)
微博应用还未通过审核
返回url
sinaweibosso.***://?from=1031693010&c=iphone&u=http%3A%2F%2Fapi.weibo.com%2F2%2Foauth2%2Fauthorize%3Fdisplay%3Dmobile%26response_type%3Dtoken%26redirect_uri%3Dhttp%253A%252F%252F%26access_token%3D2.00F9tdl1Vc_G492ae36acdMEyvuD%26client_id%3D3323533379&vt=3&ua=iPhone3%2C1__weibo__3.1.6__iphone__os5.1.1&wm=3333_2001&gsid=3_58a34c6aa729929e740312304942e1c460064470&skin=default
,,,not undersnd why u use object->isa ,,
if u want to check your own class , why not try like this,
base : NSObject
{
int type; // class type
}
xxx1 : base
{
JKArray array;
xxxx xx;
}
“-” jk_encode_add_atom_to_buffer:( xxx ) xxx;
and not use case JKClassString: case JKClassNumber:�,goto。。
just like "PO" try to use "OO",
现在ios7 的用户越来越多,希望尽快支持ios7 .
现在是我用微博SSO登录以后,想在webView中查看他人的微博页面http://weibo.com/u/XXXXX 可否传指定参数然后不要重登陆?
... 无语,居然还是官网的.
1.应用签名与Bundle id(已上线)相同 跳转到微博客户端 提示:加载中... 加载失败
1.应用签名与Bundle id(已上线)不同 能正常跳转到app
怎么跳到ipad版新浪微博客户端?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.