ShareSDK分享 -QQAPI- QQApi.m:252 param error: url is nil

来源:互联网 发布:js设计模式观察者模式 编辑:程序博客网 时间:2024/05/16 16:17

有一个项目 需要用到ShareSDK实现分享,点击分享内容,需要跳转到指定的url,不带参数的url非常好跳,也没什么问题,但是 带了参数或者服务器返回中文字符串之后:
比如http://localhost:8080/testShare?&param={“userid”:”152632”} ,这里面是发送的内容
如果按照正常的url来设置:
NSString * str_share_url=@”这里面是发送的内容”;
[UMSocialData defaultData].extConfig.qzoneData.url =str_share_url;
这样肯定会出错的。

仔细看了一下,友盟会将 “?”号前面的当作url,“?”号后面的 不会被读取,说到这 ,都知道问题的所在了吧。这是因为传过去的字符串,带参数,是需要进行编码的( 防止有中文,所以要进行编码)。

正确的做法:
NSString * str_share_url=@”这里面是发送的内容”;
//对url字符串中的特殊字符及中文进行编码
NSString *new_url=[strURl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
//设置qq空间的链接
[UMSocialData defaultData].extConfig.qzoneData.url =new_url;

希望可以帮助需要的人。这个地方 浪费了我将近4个小时。

备注:必须注意到的一个问题:开发中涉及到url和网络请求总报错却找不到原因时,不妨换个角度,试试改变一下编码方式,或许会有意象不到的收获。

0 0
原创粉丝点击