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

有一个项目 需要用到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
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值