IOS项目接入微信SDK
先是环境配置:
首先*步,去官网下载微信sdk文件,SDK文件包括 libWeChatSDK.a,WXApi.h,WXApiObject.h 三个。下载链接:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319164&lang=zh_CN
第二步:讲下载后的sdk文件libWeChatSDK.a,,WXApi.h,WXApiObject.h添加到你的工程中(注:请使用xCode4.5及以上版本),
第三步:微信开放平台新增了微信模块用户统计功能,便于开发者统计微信功能模块的用户使用和活跃情况。开发者需要在选中工程->build Phases->Link Binary With Libraries添加SystemConfiguration.framework,libz.dylib,libsqlite3.0.dylib,libc++.dylib库文件
第四步:选中工程选项->info->URL Types添加”URL scheme”为你所注册的应用程序id(如上图所示)。
第五步:在你准备使用微信终端API文件中import WXApi.h 头文件,并增加 WXApiDelegate 协议。如下:
#import <UIKit/UIKit.h>
#import “WXApi.h”
@interface AppDelegate : UIResponder<UIApplicationDelegate, WXApiDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
手动集成
将SDK文件中包含的 libWeChatSDK.a,WXApi.h,WXApiObject.h 三个文件添加到你所建的工程中(如下图所示,建立了一个名为Test 的工程,并把以上三个文件添加到Test文件夹下)。
(注:请使用xCode4.5及以上版本)
微信开放平台新增了微信模块用户统计功能,便于开发者统计微信功能模块的用户使用和活跃情况。开发者需要在工程中链接上:SystemConfiguration.framework, libz.dylib, libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework,CoreGraphics.framework。(注意坑一:如果不导入会报错:Undefined symbols for architecture x86_64:
“_CNCopyCurrentNetworkInfo”, referenced from:
-[MTAWXOHelper fetchSSIDInfo] in libWeChatSDK.a(MTAWXOHelper.o)
“_CNCopySupportedInterfaces”, referenced from:
-[MTAWXOHelper fetchSSIDInfo] in libWeChatSDK.a(MTAWXOHelper.o)
)(注意坑二:后期的版本修改了后缀,没有dylib文件;可以导入tdb后缀同名文件)
在你的工程文件中选择Build Setting,在”Other Linker Flags”中加入”-Objc -all_load”,在Search Paths中添加 libWeChatSDK.a ,WXApi.h,WXApiObject.h,文件所在位置(如下图所示)。
(注:请使用xCode4.5及以上版本)
在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin(如下图所示)。
错误解决记录:
错误提示:—-canOpenURL: failed for URL: “weixin://app/:
解决方法:
除了要在项目info URL Types中设置URL Schemes,还需要在info.plist里面增加可信任的调用app,否则回报如下错误
-canOpenURL: failed for URL: “weixin://app/wx9c8771d3c07dfd30/” – error: “This app is not allowed to query for scheme weixin”
-canOpenURL: failed for URL: “wtloginmqq2://qzapp” – error: “This app is not allowed to query for scheme wtloginmqq2”
info.plist加入
<key>LSApplicationQueriesSchemes</key>
<array>
<string>urlscheme</string>
<string>urlscheme2</string>
<string>urlscheme3</string>
<string>urlscheme4</string>
</array>
解决了,
分享到qq,需要加上
分享到微信需要加上:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>mqqOpensdkSSoLogin</string>
<string>mqzone</string>
<string>sinaweibo</string>
<string>alipayauth</string>
<string>alipay</string>
<string>safepay</string>
<string>mqq</string>
<string>mqqapi</string>
<string>mqqopensdkapiV3</string>
<string>mqqopensdkapiV2</string>
<string>mqqapiwallet</string>
<string>mqqwpa</string>
<string>mqqbrowser</string>
<string>wtloginmqq2</string>
<string>weixin</string>
<string>wechat</string>
</array>加了15条
这个问题据说要用真机测试,模拟器会一直报错