大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

iOS如何实现微信自动添加好友功能

这篇文章主要介绍了iOS如何实现微信自动添加好友功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

潼关ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

(一)批量添加好友的效果

小程使用“奇哥”的账号,在某个群里面向所有人请求加好友,程序运行的效果是这样的:

同样,如果是附近的人,也可以做到自动批量地发出请求:

需要解释一下,这种批量加好友的行为是被微信限制的,并且会对违规者作出处罚。那加人的限制是怎么样的?小程在网上找了一个说法,读者可以了解一下:

2017+微信加人限制规则:微信群:最多每天30~50个,保险是20人,超过对方收不到验证信息。附近的人:15个每次,每天最多3次,每次之间最少间隔×分钟;摇一摇:15个每次,每天最多3次,每次之间最少间隔×分钟;搜索微信号:6个每次,每天最多5次,每次之间最少间隔×分钟;手机通讯录:8个每次,每天最多6次,每次之间最少间隔×分钟;漂流瓶:5个每次,每天最多3次,每次之间最少间隔×分钟;主动加好友:每天每个微信号,最多30个;被动加好友:每天每个微信号,最多180个。

如果被限制了,会有什么表现呢?首先,不会有特别的通知告诉你,但你发送的请求不会去到别人那里(如果是在“附近的人”,那就是你可以看到别人,而别人看不到你;你打呼,别人不会收到。),而且,需要过一个星期或更长时间,才能正常“交流”。

所以,应该慎用批量加好友的功能。

小程在这里只是演示“如何自动化”,目的并非加好友。

(二)如何实现

先是跟踪目标函数。

(1)群成员列表的界面类是什么?

由此可见,ChatRoomInfoViewController是一个目标,它的结构是这样的:

注意m_arrMemberList这个变量,它就是所有群成员的数组,每一个成员是一个CContact。

(2)点击每一个群成员

点击一个成员,就是调用- (void)openContactInfo:(id)arg1 这个函数,传入的就是成员。

可以想像,只要循环调用这个函数,并传入不同的成员,就可以达到批量点击成员的目的。

(3)触发添加成员

点击成员后,进到“成员详细资料”页面,这个页面所在类是这样的:

再作一些猜测与跟踪,就可以知道,点击“添加到通讯录”,触发的函数是

ContactInfoViewController::onSendVerifyMsg。

(4)发送请求

到了这一步,就是填写打招呼的内容了。一个好的招呼应该是带上对方昵称的,而这个昵称可以从成员信息中取得。如果微信的UITextField有长度限制(有些版本作了限制)的话,还可以重写文本框的回调以取消限制。

发送请求的类:

(三)总结

小程在这里给出一个批量自动化的思路:

手动进到群成员列表,然后进入自动化流程。在ChatRoomInfoViewController::viewDidLoad完成时,取得m_arrMemberList即成员列表,循环打开每个成员。使用CContact::isMyContact,判断成员是否已经添加过了,如果是则下一个成员。每点击一个成员时,设置一个变量的状态,然后进入等待,直到这个变量的状态变化,再进入下一个成员的点击。点击成员,进入到“详细资料”界面,同时,UINavigationController进入等待若干秒(比如4秒),若干秒后执行返回操作(不管最终是否添加成功)。进入验证界面,在SendVerifyMsgViewController::viewDidLoad时,设置好UITextField的内容,再触发onSendVerifyMsg的调用。验证如果成功,则验证界面会自动消失,如果失败(失败有回调)则需要主动调用一下成功时的调用使得验证界面消失。这时即使有alertview弹框也不影响后续的操作。UINavigationController执行返回操作,并设置可以下一个成员。ChatRoomInfoViewController执行下一个成员。

感谢你能够认真阅读完这篇文章,希望小编分享的“iOS如何实现微信自动添加好友功能”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


当前文章:iOS如何实现微信自动添加好友功能
文章链接:http://dzwzjz.com/article/jjscsj.html
在线咨询
服务热线
服务热线:028-86922220
TOP