ios 微信分享重新编码链接_iOS-微信分享SDK

向微信注册应用程序id

到开发者应用登记页面进行登记,登记并选择移动应用进行设置后,将获得AppID,可立即用于开发。但应用登记完成后还需要提交审核,只有审核通过的应用才能正式发布使用。

搭建开发环境

通过终端在工程的Podfile里面添加以下代码:

platform :ios, '8.0'

target '工程名' do

pod 'WechatOpenSDK'

end

保存并pod install

设置工程项

在Xcode中,选择工程设置项,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id(AppID)。identifier为weixin,URL Schemes为所注册的应用程序id。

设置AppDelegate

导入#import ,并加入协议

在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中向微信终端注册AppID,写入[WXApi registerApp:@"wxfba72eb585ced789"];

重写AppDelegate的handleOpenURL和openURL方法

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{

return [WXApi handleOpenURL:url delegate:self];

}

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{

return [WXApi handleOpenURL:url delegate:self];

}

如果App要发消息给微信,那么需要调用WXApi的sendReq函数:-(BOOL) sendReq:(BaseReq*)req

实现分享功能

导入#import

分享或收藏的目标场景,通过修改scene场景值实现。共分为以下四种场景:

发送到聊天界面——WXSceneSession

发送到朋友圈——WXSceneTimeline

添加到微信收藏——WXSceneFavorite

分享类型,具体查看微信开发文档。此处以最常用的网页类型分享为例。

WXMediaMessage * message = [WXMediaMessage message];

message.title = @"这是一个分享标题";

message.description = @"我是分享内容";

[message setThumbImage:[UIImage imageNamed:@"这是一张图片"]];

WXWebpageObject * webPageObject = [WXWebpageObject object];

//webPageObject.webpageUrl = @"https://douban.fm/?from_=shire_top_nav#/channel/153";

webPageObject.webpageUrl = @"这是一个链接";

message.mediaObject = webPageObject;

SendMessageToWXReq * req1 = [[SendMessageToWXReq alloc]init];

req1.bText = NO;

req1.message = message;

//设置分享到朋友圈(WXSceneTimeline)、好友回话(WXSceneSession)、收藏(WXSceneFavorite)

req1.scene = WXSceneSession;

[WXApi sendReq:req1];

图片大小有限制,如果分享链接中的图片太大则分享会失败,无法跳转至微信,也不会有任何提示。

部分分享的文字为敏感词,可能会出现分享中展示的图片不显示(经测试分享的字段中包含“拼”字,则图片无法显示)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值