公司提出的新需求,查了新浪微博的sdk也找不到解决办法。 在网上也看到知乎上有几个人遇到了同样的问题,所以在这里记录一下,希望可以帮到大家。
第一种情况 直接打开网页
在安装的客户端的情况下,直接使用 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@”主页地址”]];在代码上来看是直接跳到网页,但是经过尝试在安装了新浪微博客户端的情况下会自动调起新浪微博客户端(最开始我还大吃一惊以为就这样解决了)。但是问题来了,这样的话如果第一次调起微博客户端的时候,你的微博客户端不是本身就是打开着的,他会跳到微博的首页而不是指定的个人主页页面,这显然是不符合要求的。
第二种情况 准确跳到指定客户端
首先通过阅读安卓的sdk 发现安卓上面有直接进入微博客户端指定个人页面的方法,就找到了他的scheme。
第一个是 sinaweibo://userinfo?nickname=#你的名字# 这个scheme在安卓上面可以正常调起,但是在ios上nickname后面什么都不加可以进入个人主页,显示名称不存在之类的,但是加上正常的昵称就不能打开新浪微博客户端了。
后面发现了sinaweibo://userinfo?uid=#你的uid# 经测试发现这个是可以用的,能够直接跳转到新浪微博的指定个人页面,但是问题来了,怎么获取uid。—笔者是通过使用微博第三方登录返回的用户信息找到的uid。
tip:使用的时候要先在info.plist 里面添加scheme sinaweibo
最后 打开新浪客户端只需要调用 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@”sinaweibo://userinfo?uid=#你的uid#”]]; 就能正确的打开微博 并且跳转到指定的个人主页了。