您的位置:首页 > 其它

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

2016-05-12 14:11 344 查看
有一个项目 需要用到ShareSDK实现分享,点击分享内容,需要跳转到指定的url,不带参数的url非常好跳,也没什么问题,但是 带了参数或者服务器返回中文字符串之后:

比如http://localhost:8080/testShare?¶m={“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和网络请求总报错却找不到原因时,不妨换个角度,试试改变一下编码方式,或许会有意象不到的收获。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: