
sdk要求是xcode7以上版本,所以注意自己的xcode版本。。
===============================================================
1、复制MoboSdk文件夹到项目proj.ios_mac路径里,
在xcode工程里 添加 文件。如下图,选择groups。
2、给MoboSDK 添加所需的framework
项目-> Build Phases -> Open Link Binary With Libraries -> 点击 (+) 打开framework. 选择framework :
- CoreTelephony.framework
- MessageUI.framework
- StoreKit.framework
- SystemConfiguration.framework
- AssetsLibrary.framework
- libc++.tbd
- AdSupport.framework
- libsqlite3.tbd
- libz.tbd
- libresolv.tbd
- CoreData.framework
- libicucore.tbd
- SafariServices.framework
- CoreMotion.framework
- MediaPlayer.framework
- AddressBook.framework
以上是文档提供的所要添加的framework,选择 (Add)按钮添加framework 到工程。这里有坑出现了,添加完这些这里可能会报错,sdk给的例子是oc的项目,我们的项目是cocos2dx的,可能会有差异,这里我踩坑了,还需要添加几个framework。
GameController.framework
iAd.framework
添加好后,如下图所示。
3.添加所需的设定:
在 项目-> Build Settings, 找 “other linker flags” 并添加 -ObjC 到 Other Linker Flags 设置里.
4.修正file .split文件。
配置参数在 项目->Info,修改参数,这里需要在文档目录里查看configinfo.txt文档,
配置如下:
(1)、参照configinfo.txt配置Bundle identifier 的值
(2)、添加FacebookAppID,参照configinfo.txt赋值
(3)、添加M2ClientID,参照configinfo.txt赋值
(4)、 添加 NSLocationAlwaysUsageDescription,设置值为空
(5)、添加 NSAppTransportSecurity ,属性NSAllowsArbitraryLoads 值为 YES
添加好后,变成这样了,这里我也没搞明白,和文档给的图显示不一样的。但是例子也是变的。
(6)、 添加 LSApplicationQueriesSchemes 设置type为Array,配置21个item值。
fbapi
fbauth2
fb-messenger-api
fbshareextension
vn.mecorp.mobo.iwin
vn.mecorp.bog
vn.mecorp.mobo
fb381650398662512
vn.mecorp.aow
vn.mecorp.giftcode
fb1445004959133682
vn.mecorp.hiepkhach
vn.mecorp.bathienha
vn.mecorp.holywar.thanhchien
vn.mecorp.narutoko
mestudiocat
studioochu
vn.mecorp.eden
vn.mecorp.monggiangho
vn.mecorp.phongthan
vn.omga.giftcode
上面是文档给的值,直接配置进去。如图。
5、添加调用MoboSdk的代码。
由于例子是oc的项目,所以这里为以cocos2dx为例,可能稍微和文档不一样,本人也是踩坑刚爬出来。如果是cocos2dx项目接sdk,以本片文档为准。
(1)、在项目里,展开ios文件夹。如下图。
(2)、在 AppController.mm文档里面
#import “MoboSdk.h”
在函数
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
添加下面代码段:
[MoboSdk initInformation]; - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { [[MoboSdk getInstance] handleOpenUrl:url]; [[MoboSdk getInstance] handleUrlForSocialNetwork:url sourceApplication:sourceApplication annotation:annotation]; return YES; } -(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [[MoboSdk getInstance] didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; } -(void) application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { [[MoboSdk getInstance] didRegisterForRemoteNotificationsWithDeviceToken:nil]; }
(3)、在RootViewController.h 文档里,添加下面代码段
#import "MoboSdk.h"
添加<MoboSdkDelegate>。如图所示:
(4)、在RootViewController.mm 文档里,添加下面代码段
- (void)viewDidLoad { [super viewDidLoad]; [MoboSdk getInstance].delegate = self; [[MoboSdk getInstance] initWithViewController:self]; NSString *info = @"{\"character_id\":17,\"character_name\":\"BALENO\",\"server_id\":0}"; [[MoboSdk getInstance] setGameInfo:info]; } //viewDidLoad这里未调用到,可能又是坑,最后在说怎么解决, -(void) userLoginWithAccessToken:(NSString *) access_token{ }
根据这个 access token,游戏客户端将 access token发送到游戏服务器.
然后游戏服务器调用我们服务器的verify_access_token函数来生成MoboID.
• 添加下面的函数来获取用户登出MoboSDK时的callback ,然后在函数里面需要调用game logout function.
-(void) userDidLogout{ }
到这里我们都是针对文档给的说明来接的sdk。这边代码文件名称和官方文档给的不一样,参照本文即可。 这里最后说的 viewDidLoad 代码段问题,先留个坑让大家踩一下,我们现在在模拟器run下接过sdk的项目。
不得不说ios编译比vs快多了,这里运行失败了,错误如下。
我们可以百度下 _kUTTypeTagSpecificationKey 错误,发现答案真不好找。
我这里添加了 MobileCoreServices.framework文件解决了。我也不知道为什么。
解决了错误我们可以成功运行到模拟器了,是不是都快被自己感动哭了。别急,你有没有发现sdk的初始化界面没有出现?这里我纠结了快一星期,各种问人,都没有一点实际的。还记得我们留悬念的地方吗? 找到那里。
在RootViewController.mm代码文件里,viewDidLoad这个地方没有执行,这个函数我没测能不能不要,我们把函数里的
[MoboSdk getInstance].delegate = self; [[MoboSdk getInstance] initWithViewController:self];
复制到AppController.mm文件里的初始化里。如图,修改self 为_viewController。
我们在run下项目,看看成果后的项目吧,这时候我们才能被自己感动哭。the end。二〇一六年三月三十一日记。
补充下一篇:
【MoboSdk】cocos2dx越南渠道IOS版MoboSdk接入总结二:
Object-C与C++混编获取AccessToken实现登录
本文地址:https://www.byjth.com/sdk/53.html
版权声明:若无注明,本文皆为“闭眼就天黑专栏_技术博客_个人学习总结”原创,转载请保留文章出处。
- 【MoboSdk】cocos2dx越南渠道IOS版MoboSdk接入总结一:实现SDK界面初始化
- 【小米sdk】cocos2dx网游客户端接入Android渠道MISDK总结一:实现初始化和登录
- 【九游sdk】Android渠道UCSdk实现用户登录会话标识sid 的获取
- 【MoboSdk】MoboSdk升级问题:Android studio导入MoboSdk打包启动闪退
- 【小米sdk】cocos2dx网游客户端接入Android渠道MISDK总结二:小米登陆账号UID和SessionId的获取
- 【MoboSdk】cocos2dx越南渠道IOS版MoboSdk接入总结三:SDK账号退出及游戏切换账号
- 【MoboSdk】cocos2dx越南渠道IOS版MoboSdk接入总结二:Object-C与C++混编获取AccessToken实现登录
版权所有:《闭眼就天黑专栏_技术博客_个人学习总结》 => 《【MoboSdk】cocos2dx越南渠道IOS版MoboSdk接入总结一:实现SDK界面初始化》
本文地址:https://www.byjth.com/sdk/53.html
除非注明,文章均为 《闭眼就天黑专栏_技术博客_个人学习总结》 原创,欢迎转载!转载请注明本文地址,谢谢。