Commit 050bf633108841b85bc6a34395e304638f5dfd85

Authored by alexYang
1 parent 90eed546b9
Exists in master

1、新增sdk登录初始化接口 2、修改weChat登录初始化接口

Showing 9 changed files with 137 additions and 125 deletions Inline Diff

1 # Gump IOS SDK使用文档 1 # Gump IOS SDK使用文档
2 2
3 3
4 接入手册 4 接入手册
5 V 3.5.22 5 V 3.5.23
6 2018年8月31日 6 2018年9月6日
7 7
8 ## 概述 8 ## 概述
9 #### 本SDK提供gump账号,fb账号,vk账号,Google帐号四种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 9 #### 本SDK提供gump账号,fb账号,vk账号,Google帐号四种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。
10 10
11 ## 接入步骤 11 ## 接入步骤
12 ### 1、添加Framework和资源文件 12 ### 1、添加Framework和资源文件
13 + 以下为必须添加的framework以及资源bundle: 13 + 以下为必须添加的framework以及资源bundle:
14 MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle 14 MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle
15 + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本 15 + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本
16 VKSdk.framework、VKBridge.framework、VKSDKResources.bundle 16 VKSdk.framework、VKBridge.framework、VKSDKResources.bundle
17 + 以下可选,若接入微信登陆则需要添加如下的framework: 17 + 以下可选,若接入微信登陆则需要添加如下的framework:
18 libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework 18 libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework
19 19
20 20
21 ### 2、引入头文件,设置build setting 21 ### 2、引入头文件,设置build setting
22 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 22 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。
23 因sdk内使用了category,需要设置other linker flag为 -ObjC 23 因sdk内使用了category,需要设置other linker flag为 -ObjC
24 24
25 25
26 ### 3、增加必要配置 26 ### 3、增加必要配置
27 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: 27 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回:
28 28
29 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; 29 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
30 30
31 31
32 2)配置URL-schema(vk专用,不接入vk可忽略) 32 2)配置URL-schema(vk专用,不接入vk可忽略)
33 Xcode 5: Open your application settings then select the Info tab. In the URL Types section click the plus sign. Enter vk+APP_ID (e.g. vk1234567) to the Identifier and URL Schemes fields. 33 Xcode 5: Open your application settings then select the Info tab. In the URL Types section click the plus sign. Enter vk+APP_ID (e.g. vk1234567) to the Identifier and URL Schemes fields.
34 ![](images/vk1.jpg) 34 ![](images/vk1.jpg)
35 Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID 35 Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID
36 ![](images/vk2.jpg) 36 ![](images/vk2.jpg)
37 3)配置URL-schema(weChat专用,不接入可以忽略) 37 3)配置URL-schema(weChat专用,不接入可以忽略)
38 选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id 38 选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id
39 选中“TARGETS”一栏,在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin和wechat 39 选中“TARGETS”一栏,在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin和wechat
40 40
41 ### 4、在工程里添加SDK登录代码 41 ### 4、在工程里添加SDK登录代码
42 42
43 [LetsGameAPI instance].appId = @"100"; // 设置appId 43 [LetsGameAPI instance].appId = @"100"; // 设置appId
44 [LetsGameAPI instance].appKey = @"100"; // 设置appKey 44 [LetsGameAPI instance].appKey = @"100"; // 设置appKey
45 [LetsGameAPI instance].channelId = @"100"; //设置channelId 45 [LetsGameAPI instance].channelId = @"100"; //设置channelId
46 46
47 //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 47 //sdk login 初始化
48 //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; 48 [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) {
49 //[LetsGameAPI instance].vkBridge = vkBridge; 49 if (result) {
50 NSLog(@"初始化成功");
51 //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略
52 VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"];
53 [LetsGameAPI instance].vkBridge = vkBridge;
54 //启用wechat的代码,需要注册,若不接入wechat,可以忽略
55 [[LetsGameAPI instance] registerAppWeChatOfSuccess:^{
56 NSLog(@"注册成功");
57 } failure:^{
58 NSLog(@"注册失败");
59 }];
60 //隐藏fb登录
61 [LetsGameAPI disableFB:YES];
62 //隐藏Google登录
63 [LetsGameAPI disableGoogle:YES];
64 //隐藏gumptech的logo
65 [LetsGameAPI hiddenLogo:YES];
66 //隐藏line登录
67 [LetsGameAPI disableLine:YES];
68 //隐藏wechat登录
69 [LetsGameAPI disableWeChat:YES];
70
71 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面
72
73 // 登录成功回调
74 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
75 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]);
76 };
77
78 // 登录失败回调,需要游戏自己处理
79 [LetsGameAPI instance].dismissBlock = ^() {
80 NSLog(@"dismiss without login");
81 };
82 }else{
83 NSLog(@"初始化失败");
84 }];
50 85
51 //隐藏fb登录 86
52 [LetsGameAPI disableFB:YES]; 87
53 //隐藏Google登录
54 [LetsGameAPI disableGoogle:YES];
55 //隐藏gumptech的logo
56 [LetsGameAPI hiddenLogo:YES];
57 //隐藏line登录
58 [LetsGameAPI disableLine:YES];
59 //隐藏wechat登录
60 [LetsGameAPI disableWeChat:YES];
61
62 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面
63
64 // 登录成功回调
65 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
66 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]);
67 };
68
69 // 登录失败回调,需要游戏自己处理
70 [LetsGameAPI instance].dismissBlock = ^() {
71 NSLog(@"dismiss without login");
72 };
73 88
74 ### 5、登录注销 89 ### 5、登录注销
75 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。 90 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。
76 91
77 [LetsGameAPI instance].appId = @"100";//设置appId 92 [LetsGameAPI instance].appId = @"100";//设置appId
78 [LetsGameAPI instance].appKey = @"100";//设置appkey 93 [LetsGameAPI instance].appKey = @"100";//设置appkey
79 [[LetsGameAPI instance] logout]; //注销 94 [[LetsGameAPI instance] logout]; //注销
80 95
81 96
82 ### 6、第三方支付 97 ### 6、第三方支付
83 [LetsGameAPI instance].appId = @"10022"; 98 [LetsGameAPI instance].appId = @"10022";
84 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; 99 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd";
85 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 100 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
86 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 101 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数
87 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id 102 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id
88 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id 103 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id
89 [payInfo setValue:@"10" forKey:@"amount"];//金额 104 [payInfo setValue:@"10" forKey:@"amount"];//金额
90 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 105 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息
91 [payInfo setValue:@"元宝" forKey:@"product"];//物品ID 106 [payInfo setValue:@"元宝" forKey:@"product"];//物品ID
92 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey 107 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey
93 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ 108 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{
94 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 109 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调
95 NSLog(@"第三方支付完成"); 110 NSLog(@"第三方支付完成");
96 }]]; 111 }]];
97 112
98 ### 7、IAP支付 113 ### 7、IAP支付
99 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 114 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法
100 115
101 [[LetsGameAPI instance] registeIapObserver]; 116 [[LetsGameAPI instance] registeIapObserver];
102 具体调用iap支付的方法如下: 117 具体调用iap支付的方法如下:
103 118
104 [LetsGameAPI instance].appId = @"10022"; 119 [LetsGameAPI instance].appId = @"10022";
105 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; 120 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab";
106 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 121 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
107 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id 122 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id
108 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id 123 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id
109 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 124 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计
110 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 125 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准
111 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 126 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号
112 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId 127 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId
113 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { 128 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) {
114 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 129 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果
115 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 130 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功
116 NSLog(@"IAP completed orderId of Gumptech:%@",orderId); 131 NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
117 } failCallback:^(NSString *orderId) { 132 } failCallback:^(NSString *orderId) {
118 //支付失败 133 //支付失败
119 NSLog(@"IAP file orderId of Gumptech:%@",orderId); 134 NSLog(@"IAP file orderId of Gumptech:%@",orderId);
120 }]; 135 }];
121 ### 8、token的获取 136 ### 8、token的获取
122 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。 137 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。
123 138
124 //tokenString:token字符串 139 //tokenString:token字符串
125 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间 140 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间
126 //expirationTime:expirationTime token最后的有效时间 141 //expirationTime:expirationTime token最后的有效时间
127 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) { 142 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) {
128 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime); 143 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime);
129 } failure:^(NSString *errorString) { 144 } failure:^(NSString *errorString) {
130 NSLog(@"get token faile"); 145 NSLog(@"get token faile");
131 }]; 146 }];
132 147
133 148
134 ### 9、第三方支付版本 149 ### 9、第三方支付版本
135 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置: 150 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置:
136 151
137 需要在 application:didFinishLaunchingWithOptions方法中添加: 152 需要在 application:didFinishLaunchingWithOptions方法中添加:
138 153
139 [[LetsGameAPI instance] decideWebToVersion:1] 154 [[LetsGameAPI instance] decideWebToVersion:1]
140 155
141 156
142 ### 10、关于侵权还是侵权的接口显示 157 ### 10、关于侵权还是侵权的接口显示
143 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。 158 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。
144 159
145 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。 160 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。
146 161
147 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { 162 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) {
148 if (resultStatus) { 163 if (resultStatus) {
149 NSLog(@"YES 侵权"); 164 NSLog(@"YES 侵权");
150 }else{ 165 }else{
151 NSLog(@"NO 不侵权"); 166 NSLog(@"NO 不侵权");
152 } 167 }
153 }]; 168 }];
154 ### 11、横竖屏设置 169 ### 11、横竖屏设置
155 170
156 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。 171 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。
157 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法: 172 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法:
158 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置: 173 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置:
159 174
160 [LetsGameAPI DeviceOrientationIsHorizontal:NO]; 175 [LetsGameAPI DeviceOrientationIsHorizontal:NO];
161 176
162 177
163 178
164 179
165 180 ### 12、CocoaPods集成
166 ### 12、微信登陆
167
168 首先在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;方法中向微信注册应用
169 //微信登陆
170 [[LetsGameAPI instance] registerAppWeChatWithAppId:@"appId" appKey:@"appKey" Success:^{
171 NSLog(@"注册成功");
1 # Gump IOS SDK使用文档 1 # Gump IOS SDK使用文档
2 2
3 3
4 接入手册 4 接入手册
5 V 3.5.22 5 V 3.5.23
6 2018年8月31日 6 2018年9月6日
7 7
8 ## 概述 8 ## 概述
9 #### 本SDK提供gump账号,fb账号,vk账号,Google帐号四种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 9 #### 本SDK提供gump账号,fb账号,vk账号,Google帐号四种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。
10 10
11 ## 接入步骤 11 ## 接入步骤
12 ### 1、添加Framework和资源文件 12 ### 1、添加Framework和资源文件
13 + 以下为必须添加的framework以及资源bundle: 13 + 以下为必须添加的framework以及资源bundle:
14 MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle 14 MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GameSDK.framework、StoreKit.framework、GameSDKResources.bundle
15 + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本 15 + 以下为可选,若接入vk登录则需要添加以下framework和bundle,其中VKSdk.framework和VKSDKResources.bundle请自行从vk.com下载,使用1.3版本
16 VKSdk.framework、VKBridge.framework、VKSDKResources.bundle 16 VKSdk.framework、VKBridge.framework、VKSDKResources.bundle
17 + 以下可选,若接入微信登陆则需要添加如下的framework: 17 + 以下可选,若接入微信登陆则需要添加如下的framework:
18 libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework 18 libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework
19 19
20 20
21 ### 2、引入头文件,设置build setting 21 ### 2、引入头文件,设置build setting
22 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 22 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。
23 因sdk内使用了category,需要设置other linker flag为 -ObjC 23 因sdk内使用了category,需要设置other linker flag为 -ObjC
24 24
25 25
26 ### 3、增加必要配置 26 ### 3、增加必要配置
27 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: 27 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回:
28 28
29 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; 29 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
30 30
31 31
32 2)配置URL-schema(vk专用,不接入vk可忽略) 32 2)配置URL-schema(vk专用,不接入vk可忽略)
33 Xcode 5: Open your application settings then select the Info tab. In the URL Types section click the plus sign. Enter vk+APP_ID (e.g. vk1234567) to the Identifier and URL Schemes fields. 33 Xcode 5: Open your application settings then select the Info tab. In the URL Types section click the plus sign. Enter vk+APP_ID (e.g. vk1234567) to the Identifier and URL Schemes fields.
34 ![](images/vk1.jpg) 34 ![](images/vk1.jpg)
35 Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID 35 Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID
36 ![](images/vk2.jpg) 36 ![](images/vk2.jpg)
37 3)配置URL-schema(weChat专用,不接入可以忽略) 37 3)配置URL-schema(weChat专用,不接入可以忽略)
38 选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id 38 选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id
39 选中“TARGETS”一栏,在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin和wechat 39 选中“TARGETS”一栏,在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin和wechat
40 40
41 ### 4、在工程里添加SDK登录代码 41 ### 4、在工程里添加SDK登录代码
42 42
43 [LetsGameAPI instance].appId = @"100"; // 设置appId 43 [LetsGameAPI instance].appId = @"100"; // 设置appId
44 [LetsGameAPI instance].appKey = @"100"; // 设置appKey 44 [LetsGameAPI instance].appKey = @"100"; // 设置appKey
45 [LetsGameAPI instance].channelId = @"100"; //设置channelId 45 [LetsGameAPI instance].channelId = @"100"; //设置channelId
46 46
47 //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 47 //sdk login 初始化
48 //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; 48 [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) {
49 //[LetsGameAPI instance].vkBridge = vkBridge; 49 if (result) {
50 NSLog(@"初始化成功");
51 //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略
52 VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"];
53 [LetsGameAPI instance].vkBridge = vkBridge;
54 //启用wechat的代码,需要注册,若不接入wechat,可以忽略
55 [[LetsGameAPI instance] registerAppWeChatOfSuccess:^{
56 NSLog(@"注册成功");
57 } failure:^{
58 NSLog(@"注册失败");
59 }];
60 //隐藏fb登录
61 [LetsGameAPI disableFB:YES];
62 //隐藏Google登录
63 [LetsGameAPI disableGoogle:YES];
64 //隐藏gumptech的logo
65 [LetsGameAPI hiddenLogo:YES];
66 //隐藏line登录
67 [LetsGameAPI disableLine:YES];
68 //隐藏wechat登录
69 [LetsGameAPI disableWeChat:YES];
70
71 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面
72
73 // 登录成功回调
74 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
75 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]);
76 };
77
78 // 登录失败回调,需要游戏自己处理
79 [LetsGameAPI instance].dismissBlock = ^() {
80 NSLog(@"dismiss without login");
81 };
82 }else{
83 NSLog(@"初始化失败");
84 }];
50 85
51 //隐藏fb登录 86
52 [LetsGameAPI disableFB:YES]; 87
53 //隐藏Google登录
54 [LetsGameAPI disableGoogle:YES];
55 //隐藏gumptech的logo
56 [LetsGameAPI hiddenLogo:YES];
57 //隐藏line登录
58 [LetsGameAPI disableLine:YES];
59 //隐藏wechat登录
60 [LetsGameAPI disableWeChat:YES];
61
62 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面
63
64 // 登录成功回调
65 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
66 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]);
67 };
68
69 // 登录失败回调,需要游戏自己处理
70 [LetsGameAPI instance].dismissBlock = ^() {
71 NSLog(@"dismiss without login");
72 };
73 88
74 ### 5、登录注销 89 ### 5、登录注销
75 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。 90 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。
76 91
77 [LetsGameAPI instance].appId = @"100";//设置appId 92 [LetsGameAPI instance].appId = @"100";//设置appId
78 [LetsGameAPI instance].appKey = @"100";//设置appkey 93 [LetsGameAPI instance].appKey = @"100";//设置appkey
79 [[LetsGameAPI instance] logout]; //注销 94 [[LetsGameAPI instance] logout]; //注销
80 95
81 96
82 ### 6、第三方支付 97 ### 6、第三方支付
83 [LetsGameAPI instance].appId = @"10022"; 98 [LetsGameAPI instance].appId = @"10022";
84 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; 99 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd";
85 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 100 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
86 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 101 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数
87 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id 102 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id
88 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id 103 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id
89 [payInfo setValue:@"10" forKey:@"amount"];//金额 104 [payInfo setValue:@"10" forKey:@"amount"];//金额
90 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 105 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息
91 [payInfo setValue:@"元宝" forKey:@"product"];//物品信息 106 [payInfo setValue:@"元宝" forKey:@"product"];//物品ID
92 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey 107 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey
93 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ 108 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{
94 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 109 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调
95 NSLog(@"第三方支付完成"); 110 NSLog(@"第三方支付完成");
96 }]]; 111 }]];
97 112
98 ### 7、IAP支付 113 ### 7、IAP支付
99 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 114 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法
100 115
101 [[LetsGameAPI instance] registeIapObserver]; 116 [[LetsGameAPI instance] registeIapObserver];
102 具体调用iap支付的方法如下: 117 具体调用iap支付的方法如下:
103 118
104 [LetsGameAPI instance].appId = @"10022"; 119 [LetsGameAPI instance].appId = @"10022";
105 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; 120 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab";
106 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 121 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
107 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id 122 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id
108 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id 123 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id
109 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 124 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计
110 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 125 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准
111 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 126 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号
112 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId 127 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId
113 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { 128 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) {
114 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 129 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果
115 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 130 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功
116 NSLog(@"IAP completed orderId of Gumptech:%@",orderId); 131 NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
117 } failCallback:^(NSString *orderId) { 132 } failCallback:^(NSString *orderId) {
118 //支付失败 133 //支付失败
119 NSLog(@"IAP file orderId of Gumptech:%@",orderId); 134 NSLog(@"IAP file orderId of Gumptech:%@",orderId);
120 }]; 135 }];
121 ### 8、token的获取 136 ### 8、token的获取
122 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。 137 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。
123 138
124 //tokenString:token字符串 139 //tokenString:token字符串
125 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间 140 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间
126 //expirationTime:expirationTime token最后的有效时间 141 //expirationTime:expirationTime token最后的有效时间
127 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) { 142 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) {
128 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime); 143 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime);
129 } failure:^(NSString *errorString) { 144 } failure:^(NSString *errorString) {
130 NSLog(@"get token faile"); 145 NSLog(@"get token faile");
131 }]; 146 }];
132 147
133 148
134 ### 9、第三方支付版本 149 ### 9、第三方支付版本
135 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置: 150 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置:
136 151
137 需要在 application:didFinishLaunchingWithOptions方法中添加: 152 需要在 application:didFinishLaunchingWithOptions方法中添加:
138 153
139 [[LetsGameAPI instance] decideWebToVersion:1] 154 [[LetsGameAPI instance] decideWebToVersion:1]
140 155
141 156
142 ### 10、关于侵权还是侵权的接口显示 157 ### 10、关于侵权还是侵权的接口显示
143 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。 158 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。
144 159
145 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。 160 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。
146 161
147 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { 162 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) {
148 if (resultStatus) { 163 if (resultStatus) {
149 NSLog(@"YES 侵权"); 164 NSLog(@"YES 侵权");
150 }else{ 165 }else{
151 NSLog(@"NO 不侵权"); 166 NSLog(@"NO 不侵权");
152 } 167 }
153 }]; 168 }];
154 ### 11、横竖屏设置 169 ### 11、横竖屏设置
155 170
156 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。 171 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。
157 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法: 172 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法:
158 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置: 173 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置:
159 174
160 [LetsGameAPI DeviceOrientationIsHorizontal:NO]; 175 [LetsGameAPI DeviceOrientationIsHorizontal:NO];
161 176
162 177
163 178
164 179
165 180 ### 12、CocoaPods集成
166 ### 12、微信登陆
167
168 首先在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;方法中向微信注册应用
169 //微信登陆
170 [[LetsGameAPI instance] registerAppWeChatWithAppId:@"appId" appKey:@"appKey" Success:^{
171 NSLog(@"注册成功");
ios/GameSDK.framework/Versions/A/GameSDK
No preview for this file type
ios/GameSDK.framework/Versions/A/Headers/LetsGameAPI.h
1 1
2 #import <Foundation/Foundation.h> 2 #import <Foundation/Foundation.h>
3 #import "LSGAccount.h" 3 #import "LSGAccount.h"
4 #import "VKBridgeProtocol.h" 4 #import "VKBridgeProtocol.h"
5 5
6 6
7 typedef void (^LSGLoginSuccBlock)(NSString *userId, NSString *sessionKey, LSGAccountType type); 7 typedef void (^LSGLoginSuccBlock)(NSString *userId, NSString *sessionKey, LSGAccountType type);
8 typedef void (^LSGDismissBlock)(void); 8 typedef void (^LSGDismissBlock)(void);
9 9
10 static BOOL isDisableFB = NO; 10 static BOOL isDisableFB = NO;
11 11
12 static BOOL isEnableVK = NO; 12 static BOOL isEnableVK = NO;
13 13
14 static BOOL isDisableLine = NO; 14 static BOOL isDisableLine = NO;
15 15
16 static BOOL isDisableWeChat = NO; 16 static BOOL isDisableWeChat = NO;
17 17
18 static BOOL isDisableGoogle = NO; 18 static BOOL isDisableGoogle = NO;
19 19
20 static BOOL hiddenLogo = NO; 20 static BOOL hiddenLogo = NO;
21 21
22 //默认横屏 22 //默认横屏
23 static BOOL DeviceOrientationIsHorizontal = YES; 23 static BOOL DeviceOrientationIsHorizontal = YES;
24 24
25 static NSString *version = @"3.5.22"; 25 static NSString *version = @"3.5.23";
26 26
27 @interface LetsGameAPI : NSObject<UIApplicationDelegate> 27 @interface LetsGameAPI : NSObject<UIApplicationDelegate>
28 28
29 @property (nonatomic, strong) NSString *appId; 29 @property (nonatomic, strong) NSString *appId;
30 @property (nonatomic, strong) NSString *appKey; 30 @property (nonatomic, strong) NSString *appKey;
31 @property(nonatomic, strong) NSString *channelId; 31 @property(nonatomic, strong) NSString *channelId;
32 @property (nonatomic, copy) LSGLoginSuccBlock succBlock; 32 @property (nonatomic, copy) LSGLoginSuccBlock succBlock;
33 @property (nonatomic, copy) LSGDismissBlock dismissBlock; 33 @property (nonatomic, copy) LSGDismissBlock dismissBlock;
34 @property (nonatomic, assign) int isDebug; 34 @property (nonatomic, assign) int isDebug;
35 @property (nonatomic, assign) int decideWebTo; 35 @property (nonatomic, assign) int decideWebTo;
36 @property (nonatomic,retain) id<VKBridgeProtocol> vkBridge; 36 @property (nonatomic,retain) id<VKBridgeProtocol> vkBridge;
37 //@property(nonatomic,strong) NSString *version; 37 //@property(nonatomic,strong) NSString *version;
38 38
39 + (instancetype)instance; 39 + (instancetype)instance;
40 40
41 -(NSString*)version; 41 -(NSString*)version;
42 42 - (void)SDKLoginInitofResponse:(void (^)(BOOL result))response;
43 - (void)showLoginView; 43 - (void)showLoginView;
44 - (void)showLoginViewInView:(UIView *)view; 44 - (void)showLoginViewInView:(UIView *)view;
45 45
46 +(void)disableFB:(BOOL)isDisable; 46 +(void)disableFB:(BOOL)isDisable;
47 +(void)disableGoogle:(BOOL)isDisable; 47 +(void)disableGoogle:(BOOL)isDisable;
48 +(void)disableWeChat:(BOOL)isDisable; 48 +(void)disableWeChat:(BOOL)isDisable;
49 +(void)disableLine:(BOOL)isDissable; 49 +(void)disableLine:(BOOL)isDissable;
50 +(BOOL)isFBDisable; 50 +(BOOL)isFBDisable;
51 +(BOOL)isVKEnable; 51 +(BOOL)isVKEnable;
52 +(BOOL)isWeChatDisable; 52 +(BOOL)isWeChatDisable;
53 +(BOOL)isGoogleDisable; 53 +(BOOL)isGoogleDisable;
54 +(BOOL)isLineDisable; 54 +(BOOL)isLineDisable;
55 +(void)hiddenLogo:(BOOL)isHidden; 55 +(void)hiddenLogo:(BOOL)isHidden;
56 +(BOOL)isHiddenLogo; 56 +(BOOL)isHiddenLogo;
57 +(void)DeviceOrientationIsHorizontal:(BOOL)isDisable; 57 +(void)DeviceOrientationIsHorizontal:(BOOL)isDisable;
58 +(BOOL)DeviceOrientationIsHorizontal; 58 +(BOOL)DeviceOrientationIsHorizontal;
59 59
60 - (void)logout; 60 - (void)logout;
61 61
62 - (void)hide; 62 - (void)hide;
63 //是否安装微信 63 //是否安装微信
64 -(BOOL)isWeChatInstall; 64 -(BOOL)isWeChatInstall;
65 //向微信注册应用 65 //向微信注册应用
66 -(void)registerAppWeChatWithAppId:(NSString *)appId 66 -(void)registerAppWeChatOfSuccess:(void (^)())success
67 appKey:(NSString *)appKey
68 Success:(void (^)())success
69 failure:(void (^)())failure; 67 failure:(void (^)())failure;
70 68
71 - (BOOL)handleOpenURL:(NSURL *)url 69 - (BOOL)handleOpenURL:(NSURL *)url
72 sourceApplication:(NSString *)sourceApplication; 70 sourceApplication:(NSString *)sourceApplication;
73 71
74 -(void)pWeb:(NSDictionary*) pWebInfo handleCallBack:(void (^)()) pWebAccomplistCallback; 72 -(void)pWeb:(NSDictionary*) pWebInfo handleCallBack:(void (^)()) pWebAccomplistCallback;
75 73
76 -(void)iap:(NSDictionary*) payInfo forUser:(NSString*) uid succCallback:(void (^)(NSString* orderId)) succCallback failCallback:(void (^)(NSString* orderId)) failCallback; 74 -(void)iap:(NSDictionary*) payInfo forUser:(NSString*) uid succCallback:(void (^)(NSString* orderId)) succCallback failCallback:(void (^)(NSString* orderId)) failCallback;
77 75
78 -(void)registeIapObserver; 76 -(void)registeIapObserver;
79 77
80 -(void)decideIsDebug:(int)isDebug; 78 -(void)decideIsDebug:(int)isDebug;
81 79
82 -(void)decideWebToVersion:(int)decideWebTo; 80 -(void)decideWebToVersion:(int)decideWebTo;
83 81
84 -(void)obtainAccessTokenSuccess:(void (^)(NSString *tokenString, NSString *refreshTime, NSString *expirationTime))success 82 -(void)obtainAccessTokenSuccess:(void (^)(NSString *tokenString, NSString *refreshTime, NSString *expirationTime))success
85 failure:(void (^)(NSString *errorString))failure; 83 failure:(void (^)(NSString *errorString))failure;
86 84
87 //获取是否展示安全页面,YES展示侵权页面,NO展示非侵权页面 85 //获取是否展示安全页面,YES展示侵权页面,NO展示非侵权页面
88 -(void)gameObtainSafeSetInfoWithAppId:(NSString *)appId 86 -(void)gameObtainSafeSetInfoWithAppId:(NSString *)appId
89 ChannelId:(NSString *)channelId 87 ChannelId:(NSString *)channelId
90 handleCallBack:(void (^)(BOOL resultStatus))callBack; 88 handleCallBack:(void (^)(BOOL resultStatus))callBack;
91 //关闭登录页面 89 //关闭登录页面
92 -(void)hidenLogInView; 90 -(void)hidenLogInView;
93 @end 91 @end
94 92
No preview for this file type
ios/GameSDKDemo/GameSDKDemo.xcodeproj/project.pbxproj
1 // !$*UTF8*$! 1 // !$*UTF8*$!
2 { 2 {
3 archiveVersion = 1; 3 archiveVersion = 1;
4 classes = { 4 classes = {
5 }; 5 };
6 objectVersion = 46; 6 objectVersion = 46;
7 objects = { 7 objects = {
8 8
9 /* Begin PBXBuildFile section */ 9 /* Begin PBXBuildFile section */
10 3309D8531C312F5900534E33 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3309D8521C312F5900534E33 /* StoreKit.framework */; }; 10 3309D8531C312F5900534E33 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3309D8521C312F5900534E33 /* StoreKit.framework */; };
11 3309D8551C312F6500534E33 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3309D8541C312F6500534E33 /* QuartzCore.framework */; }; 11 3309D8551C312F6500534E33 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3309D8541C312F6500534E33 /* QuartzCore.framework */; };
12 3309D9791C438A5E00534E33 /* libz.1.2.5.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3309D9781C438A5E00534E33 /* libz.1.2.5.tbd */; }; 12 3309D9791C438A5E00534E33 /* libz.1.2.5.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3309D9781C438A5E00534E33 /* libz.1.2.5.tbd */; };
13 3309D97F1C4394C800534E33 /* VKSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3309D97E1C4394C800534E33 /* VKSdk.framework */; }; 13 3309D97F1C4394C800534E33 /* VKSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3309D97E1C4394C800534E33 /* VKSdk.framework */; };
14 331262371C50B56800B1B435 /* VKBridge.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 331262361C50B56800B1B435 /* VKBridge.framework */; }; 14 331262371C50B56800B1B435 /* VKBridge.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 331262361C50B56800B1B435 /* VKBridge.framework */; };
15 3CD53D9D1B81F37900E1B01A /* VKSdkResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3CD53D9C1B81F37900E1B01A /* VKSdkResources.bundle */; }; 15 3CD53D9D1B81F37900E1B01A /* VKSdkResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3CD53D9C1B81F37900E1B01A /* VKSdkResources.bundle */; };
16 7517F2111FFF437F000237ED /* GameSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7517F2101FFF437E000237ED /* GameSDK.framework */; }; 16 7517F2111FFF437F000237ED /* GameSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7517F2101FFF437E000237ED /* GameSDK.framework */; };
17 752A5F421CDC826A00C36131 /* GameSDKResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 752A5F411CDC826A00C36131 /* GameSDKResources.bundle */; }; 17 752A5F421CDC826A00C36131 /* GameSDKResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 752A5F411CDC826A00C36131 /* GameSDKResources.bundle */; };
18 752CAD8C20CE5CED003C3840 /* GameActivitySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 752CAD8B20CE5CB3003C3840 /* GameActivitySDK.framework */; }; 18 752CAD8C20CE5CED003C3840 /* GameActivitySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 752CAD8B20CE5CB3003C3840 /* GameActivitySDK.framework */; };
19 75864D631FF35A22002C9012 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 75864D601FF35A22002C9012 /* libsqlite3.tbd */; }; 19 75864D631FF35A22002C9012 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 75864D601FF35A22002C9012 /* libsqlite3.tbd */; };
20 75864D651FF35A3A002C9012 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 75864D641FF35A3A002C9012 /* CoreTelephony.framework */; }; 20 75864D651FF35A3A002C9012 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 75864D641FF35A3A002C9012 /* CoreTelephony.framework */; };
21 75864D671FF35A48002C9012 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 75864D661FF35A48002C9012 /* libz.tbd */; }; 21 75864D671FF35A48002C9012 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 75864D661FF35A48002C9012 /* libz.tbd */; };
22 75864D691FF35A58002C9012 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 75864D681FF35A57002C9012 /* libc++.tbd */; }; 22 75864D691FF35A58002C9012 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 75864D681FF35A57002C9012 /* libc++.tbd */; };
23 9934F1B219303DC6005EF4AB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9934F1B119303DC6005EF4AB /* Foundation.framework */; }; 23 9934F1B219303DC6005EF4AB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9934F1B119303DC6005EF4AB /* Foundation.framework */; };
24 9934F1B619303DC6005EF4AB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9934F1B519303DC6005EF4AB /* UIKit.framework */; }; 24 9934F1B619303DC6005EF4AB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9934F1B519303DC6005EF4AB /* UIKit.framework */; };
25 9934F1BE19303DC6005EF4AB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9934F1BD19303DC6005EF4AB /* main.m */; }; 25 9934F1BE19303DC6005EF4AB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9934F1BD19303DC6005EF4AB /* main.m */; };
26 9934F1C219303DC6005EF4AB /* LSGAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9934F1C119303DC6005EF4AB /* LSGAppDelegate.m */; }; 26 9934F1C219303DC6005EF4AB /* LSGAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9934F1C119303DC6005EF4AB /* LSGAppDelegate.m */; };
27 9934F1C419303DC6005EF4AB /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9934F1C319303DC6005EF4AB /* Images.xcassets */; }; 27 9934F1C419303DC6005EF4AB /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9934F1C319303DC6005EF4AB /* Images.xcassets */; };
28 9934F23A19307153005EF4AB /* LSGMainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9934F23919307153005EF4AB /* LSGMainViewController.m */; }; 28 9934F23A19307153005EF4AB /* LSGMainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9934F23919307153005EF4AB /* LSGMainViewController.m */; };
29 997523281930A42500F50D29 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 997523271930A42500F50D29 /* CFNetwork.framework */; }; 29 997523281930A42500F50D29 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 997523271930A42500F50D29 /* CFNetwork.framework */; };
30 997523321930A52600F50D29 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 997523311930A52600F50D29 /* MobileCoreServices.framework */; }; 30 997523321930A52600F50D29 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 997523311930A52600F50D29 /* MobileCoreServices.framework */; };
31 /* End PBXBuildFile section */ 31 /* End PBXBuildFile section */
32 32
33 /* Begin PBXContainerItemProxy section */ 33 /* Begin PBXContainerItemProxy section */
34 75C5488520D0E55E002A6ABF /* PBXContainerItemProxy */ = { 34 75C5488520D0E55E002A6ABF /* PBXContainerItemProxy */ = {
35 isa = PBXContainerItemProxy; 35 isa = PBXContainerItemProxy;
36 containerPortal = 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */; 36 containerPortal = 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */;
37 proxyType = 2; 37 proxyType = 2;
38 remoteGlobalIDString = 99626194192D9649004FF2E3; 38 remoteGlobalIDString = 99626194192D9649004FF2E3;
39 remoteInfo = GameSDK; 39 remoteInfo = GameSDK;
40 }; 40 };
41 75C5488D20D0E585002A6ABF /* PBXContainerItemProxy */ = { 41 75C5488D20D0E585002A6ABF /* PBXContainerItemProxy */ = {
42 isa = PBXContainerItemProxy; 42 isa = PBXContainerItemProxy;
43 containerPortal = 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */; 43 containerPortal = 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */;
44 proxyType = 2; 44 proxyType = 2;
45 remoteGlobalIDString = 752CAD5D20CE2AEE003C3840; 45 remoteGlobalIDString = 752CAD5D20CE2AEE003C3840;
46 remoteInfo = GameActivitySDK; 46 remoteInfo = GameActivitySDK;
47 }; 47 };
48 /* End PBXContainerItemProxy section */ 48 /* End PBXContainerItemProxy section */
49 49
50 /* Begin PBXFileReference section */ 50 /* Begin PBXFileReference section */
51 27019DCA1A208B1500DA560D /* Path.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Path.xcconfig; sourceTree = "<group>"; }; 51 27019DCA1A208B1500DA560D /* Path.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Path.xcconfig; sourceTree = "<group>"; };
52 27019DCB1A208B1500DA560D /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = "<group>"; }; 52 27019DCB1A208B1500DA560D /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = "<group>"; };
53 3309D8521C312F5900534E33 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/System/Library/Frameworks/StoreKit.framework; sourceTree = "<absolute>"; }; 53 3309D8521C312F5900534E33 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/System/Library/Frameworks/StoreKit.framework; sourceTree = "<absolute>"; };
54 3309D8541C312F6500534E33 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; }; 54 3309D8541C312F6500534E33 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
55 3309D9781C438A5E00534E33 /* libz.1.2.5.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.1.2.5.tbd; path = usr/lib/libz.1.2.5.tbd; sourceTree = SDKROOT; }; 55 3309D9781C438A5E00534E33 /* libz.1.2.5.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.1.2.5.tbd; path = usr/lib/libz.1.2.5.tbd; sourceTree = SDKROOT; };
56 3309D97E1C4394C800534E33 /* VKSdk.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VKSdk.framework; path = letsgameDemo/VKSdk.framework; sourceTree = "<group>"; }; 56 3309D97E1C4394C800534E33 /* VKSdk.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VKSdk.framework; path = letsgameDemo/VKSdk.framework; sourceTree = "<group>"; };
57 331262361C50B56800B1B435 /* VKBridge.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VKBridge.framework; path = ../VKBridge.framework; sourceTree = "<group>"; }; 57 331262361C50B56800B1B435 /* VKBridge.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VKBridge.framework; path = ../VKBridge.framework; sourceTree = "<group>"; };
58 3CD53D9C1B81F37900E1B01A /* VKSdkResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = VKSdkResources.bundle; sourceTree = "<group>"; }; 58 3CD53D9C1B81F37900E1B01A /* VKSdkResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = VKSdkResources.bundle; sourceTree = "<group>"; };
59 7517F2101FFF437E000237ED /* GameSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameSDK.framework; path = ../GameSDK.framework; sourceTree = "<group>"; }; 59 7517F2101FFF437E000237ED /* GameSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameSDK.framework; path = ../GameSDK.framework; sourceTree = "<group>"; };
60 752A5F411CDC826A00C36131 /* GameSDKResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = GameSDKResources.bundle; path = ../../GameSDKResources.bundle; sourceTree = "<group>"; }; 60 752A5F411CDC826A00C36131 /* GameSDKResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = GameSDKResources.bundle; path = ../../GameSDKResources.bundle; sourceTree = "<group>"; };
61 752CAD8B20CE5CB3003C3840 /* GameActivitySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameActivitySDK.framework; path = ../GameActivitySDK.framework; sourceTree = "<group>"; }; 61 752CAD8B20CE5CB3003C3840 /* GameActivitySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameActivitySDK.framework; path = ../GameActivitySDK.framework; sourceTree = "<group>"; };
62 75864D601FF35A22002C9012 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; 62 75864D601FF35A22002C9012 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; };
63 75864D641FF35A3A002C9012 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; 63 75864D641FF35A3A002C9012 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
64 75864D661FF35A48002C9012 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 64 75864D661FF35A48002C9012 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
65 75864D681FF35A57002C9012 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; 65 75864D681FF35A57002C9012 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
66 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = GameSDK.xcodeproj; path = ../../../iosgamesdk/GameSDK/GameSDK.xcodeproj; sourceTree = "<group>"; }; 66 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = GameSDK.xcodeproj; path = ../../../iosgamesdk/GameSDK/GameSDK.xcodeproj; sourceTree = "<group>"; };
67 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = GameActivitySDK.xcodeproj; path = ../../../GameActivitySDK/GameActivitySDK.xcodeproj; sourceTree = "<group>"; }; 67 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = GameActivitySDK.xcodeproj; path = ../../../GameActivitySDK/GameActivitySDK.xcodeproj; sourceTree = "<group>"; };
68 9934F1AE19303DC6005EF4AB /* GameSDKDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GameSDKDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 68 9934F1AE19303DC6005EF4AB /* GameSDKDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GameSDKDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
69 9934F1B119303DC6005EF4AB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 69 9934F1B119303DC6005EF4AB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
70 9934F1B319303DC6005EF4AB /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 70 9934F1B319303DC6005EF4AB /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
71 9934F1B519303DC6005EF4AB /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 71 9934F1B519303DC6005EF4AB /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
72 9934F1B919303DC6005EF4AB /* letsgameDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "letsgameDemo-Info.plist"; sourceTree = "<group>"; }; 72 9934F1B919303DC6005EF4AB /* letsgameDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "letsgameDemo-Info.plist"; sourceTree = "<group>"; };
73 9934F1BD19303DC6005EF4AB /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; 73 9934F1BD19303DC6005EF4AB /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
74 9934F1BF19303DC6005EF4AB /* GameSDKDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "GameSDKDemo-Prefix.pch"; sourceTree = "<group>"; }; 74 9934F1BF19303DC6005EF4AB /* GameSDKDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "GameSDKDemo-Prefix.pch"; sourceTree = "<group>"; };
75 9934F1C019303DC6005EF4AB /* LSGAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LSGAppDelegate.h; sourceTree = "<group>"; }; 75 9934F1C019303DC6005EF4AB /* LSGAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LSGAppDelegate.h; sourceTree = "<group>"; };
76 9934F1C119303DC6005EF4AB /* LSGAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LSGAppDelegate.m; sourceTree = "<group>"; }; 76 9934F1C119303DC6005EF4AB /* LSGAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LSGAppDelegate.m; sourceTree = "<group>"; };
77 9934F1C319303DC6005EF4AB /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; }; 77 9934F1C319303DC6005EF4AB /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
78 9934F23819307153005EF4AB /* LSGMainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LSGMainViewController.h; sourceTree = "<group>"; }; 78 9934F23819307153005EF4AB /* LSGMainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LSGMainViewController.h; sourceTree = "<group>"; };
79 9934F23919307153005EF4AB /* LSGMainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LSGMainViewController.m; sourceTree = "<group>"; }; 79 9934F23919307153005EF4AB /* LSGMainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LSGMainViewController.m; sourceTree = "<group>"; };
80 997523271930A42500F50D29 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; 80 997523271930A42500F50D29 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
81 997523311930A52600F50D29 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; 81 997523311930A52600F50D29 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
82 /* End PBXFileReference section */ 82 /* End PBXFileReference section */
83 83
84 /* Begin PBXFrameworksBuildPhase section */ 84 /* Begin PBXFrameworksBuildPhase section */
85 9934F1AB19303DC6005EF4AB /* Frameworks */ = { 85 9934F1AB19303DC6005EF4AB /* Frameworks */ = {
86 isa = PBXFrameworksBuildPhase; 86 isa = PBXFrameworksBuildPhase;
87 buildActionMask = 2147483647; 87 buildActionMask = 2147483647;
88 files = ( 88 files = (
89 752CAD8C20CE5CED003C3840 /* GameActivitySDK.framework in Frameworks */, 89 752CAD8C20CE5CED003C3840 /* GameActivitySDK.framework in Frameworks */,
90 75864D691FF35A58002C9012 /* libc++.tbd in Frameworks */, 90 75864D691FF35A58002C9012 /* libc++.tbd in Frameworks */,
91 75864D671FF35A48002C9012 /* libz.tbd in Frameworks */, 91 75864D671FF35A48002C9012 /* libz.tbd in Frameworks */,
92 75864D651FF35A3A002C9012 /* CoreTelephony.framework in Frameworks */, 92 75864D651FF35A3A002C9012 /* CoreTelephony.framework in Frameworks */,
93 7517F2111FFF437F000237ED /* GameSDK.framework in Frameworks */, 93 7517F2111FFF437F000237ED /* GameSDK.framework in Frameworks */,
94 75864D631FF35A22002C9012 /* libsqlite3.tbd in Frameworks */, 94 75864D631FF35A22002C9012 /* libsqlite3.tbd in Frameworks */,
95 331262371C50B56800B1B435 /* VKBridge.framework in Frameworks */, 95 331262371C50B56800B1B435 /* VKBridge.framework in Frameworks */,
96 3309D9791C438A5E00534E33 /* libz.1.2.5.tbd in Frameworks */, 96 3309D9791C438A5E00534E33 /* libz.1.2.5.tbd in Frameworks */,
97 3309D8551C312F6500534E33 /* QuartzCore.framework in Frameworks */, 97 3309D8551C312F6500534E33 /* QuartzCore.framework in Frameworks */,
98 3309D8531C312F5900534E33 /* StoreKit.framework in Frameworks */, 98 3309D8531C312F5900534E33 /* StoreKit.framework in Frameworks */,
99 997523321930A52600F50D29 /* MobileCoreServices.framework in Frameworks */, 99 997523321930A52600F50D29 /* MobileCoreServices.framework in Frameworks */,
100 3309D97F1C4394C800534E33 /* VKSdk.framework in Frameworks */, 100 3309D97F1C4394C800534E33 /* VKSdk.framework in Frameworks */,
101 997523281930A42500F50D29 /* CFNetwork.framework in Frameworks */, 101 997523281930A42500F50D29 /* CFNetwork.framework in Frameworks */,
102 9934F1B619303DC6005EF4AB /* UIKit.framework in Frameworks */, 102 9934F1B619303DC6005EF4AB /* UIKit.framework in Frameworks */,
103 9934F1B219303DC6005EF4AB /* Foundation.framework in Frameworks */, 103 9934F1B219303DC6005EF4AB /* Foundation.framework in Frameworks */,
104 ); 104 );
105 runOnlyForDeploymentPostprocessing = 0; 105 runOnlyForDeploymentPostprocessing = 0;
106 }; 106 };
107 /* End PBXFrameworksBuildPhase section */ 107 /* End PBXFrameworksBuildPhase section */
108 108
109 /* Begin PBXGroup section */ 109 /* Begin PBXGroup section */
110 27019DC91A208B1500DA560D /* Configuration */ = { 110 27019DC91A208B1500DA560D /* Configuration */ = {
111 isa = PBXGroup; 111 isa = PBXGroup;
112 children = ( 112 children = (
113 27019DCA1A208B1500DA560D /* Path.xcconfig */, 113 27019DCA1A208B1500DA560D /* Path.xcconfig */,
114 27019DCB1A208B1500DA560D /* Project.xcconfig */, 114 27019DCB1A208B1500DA560D /* Project.xcconfig */,
115 ); 115 );
116 path = Configuration; 116 path = Configuration;
117 sourceTree = "<group>"; 117 sourceTree = "<group>";
118 }; 118 };
119 27019DCE1A208B2300DA560D /* Dependencies */ = { 119 27019DCE1A208B2300DA560D /* Dependencies */ = {
120 isa = PBXGroup; 120 isa = PBXGroup;
121 children = ( 121 children = (
122 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */, 122 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */,
123 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */, 123 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */,
124 ); 124 );
125 name = Dependencies; 125 name = Dependencies;
126 sourceTree = "<group>"; 126 sourceTree = "<group>";
127 }; 127 };
128 75C5488120D0E55E002A6ABF /* Products */ = { 128 75C5488120D0E55E002A6ABF /* Products */ = {
129 isa = PBXGroup; 129 isa = PBXGroup;
130 children = ( 130 children = (
131 75C5488620D0E55E002A6ABF /* libGameSDK.a */, 131 75C5488620D0E55E002A6ABF /* libGameSDK.a */,
132 ); 132 );
133 name = Products; 133 name = Products;
134 sourceTree = "<group>"; 134 sourceTree = "<group>";
135 }; 135 };
136 75C5488920D0E584002A6ABF /* Products */ = { 136 75C5488920D0E584002A6ABF /* Products */ = {
137 isa = PBXGroup; 137 isa = PBXGroup;
138 children = ( 138 children = (
139 75C5488E20D0E585002A6ABF /* libGameActivitySDK.a */, 139 75C5488E20D0E585002A6ABF /* libGameActivitySDK.a */,
140 ); 140 );
141 name = Products; 141 name = Products;
142 sourceTree = "<group>"; 142 sourceTree = "<group>";
143 }; 143 };
144 9934F1A519303DC6005EF4AB = { 144 9934F1A519303DC6005EF4AB = {
145 isa = PBXGroup; 145 isa = PBXGroup;
146 children = ( 146 children = (
147 27019DC91A208B1500DA560D /* Configuration */, 147 27019DC91A208B1500DA560D /* Configuration */,
148 27019DCE1A208B2300DA560D /* Dependencies */, 148 27019DCE1A208B2300DA560D /* Dependencies */,
149 9934F1B719303DC6005EF4AB /* letsgameDemo */, 149 9934F1B719303DC6005EF4AB /* letsgameDemo */,
150 9934F1B019303DC6005EF4AB /* Frameworks */, 150 9934F1B019303DC6005EF4AB /* Frameworks */,
151 9934F1AF19303DC6005EF4AB /* Products */, 151 9934F1AF19303DC6005EF4AB /* Products */,
152 ); 152 );
153 sourceTree = "<group>"; 153 sourceTree = "<group>";
154 }; 154 };
155 9934F1AF19303DC6005EF4AB /* Products */ = { 155 9934F1AF19303DC6005EF4AB /* Products */ = {
156 isa = PBXGroup; 156 isa = PBXGroup;
157 children = ( 157 children = (
158 9934F1AE19303DC6005EF4AB /* GameSDKDemo.app */, 158 9934F1AE19303DC6005EF4AB /* GameSDKDemo.app */,
159 ); 159 );
160 name = Products; 160 name = Products;
161 sourceTree = "<group>"; 161 sourceTree = "<group>";
162 }; 162 };
163 9934F1B019303DC6005EF4AB /* Frameworks */ = { 163 9934F1B019303DC6005EF4AB /* Frameworks */ = {
164 isa = PBXGroup; 164 isa = PBXGroup;
165 children = ( 165 children = (
166 752CAD8B20CE5CB3003C3840 /* GameActivitySDK.framework */, 166 752CAD8B20CE5CB3003C3840 /* GameActivitySDK.framework */,
167 7517F2101FFF437E000237ED /* GameSDK.framework */, 167 7517F2101FFF437E000237ED /* GameSDK.framework */,
168 75864D681FF35A57002C9012 /* libc++.tbd */, 168 75864D681FF35A57002C9012 /* libc++.tbd */,
169 75864D661FF35A48002C9012 /* libz.tbd */, 169 75864D661FF35A48002C9012 /* libz.tbd */,
170 75864D641FF35A3A002C9012 /* CoreTelephony.framework */, 170 75864D641FF35A3A002C9012 /* CoreTelephony.framework */,
171 75864D601FF35A22002C9012 /* libsqlite3.tbd */, 171 75864D601FF35A22002C9012 /* libsqlite3.tbd */,
172 331262361C50B56800B1B435 /* VKBridge.framework */, 172 331262361C50B56800B1B435 /* VKBridge.framework */,
173 3309D97E1C4394C800534E33 /* VKSdk.framework */, 173 3309D97E1C4394C800534E33 /* VKSdk.framework */,
174 3309D9781C438A5E00534E33 /* libz.1.2.5.tbd */, 174 3309D9781C438A5E00534E33 /* libz.1.2.5.tbd */,
175 3309D8541C312F6500534E33 /* QuartzCore.framework */, 175 3309D8541C312F6500534E33 /* QuartzCore.framework */,
176 3309D8521C312F5900534E33 /* StoreKit.framework */, 176 3309D8521C312F5900534E33 /* StoreKit.framework */,
177 997523311930A52600F50D29 /* MobileCoreServices.framework */, 177 997523311930A52600F50D29 /* MobileCoreServices.framework */,
178 997523271930A42500F50D29 /* CFNetwork.framework */, 178 997523271930A42500F50D29 /* CFNetwork.framework */,
179 9934F1B119303DC6005EF4AB /* Foundation.framework */, 179 9934F1B119303DC6005EF4AB /* Foundation.framework */,
180 9934F1B319303DC6005EF4AB /* CoreGraphics.framework */, 180 9934F1B319303DC6005EF4AB /* CoreGraphics.framework */,
181 9934F1B519303DC6005EF4AB /* UIKit.framework */, 181 9934F1B519303DC6005EF4AB /* UIKit.framework */,
182 ); 182 );
183 name = Frameworks; 183 name = Frameworks;
184 sourceTree = "<group>"; 184 sourceTree = "<group>";
185 }; 185 };
186 9934F1B719303DC6005EF4AB /* letsgameDemo */ = { 186 9934F1B719303DC6005EF4AB /* letsgameDemo */ = {
187 isa = PBXGroup; 187 isa = PBXGroup;
188 children = ( 188 children = (
189 752A5F411CDC826A00C36131 /* GameSDKResources.bundle */, 189 752A5F411CDC826A00C36131 /* GameSDKResources.bundle */,
190 9934F1C319303DC6005EF4AB /* Images.xcassets */, 190 9934F1C319303DC6005EF4AB /* Images.xcassets */,
191 9934F1C019303DC6005EF4AB /* LSGAppDelegate.h */, 191 9934F1C019303DC6005EF4AB /* LSGAppDelegate.h */,
192 9934F1C119303DC6005EF4AB /* LSGAppDelegate.m */, 192 9934F1C119303DC6005EF4AB /* LSGAppDelegate.m */,
193 9934F23819307153005EF4AB /* LSGMainViewController.h */, 193 9934F23819307153005EF4AB /* LSGMainViewController.h */,
194 9934F23919307153005EF4AB /* LSGMainViewController.m */, 194 9934F23919307153005EF4AB /* LSGMainViewController.m */,
195 9934F1B819303DC6005EF4AB /* Supporting Files */, 195 9934F1B819303DC6005EF4AB /* Supporting Files */,
196 3CD53D9C1B81F37900E1B01A /* VKSdkResources.bundle */, 196 3CD53D9C1B81F37900E1B01A /* VKSdkResources.bundle */,
197 ); 197 );
198 path = letsgameDemo; 198 path = letsgameDemo;
199 sourceTree = "<group>"; 199 sourceTree = "<group>";
200 }; 200 };
201 9934F1B819303DC6005EF4AB /* Supporting Files */ = { 201 9934F1B819303DC6005EF4AB /* Supporting Files */ = {
202 isa = PBXGroup; 202 isa = PBXGroup;
203 children = ( 203 children = (
204 9934F1B919303DC6005EF4AB /* letsgameDemo-Info.plist */, 204 9934F1B919303DC6005EF4AB /* letsgameDemo-Info.plist */,
205 9934F1BD19303DC6005EF4AB /* main.m */, 205 9934F1BD19303DC6005EF4AB /* main.m */,
206 9934F1BF19303DC6005EF4AB /* GameSDKDemo-Prefix.pch */, 206 9934F1BF19303DC6005EF4AB /* GameSDKDemo-Prefix.pch */,
207 ); 207 );
208 name = "Supporting Files"; 208 name = "Supporting Files";
209 sourceTree = "<group>"; 209 sourceTree = "<group>";
210 }; 210 };
211 /* End PBXGroup section */ 211 /* End PBXGroup section */
212 212
213 /* Begin PBXNativeTarget section */ 213 /* Begin PBXNativeTarget section */
214 9934F1AD19303DC6005EF4AB /* GameSDKDemo */ = { 214 9934F1AD19303DC6005EF4AB /* GameSDKDemo */ = {
215 isa = PBXNativeTarget; 215 isa = PBXNativeTarget;
216 buildConfigurationList = 9934F1DA19303DC6005EF4AB /* Build configuration list for PBXNativeTarget "GameSDKDemo" */; 216 buildConfigurationList = 9934F1DA19303DC6005EF4AB /* Build configuration list for PBXNativeTarget "GameSDKDemo" */;
217 buildPhases = ( 217 buildPhases = (
218 9934F1AA19303DC6005EF4AB /* Sources */, 218 9934F1AA19303DC6005EF4AB /* Sources */,
219 9934F1AB19303DC6005EF4AB /* Frameworks */, 219 9934F1AB19303DC6005EF4AB /* Frameworks */,
220 9934F1AC19303DC6005EF4AB /* Resources */, 220 9934F1AC19303DC6005EF4AB /* Resources */,
221 ); 221 );
222 buildRules = ( 222 buildRules = (
223 ); 223 );
224 dependencies = ( 224 dependencies = (
225 ); 225 );
226 name = GameSDKDemo; 226 name = GameSDKDemo;
227 productName = letsgameDemo; 227 productName = letsgameDemo;
228 productReference = 9934F1AE19303DC6005EF4AB /* GameSDKDemo.app */; 228 productReference = 9934F1AE19303DC6005EF4AB /* GameSDKDemo.app */;
229 productType = "com.apple.product-type.application"; 229 productType = "com.apple.product-type.application";
230 }; 230 };
231 /* End PBXNativeTarget section */ 231 /* End PBXNativeTarget section */
232 232
233 /* Begin PBXProject section */ 233 /* Begin PBXProject section */
234 9934F1A619303DC6005EF4AB /* Project object */ = { 234 9934F1A619303DC6005EF4AB /* Project object */ = {
235 isa = PBXProject; 235 isa = PBXProject;
236 attributes = { 236 attributes = {
237 CLASSPREFIX = LSG; 237 CLASSPREFIX = LSG;
238 LastUpgradeCheck = 0710; 238 LastUpgradeCheck = 0710;
239 TargetAttributes = { 239 TargetAttributes = {
240 9934F1AD19303DC6005EF4AB = { 240 9934F1AD19303DC6005EF4AB = {
241 DevelopmentTeam = 295DL9M69R; 241 DevelopmentTeam = NA5R6CY7V3;
242 ProvisioningStyle = Manual; 242 ProvisioningStyle = Manual;
243 SystemCapabilities = { 243 SystemCapabilities = {
244 com.apple.InAppPurchase = { 244 com.apple.InAppPurchase = {
245 enabled = 0; 245 enabled = 0;
246 }; 246 };
247 }; 247 };
248 }; 248 };
249 }; 249 };
250 }; 250 };
251 buildConfigurationList = 9934F1A919303DC6005EF4AB /* Build configuration list for PBXProject "GameSDKDemo" */; 251 buildConfigurationList = 9934F1A919303DC6005EF4AB /* Build configuration list for PBXProject "GameSDKDemo" */;
252 compatibilityVersion = "Xcode 3.2"; 252 compatibilityVersion = "Xcode 3.2";
253 developmentRegion = English; 253 developmentRegion = English;
254 hasScannedForEncodings = 0; 254 hasScannedForEncodings = 0;
255 knownRegions = ( 255 knownRegions = (
256 en, 256 en,
257 ); 257 );
258 mainGroup = 9934F1A519303DC6005EF4AB; 258 mainGroup = 9934F1A519303DC6005EF4AB;
259 productRefGroup = 9934F1AF19303DC6005EF4AB /* Products */; 259 productRefGroup = 9934F1AF19303DC6005EF4AB /* Products */;
260 projectDirPath = ""; 260 projectDirPath = "";
261 projectReferences = ( 261 projectReferences = (
262 { 262 {
263 ProductGroup = 75C5488920D0E584002A6ABF /* Products */; 263 ProductGroup = 75C5488920D0E584002A6ABF /* Products */;
264 ProjectRef = 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */; 264 ProjectRef = 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */;
265 }, 265 },
266 { 266 {
267 ProductGroup = 75C5488120D0E55E002A6ABF /* Products */; 267 ProductGroup = 75C5488120D0E55E002A6ABF /* Products */;
268 ProjectRef = 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */; 268 ProjectRef = 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */;
269 }, 269 },
270 ); 270 );
271 projectRoot = ""; 271 projectRoot = "";
272 targets = ( 272 targets = (
273 9934F1AD19303DC6005EF4AB /* GameSDKDemo */, 273 9934F1AD19303DC6005EF4AB /* GameSDKDemo */,
274 ); 274 );
275 }; 275 };
276 /* End PBXProject section */ 276 /* End PBXProject section */
277 277
278 /* Begin PBXReferenceProxy section */ 278 /* Begin PBXReferenceProxy section */
279 75C5488620D0E55E002A6ABF /* libGameSDK.a */ = { 279 75C5488620D0E55E002A6ABF /* libGameSDK.a */ = {
280 isa = PBXReferenceProxy; 280 isa = PBXReferenceProxy;
281 fileType = archive.ar; 281 fileType = archive.ar;
282 path = libGameSDK.a; 282 path = libGameSDK.a;
283 remoteRef = 75C5488520D0E55E002A6ABF /* PBXContainerItemProxy */; 283 remoteRef = 75C5488520D0E55E002A6ABF /* PBXContainerItemProxy */;
284 sourceTree = BUILT_PRODUCTS_DIR; 284 sourceTree = BUILT_PRODUCTS_DIR;
285 }; 285 };
286 75C5488E20D0E585002A6ABF /* libGameActivitySDK.a */ = { 286 75C5488E20D0E585002A6ABF /* libGameActivitySDK.a */ = {
287 isa = PBXReferenceProxy; 287 isa = PBXReferenceProxy;
288 fileType = archive.ar; 288 fileType = archive.ar;
289 path = libGameActivitySDK.a; 289 path = libGameActivitySDK.a;
290 remoteRef = 75C5488D20D0E585002A6ABF /* PBXContainerItemProxy */; 290 remoteRef = 75C5488D20D0E585002A6ABF /* PBXContainerItemProxy */;
291 sourceTree = BUILT_PRODUCTS_DIR; 291 sourceTree = BUILT_PRODUCTS_DIR;
292 }; 292 };
293 /* End PBXReferenceProxy section */ 293 /* End PBXReferenceProxy section */
294 294
295 /* Begin PBXResourcesBuildPhase section */ 295 /* Begin PBXResourcesBuildPhase section */
296 9934F1AC19303DC6005EF4AB /* Resources */ = { 296 9934F1AC19303DC6005EF4AB /* Resources */ = {
297 isa = PBXResourcesBuildPhase; 297 isa = PBXResourcesBuildPhase;
298 buildActionMask = 2147483647; 298 buildActionMask = 2147483647;
299 files = ( 299 files = (
300 3CD53D9D1B81F37900E1B01A /* VKSdkResources.bundle in Resources */, 300 3CD53D9D1B81F37900E1B01A /* VKSdkResources.bundle in Resources */,
301 752A5F421CDC826A00C36131 /* GameSDKResources.bundle in Resources */, 301 752A5F421CDC826A00C36131 /* GameSDKResources.bundle in Resources */,
302 9934F1C419303DC6005EF4AB /* Images.xcassets in Resources */, 302 9934F1C419303DC6005EF4AB /* Images.xcassets in Resources */,
303 ); 303 );
304 runOnlyForDeploymentPostprocessing = 0; 304 runOnlyForDeploymentPostprocessing = 0;
305 }; 305 };
306 /* End PBXResourcesBuildPhase section */ 306 /* End PBXResourcesBuildPhase section */
307 307
308 /* Begin PBXSourcesBuildPhase section */ 308 /* Begin PBXSourcesBuildPhase section */
309 9934F1AA19303DC6005EF4AB /* Sources */ = { 309 9934F1AA19303DC6005EF4AB /* Sources */ = {
310 isa = PBXSourcesBuildPhase; 310 isa = PBXSourcesBuildPhase;
311 buildActionMask = 2147483647; 311 buildActionMask = 2147483647;
312 files = ( 312 files = (
313 9934F1BE19303DC6005EF4AB /* main.m in Sources */, 313 9934F1BE19303DC6005EF4AB /* main.m in Sources */,
314 9934F1C219303DC6005EF4AB /* LSGAppDelegate.m in Sources */, 314 9934F1C219303DC6005EF4AB /* LSGAppDelegate.m in Sources */,
315 9934F23A19307153005EF4AB /* LSGMainViewController.m in Sources */, 315 9934F23A19307153005EF4AB /* LSGMainViewController.m in Sources */,
316 ); 316 );
317 runOnlyForDeploymentPostprocessing = 0; 317 runOnlyForDeploymentPostprocessing = 0;
318 }; 318 };
319 /* End PBXSourcesBuildPhase section */ 319 /* End PBXSourcesBuildPhase section */
320 320
321 /* Begin XCBuildConfiguration section */ 321 /* Begin XCBuildConfiguration section */
322 9934F1D819303DC6005EF4AB /* Debug */ = { 322 9934F1D819303DC6005EF4AB /* Debug */ = {
323 isa = XCBuildConfiguration; 323 isa = XCBuildConfiguration;
324 buildSettings = { 324 buildSettings = {
325 ALWAYS_SEARCH_USER_PATHS = YES; 325 ALWAYS_SEARCH_USER_PATHS = YES;
326 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 326 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
327 CLANG_CXX_LIBRARY = "libc++"; 327 CLANG_CXX_LIBRARY = "libc++";
328 CLANG_ENABLE_MODULES = YES; 328 CLANG_ENABLE_MODULES = YES;
329 CLANG_ENABLE_OBJC_ARC = YES; 329 CLANG_ENABLE_OBJC_ARC = YES;
330 CLANG_WARN_BOOL_CONVERSION = YES; 330 CLANG_WARN_BOOL_CONVERSION = YES;
331 CLANG_WARN_CONSTANT_CONVERSION = YES; 331 CLANG_WARN_CONSTANT_CONVERSION = YES;
332 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 332 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
333 CLANG_WARN_EMPTY_BODY = YES; 333 CLANG_WARN_EMPTY_BODY = YES;
334 CLANG_WARN_ENUM_CONVERSION = YES; 334 CLANG_WARN_ENUM_CONVERSION = YES;
335 CLANG_WARN_INT_CONVERSION = YES; 335 CLANG_WARN_INT_CONVERSION = YES;
336 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 336 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
337 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 337 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
338 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 338 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
339 COPY_PHASE_STRIP = YES; 339 COPY_PHASE_STRIP = YES;
340 ENABLE_TESTABILITY = YES; 340 ENABLE_TESTABILITY = YES;
341 GCC_C_LANGUAGE_STANDARD = gnu99; 341 GCC_C_LANGUAGE_STANDARD = gnu99;
342 GCC_DYNAMIC_NO_PIC = NO; 342 GCC_DYNAMIC_NO_PIC = NO;
343 GCC_OPTIMIZATION_LEVEL = 0; 343 GCC_OPTIMIZATION_LEVEL = 0;
344 GCC_PREPROCESSOR_DEFINITIONS = ( 344 GCC_PREPROCESSOR_DEFINITIONS = (
345 "DEBUG=1", 345 "DEBUG=1",
346 "$(inherited)", 346 "$(inherited)",
347 ); 347 );
348 GCC_SYMBOLS_PRIVATE_EXTERN = NO; 348 GCC_SYMBOLS_PRIVATE_EXTERN = NO;
349 GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 349 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
350 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 350 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
351 GCC_WARN_UNDECLARED_SELECTOR = YES; 351 GCC_WARN_UNDECLARED_SELECTOR = YES;
352 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 352 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
353 GCC_WARN_UNUSED_FUNCTION = YES; 353 GCC_WARN_UNUSED_FUNCTION = YES;
354 GCC_WARN_UNUSED_VARIABLE = YES; 354 GCC_WARN_UNUSED_VARIABLE = YES;
355 HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/**"; 355 HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/**";
356 IPHONEOS_DEPLOYMENT_TARGET = 8.4; 356 IPHONEOS_DEPLOYMENT_TARGET = 8.4;
357 ONLY_ACTIVE_ARCH = YES; 357 ONLY_ACTIVE_ARCH = YES;
358 SDKROOT = iphoneos; 358 SDKROOT = iphoneos;
359 }; 359 };
360 name = Debug; 360 name = Debug;
361 }; 361 };
362 9934F1D919303DC6005EF4AB /* Release */ = { 362 9934F1D919303DC6005EF4AB /* Release */ = {
363 isa = XCBuildConfiguration; 363 isa = XCBuildConfiguration;
364 buildSettings = { 364 buildSettings = {
365 ALWAYS_SEARCH_USER_PATHS = YES; 365 ALWAYS_SEARCH_USER_PATHS = YES;
366 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 366 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
367 CLANG_CXX_LIBRARY = "libc++"; 367 CLANG_CXX_LIBRARY = "libc++";
368 CLANG_ENABLE_MODULES = YES; 368 CLANG_ENABLE_MODULES = YES;
369 CLANG_ENABLE_OBJC_ARC = YES; 369 CLANG_ENABLE_OBJC_ARC = YES;
370 CLANG_WARN_BOOL_CONVERSION = YES; 370 CLANG_WARN_BOOL_CONVERSION = YES;
371 CLANG_WARN_CONSTANT_CONVERSION = YES; 371 CLANG_WARN_CONSTANT_CONVERSION = YES;
372 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 372 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
373 CLANG_WARN_EMPTY_BODY = YES; 373 CLANG_WARN_EMPTY_BODY = YES;
374 CLANG_WARN_ENUM_CONVERSION = YES; 374 CLANG_WARN_ENUM_CONVERSION = YES;
375 CLANG_WARN_INT_CONVERSION = YES; 375 CLANG_WARN_INT_CONVERSION = YES;
376 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 376 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
377 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 377 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
378 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 378 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
379 COPY_PHASE_STRIP = YES; 379 COPY_PHASE_STRIP = YES;
380 ENABLE_NS_ASSERTIONS = NO; 380 ENABLE_NS_ASSERTIONS = NO;
381 GCC_C_LANGUAGE_STANDARD = gnu99; 381 GCC_C_LANGUAGE_STANDARD = gnu99;
382 GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 382 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
383 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 383 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
384 GCC_WARN_UNDECLARED_SELECTOR = YES; 384 GCC_WARN_UNDECLARED_SELECTOR = YES;
385 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 385 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
386 GCC_WARN_UNUSED_FUNCTION = YES; 386 GCC_WARN_UNUSED_FUNCTION = YES;
387 GCC_WARN_UNUSED_VARIABLE = YES; 387 GCC_WARN_UNUSED_VARIABLE = YES;
388 HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/**"; 388 HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/**";
389 IPHONEOS_DEPLOYMENT_TARGET = 8.4; 389 IPHONEOS_DEPLOYMENT_TARGET = 8.4;
390 ONLY_ACTIVE_ARCH = YES; 390 ONLY_ACTIVE_ARCH = YES;
391 SDKROOT = iphoneos; 391 SDKROOT = iphoneos;
392 VALIDATE_PRODUCT = YES; 392 VALIDATE_PRODUCT = YES;
393 }; 393 };
394 name = Release; 394 name = Release;
395 }; 395 };
396 9934F1DB19303DC6005EF4AB /* Debug */ = { 396 9934F1DB19303DC6005EF4AB /* Debug */ = {
397 isa = XCBuildConfiguration; 397 isa = XCBuildConfiguration;
398 baseConfigurationReference = 27019DCB1A208B1500DA560D /* Project.xcconfig */; 398 baseConfigurationReference = 27019DCB1A208B1500DA560D /* Project.xcconfig */;
399 buildSettings = { 399 buildSettings = {
400 ALWAYS_SEARCH_USER_PATHS = YES; 400 ALWAYS_SEARCH_USER_PATHS = YES;
401 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 401 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
402 ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 402 ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
403 CODE_SIGN_IDENTITY = "iPhone Developer"; 403 CODE_SIGN_IDENTITY = "iPhone Developer";
404 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 404 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
405 CODE_SIGN_STYLE = Manual; 405 CODE_SIGN_STYLE = Manual;
406 DEVELOPMENT_TEAM = 295DL9M69R; 406 DEVELOPMENT_TEAM = NA5R6CY7V3;
407 ENABLE_BITCODE = NO; 407 ENABLE_BITCODE = NO;
408 FRAMEWORK_SEARCH_PATHS = ( 408 FRAMEWORK_SEARCH_PATHS = (
409 "$(PROJECT_DIR)/../**", 409 "$(PROJECT_DIR)/../**",
410 "$(PROJECT_DIR)/letsgameDemo", 410 "$(PROJECT_DIR)/letsgameDemo",
411 ); 411 );
412 GCC_PRECOMPILE_PREFIX_HEADER = YES; 412 GCC_PRECOMPILE_PREFIX_HEADER = YES;
413 GCC_PREFIX_HEADER = "letsgameDemo/GameSDKDemo-Prefix.pch"; 413 GCC_PREFIX_HEADER = "letsgameDemo/GameSDKDemo-Prefix.pch";
414 HEADER_SEARCH_PATHS = ( 414 HEADER_SEARCH_PATHS = (
415 "$(PROJECT_DIR)/../GameSDK.framework/**", 415 "$(PROJECT_DIR)/../GameSDK.framework/**",
416 "$(inherited)", 416 "$(inherited)",
417 "$(PROJECT_DIR)/letsgameDemo/**", 417 "$(PROJECT_DIR)/letsgameDemo/**",
418 "$(PROJECT_DIR)/../VKBridge.framework/**", 418 "$(PROJECT_DIR)/../VKBridge.framework/**",
419 "$(PROJECT_DIR)/../GameActivitySDK.framework/**", 419 "$(PROJECT_DIR)/../GameActivitySDK.framework/**",
420 ); 420 );
421 INFOPLIST_FILE = "letsgameDemo/letsgameDemo-Info.plist"; 421 INFOPLIST_FILE = "letsgameDemo/letsgameDemo-Info.plist";
422 IPHONEOS_DEPLOYMENT_TARGET = 7.0; 422 IPHONEOS_DEPLOYMENT_TARGET = 7.0;
423 LIBRARY_SEARCH_PATHS = ""; 423 LIBRARY_SEARCH_PATHS = "";
424 ONLY_ACTIVE_ARCH = YES; 424 ONLY_ACTIVE_ARCH = YES;
425 OTHER_LDFLAGS = "-ObjC"; 425 OTHER_LDFLAGS = "-ObjC";
426 PRIVATE_HEADERS_FOLDER_PATH = ""; 426 PRIVATE_HEADERS_FOLDER_PATH = "";
427 PRODUCT_BUNDLE_IDENTIFIER = com.dgb.yc66; 427 PRODUCT_BUNDLE_IDENTIFIER = com.game.GumpSDK;
428 PRODUCT_NAME = GameSDKDemo; 428 PRODUCT_NAME = GameSDKDemo;
429 PROVISIONING_PROFILE = "29f6538c-7a08-4d57-b4d3-b68933206e3f"; 429 PROVISIONING_PROFILE = "372cbec4-6feb-49c5-9ce3-54831ae1316f";
430 PROVISIONING_PROFILE_SPECIFIER = "iOS Development"; 430 PROVISIONING_PROFILE_SPECIFIER = comgameGumpSDKDev;
431 PUBLIC_HEADERS_FOLDER_PATH = ""; 431 PUBLIC_HEADERS_FOLDER_PATH = "";
432 WRAPPER_EXTENSION = app; 432 WRAPPER_EXTENSION = app;
433 }; 433 };
434 name = Debug; 434 name = Debug;
435 }; 435 };
436 9934F1DC19303DC6005EF4AB /* Release */ = { 436 9934F1DC19303DC6005EF4AB /* Release */ = {
437 isa = XCBuildConfiguration; 437 isa = XCBuildConfiguration;
438 baseConfigurationReference = 27019DCB1A208B1500DA560D /* Project.xcconfig */; 438 baseConfigurationReference = 27019DCB1A208B1500DA560D /* Project.xcconfig */;
439 buildSettings = { 439 buildSettings = {
440 ALWAYS_SEARCH_USER_PATHS = YES; 440 ALWAYS_SEARCH_USER_PATHS = YES;
441 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 441 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
442 ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 442 ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
443 CODE_SIGN_IDENTITY = "iPhone Developer"; 443 CODE_SIGN_IDENTITY = "iPhone Developer";
444 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; 444 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
445 CODE_SIGN_STYLE = Manual; 445 CODE_SIGN_STYLE = Manual;
446 DEVELOPMENT_TEAM = 295DL9M69R; 446 DEVELOPMENT_TEAM = NA5R6CY7V3;
447 ENABLE_BITCODE = NO; 447 ENABLE_BITCODE = NO;
448 FRAMEWORK_SEARCH_PATHS = ( 448 FRAMEWORK_SEARCH_PATHS = (
449 "$(PROJECT_DIR)/../**", 449 "$(PROJECT_DIR)/../**",
450 "$(PROJECT_DIR)/letsgameDemo", 450 "$(PROJECT_DIR)/letsgameDemo",
451 ); 451 );
452 GCC_PRECOMPILE_PREFIX_HEADER = YES; 452 GCC_PRECOMPILE_PREFIX_HEADER = YES;
453 GCC_PREFIX_HEADER = "letsgameDemo/GameSDKDemo-Prefix.pch"; 453 GCC_PREFIX_HEADER = "letsgameDemo/GameSDKDemo-Prefix.pch";
454 HEADER_SEARCH_PATHS = ( 454 HEADER_SEARCH_PATHS = (
455 "$(PROJECT_DIR)/../GameSDK.framework/**", 455 "$(PROJECT_DIR)/../GameSDK.framework/**",
456 "$(inherited)", 456 "$(inherited)",
457 "$(PROJECT_DIR)/letsgameDemo/**", 457 "$(PROJECT_DIR)/letsgameDemo/**",
458 "$(PROJECT_DIR)/../VKBridge.framework/**", 458 "$(PROJECT_DIR)/../VKBridge.framework/**",
459 "$(PROJECT_DIR)/../GameActivitySDK.framework/**", 459 "$(PROJECT_DIR)/../GameActivitySDK.framework/**",
460 ); 460 );
461 INFOPLIST_FILE = "letsgameDemo/letsgameDemo-Info.plist"; 461 INFOPLIST_FILE = "letsgameDemo/letsgameDemo-Info.plist";
462 IPHONEOS_DEPLOYMENT_TARGET = 7.0; 462 IPHONEOS_DEPLOYMENT_TARGET = 7.0;
463 LIBRARY_SEARCH_PATHS = ""; 463 LIBRARY_SEARCH_PATHS = "";
464 ONLY_ACTIVE_ARCH = YES; 464 ONLY_ACTIVE_ARCH = YES;
465 OTHER_LDFLAGS = "-ObjC"; 465 OTHER_LDFLAGS = "-ObjC";
466 PRIVATE_HEADERS_FOLDER_PATH = ""; 466 PRIVATE_HEADERS_FOLDER_PATH = "";
467 PRODUCT_BUNDLE_IDENTIFIER = com.dgb.yc66; 467 PRODUCT_BUNDLE_IDENTIFIER = com.game.GumpSDK;
468 PRODUCT_NAME = GameSDKDemo; 468 PRODUCT_NAME = GameSDKDemo;
469 PROVISIONING_PROFILE = "4f58b9c2-544a-46af-9746-9155e6c0c5cc"; 469 PROVISIONING_PROFILE = "372cbec4-6feb-49c5-9ce3-54831ae1316f";
470 PROVISIONING_PROFILE_SPECIFIER = Distribution; 470 PROVISIONING_PROFILE_SPECIFIER = comgameGumpSDKDev;
471 PUBLIC_HEADERS_FOLDER_PATH = ""; 471 PUBLIC_HEADERS_FOLDER_PATH = "";
472 WRAPPER_EXTENSION = app; 472 WRAPPER_EXTENSION = app;
473 }; 473 };
474 name = Release; 474 name = Release;
475 }; 475 };
476 /* End XCBuildConfiguration section */ 476 /* End XCBuildConfiguration section */
477 477
478 /* Begin XCConfigurationList section */ 478 /* Begin XCConfigurationList section */
479 9934F1A919303DC6005EF4AB /* Build configuration list for PBXProject "GameSDKDemo" */ = { 479 9934F1A919303DC6005EF4AB /* Build configuration list for PBXProject "GameSDKDemo" */ = {
480 isa = XCConfigurationList; 480 isa = XCConfigurationList;
481 buildConfigurations = ( 481 buildConfigurations = (
482 9934F1D819303DC6005EF4AB /* Debug */, 482 9934F1D819303DC6005EF4AB /* Debug */,
483 9934F1D919303DC6005EF4AB /* Release */, 483 9934F1D919303DC6005EF4AB /* Release */,
484 ); 484 );
485 defaultConfigurationIsVisible = 0; 485 defaultConfigurationIsVisible = 0;
486 defaultConfigurationName = Release; 486 defaultConfigurationName = Release;
487 }; 487 };
488 9934F1DA19303DC6005EF4AB /* Build configuration list for PBXNativeTarget "GameSDKDemo" */ = { 488 9934F1DA19303DC6005EF4AB /* Build configuration list for PBXNativeTarget "GameSDKDemo" */ = {
489 isa = XCConfigurationList; 489 isa = XCConfigurationList;
490 buildConfigurations = ( 490 buildConfigurations = (
491 9934F1DB19303DC6005EF4AB /* Debug */, 491 9934F1DB19303DC6005EF4AB /* Debug */,
492 9934F1DC19303DC6005EF4AB /* Release */, 492 9934F1DC19303DC6005EF4AB /* Release */,
493 ); 493 );
494 defaultConfigurationIsVisible = 0; 494 defaultConfigurationIsVisible = 0;
495 defaultConfigurationName = Release; 495 defaultConfigurationName = Release;
496 }; 496 };
497 /* End XCConfigurationList section */ 497 /* End XCConfigurationList section */
498 }; 498 };
499 rootObject = 9934F1A619303DC6005EF4AB /* Project object */; 499 rootObject = 9934F1A619303DC6005EF4AB /* Project object */;
500 } 500 }
501 501
ios/GameSDKDemo/GameSDKDemo.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ios/GameSDKDemo/letsgameDemo/LSGAppDelegate.m
1 // 1 //
2 // LSGAppDelegate.m 2 // LSGAppDelegate.m
3 // letsgameDemo 3 // letsgameDemo
4 // 4 //
5 // Created by zhy on 14-5-24. 5 // Created by zhy on 14-5-24.
6 // 6 //
7 // 7 //
8 8
9 #import "LSGAppDelegate.h" 9 #import "LSGAppDelegate.h"
10 #import "LSGMainViewController.h" 10 #import "LSGMainViewController.h"
11 #import "LetsGameAPI.h" 11 #import "LetsGameAPI.h"
12 #import "LetsGameActivityAPI.h" 12 #import "LetsGameActivityAPI.h"
13 13
14 @implementation LSGAppDelegate 14 @implementation LSGAppDelegate
15 15
16 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 16 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
17 { 17 {
18 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 18 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
19 // [LetsGameAPI DeviceOrientationIsHorizontal:NO]; 19 // [LetsGameAPI DeviceOrientationIsHorizontal:NO];
20 20
21 LSGMainViewController *viewController = [[LSGMainViewController alloc] init]; 21 LSGMainViewController *viewController = [[LSGMainViewController alloc] init];
22 self.window.rootViewController = viewController; 22 self.window.rootViewController = viewController;
23 [self.window addSubview:viewController.view]; 23 [self.window addSubview:viewController.view];
24 24
25 self.window.backgroundColor = [UIColor whiteColor]; 25 self.window.backgroundColor = [UIColor whiteColor];
26 [self.window makeKeyAndVisible]; 26 [self.window makeKeyAndVisible];
27 27
28 // [[LetsGameAPI instance] decideIsDebug:1]; 28 // [[LetsGameAPI instance] decideIsDebug:1];
29 [[LetsGameAPI instance] decideWebToVersion:1]; 29 [[LetsGameAPI instance] decideWebToVersion:1];
30 30
31 //显示是否侵权的接口 31 //显示是否侵权的接口
32 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { 32 [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) {
33 if (resultStatus) { 33 if (resultStatus) {
34 NSLog(@"YES 侵权"); 34 NSLog(@"YES 侵权");
35 }else{ 35 }else{
36 NSLog(@"NO 不侵权"); 36 NSLog(@"NO 不侵权");
37 } 37 }
38 }]; 38 }];
39
40 //微信登陆
41 // [[LetsGameAPI instance] registerAppWeChatWithAppId:@"100" appKey:@"f899139df5e1059396431415e770c6dd" Success:^{
42 // NSLog(@"注册成功");
43 // } failure:^{
44 // NSLog(@"注册失败");
45 // }];
46 39
47 [[UIApplication sharedApplication] setStatusBarHidden:YES]; 40 [[UIApplication sharedApplication] setStatusBarHidden:YES];
48 [[LetsGameAPI instance] registeIapObserver]; 41 [[LetsGameAPI instance] registeIapObserver];
49 42
50 return YES; 43 return YES;
51 } 44 }
52 45
53 - (void)applicationWillResignActive:(UIApplication *)application 46 - (void)applicationWillResignActive:(UIApplication *)application
54 { 47 {
55 // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 48 // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
56 // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 49 // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
57 } 50 }
58 51
59 - (void)applicationDidEnterBackground:(UIApplication *)application 52 - (void)applicationDidEnterBackground:(UIApplication *)application
60 { 53 {
61 // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 54 // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
62 // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 55 // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
63 } 56 }
64 57
65 - (void)applicationWillEnterForeground:(UIApplication *)application 58 - (void)applicationWillEnterForeground:(UIApplication *)application
66 { 59 {
67 // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 60 // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
68 } 61 }
69 62
70 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ 63 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
71 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; 64 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
72 //return [[LetsGameAPI instance].vkBridge processOpenURL:url fromApplication:sourceApplication]; 65 //return [[LetsGameAPI instance].vkBridge processOpenURL:url fromApplication:sourceApplication];
73 } 66 }
74 67
75 //-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ 68 //-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
76 // if([LetsGameActivityAPI instance].supportLandscape == YES){ 69 // if([LetsGameActivityAPI instance].supportLandscape == YES){
77 // return UIInterfaceOrientationMaskPortrait; 70 // return UIInterfaceOrientationMaskPortrait;
78 // }else{ 71 // }else{
79 // return UIInterfaceOrientationMaskLandscape; 72 // return UIInterfaceOrientationMaskLandscape;
80 // } 73 // }
81 //} 74 //}
82 75
83 @end 76 @end
84 77
ios/GameSDKDemo/letsgameDemo/LSGMainViewController.m
1 // 1 //
2 // LSGMainViewController.m 2 // LSGMainViewController.m
3 // letsgameDemo 3 // letsgameDemo
4 // 4 //
5 // Created by zhy on 14-5-24. 5 // Created by zhy on 14-5-24.
6 // 6 //
7 // 7 //
8 8
9 #import "LSGMainViewController.h" 9 #import "LSGMainViewController.h"
10 #import "LetsGameAPI.h" 10 #import "LetsGameAPI.h"
11 #import "LetsGameActivityAPI.h" 11 #import "LetsGameActivityAPI.h"
12 #import "VKBridge.h" 12 #import "VKBridge.h"
13 13
14 14
15 @interface LSGMainViewController () 15 @interface LSGMainViewController ()
16 16
17 @property (nonatomic, strong) UILabel *resultLabel; 17 @property (nonatomic, strong) UILabel *resultLabel;
18 18
19 @property(nonatomic,strong) UIButton *vkActivityShareBtn; 19 @property(nonatomic,strong) UIButton *vkActivityShareBtn;
20 20
21 @property(nonatomic,copy) NSString *sessionKey; 21 @property(nonatomic,copy) NSString *sessionKey;
22 @end 22 @end
23 23
24 @implementation LSGMainViewController 24 @implementation LSGMainViewController
25 25
26 - (void)loadView { 26 - (void)loadView {
27 [super loadView]; 27 [super loadView];
28 NSLog(@"i come in"); 28 NSLog(@"i come in");
29 self.view.backgroundColor = [UIColor whiteColor]; 29 self.view.backgroundColor = [UIColor whiteColor];
30 // self.view.backgroundColor = [UIColor blackColor]; 30 // self.view.backgroundColor = [UIColor blackColor];
31 31
32 UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 40, 100, 30)]; 32 UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 40, 100, 30)];
33 btn.backgroundColor = [UIColor orangeColor]; 33 btn.backgroundColor = [UIColor orangeColor];
34 [btn setTitle:@"测试入口" forState:UIControlStateNormal]; 34 [btn setTitle:@"测试入口" forState:UIControlStateNormal];
35 [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 35 [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
36 btn.titleLabel.font = [UIFont systemFontOfSize:15]; 36 btn.titleLabel.font = [UIFont systemFontOfSize:15];
37 [btn addTarget:self action:@selector(onClickTest) forControlEvents:UIControlEventTouchUpInside]; 37 [btn addTarget:self action:@selector(onClickTest) forControlEvents:UIControlEventTouchUpInside];
38 [self.view addSubview:btn]; 38 [self.view addSubview:btn];
39 39
40 40
41 41
42 UIButton *bindtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 100, 100, 30)]; 42 UIButton *bindtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 100, 100, 30)];
43 bindtn.backgroundColor = [UIColor orangeColor]; 43 bindtn.backgroundColor = [UIColor orangeColor];
44 [bindtn setTitle:@"退出账号" forState:UIControlStateNormal]; 44 [bindtn setTitle:@"退出账号" forState:UIControlStateNormal];
45 [bindtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 45 [bindtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
46 bindtn.titleLabel.font = [UIFont systemFontOfSize:15]; 46 bindtn.titleLabel.font = [UIFont systemFontOfSize:15];
47 [bindtn addTarget:self action:@selector(onLogoutTest) forControlEvents:UIControlEventTouchUpInside]; 47 [bindtn addTarget:self action:@selector(onLogoutTest) forControlEvents:UIControlEventTouchUpInside];
48 [self.view addSubview:bindtn]; 48 [self.view addSubview:bindtn];
49 49
50 UIButton *payBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 160, 100, 30)]; 50 UIButton *payBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 160, 100, 30)];
51 payBtn.backgroundColor = [UIColor orangeColor]; 51 payBtn.backgroundColor = [UIColor orangeColor];
52 [payBtn setTitle:@"支付" forState:UIControlStateNormal]; 52 [payBtn setTitle:@"支付" forState:UIControlStateNormal];
53 [payBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 53 [payBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
54 payBtn.titleLabel.font = [UIFont systemFontOfSize:15]; 54 payBtn.titleLabel.font = [UIFont systemFontOfSize:15];
55 [payBtn addTarget:self action:@selector(onPayTest) forControlEvents:UIControlEventTouchUpInside]; 55 [payBtn addTarget:self action:@selector(onPayTest) forControlEvents:UIControlEventTouchUpInside];
56 [self.view addSubview:payBtn]; 56 [self.view addSubview:payBtn];
57 57
58 UIButton *iapBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 220, 100, 30)]; 58 UIButton *iapBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 220, 100, 30)];
59 iapBtn.backgroundColor = [UIColor orangeColor]; 59 iapBtn.backgroundColor = [UIColor orangeColor];
60 [iapBtn setTitle:@"IAP" forState:UIControlStateNormal]; 60 [iapBtn setTitle:@"IAP" forState:UIControlStateNormal];
61 [iapBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 61 [iapBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
62 iapBtn.titleLabel.font = [UIFont systemFontOfSize:15]; 62 iapBtn.titleLabel.font = [UIFont systemFontOfSize:15];
63 [iapBtn addTarget:self action:@selector(onIapTest) forControlEvents:UIControlEventTouchUpInside]; 63 [iapBtn addTarget:self action:@selector(onIapTest) forControlEvents:UIControlEventTouchUpInside];
64 [self.view addSubview:iapBtn]; 64 [self.view addSubview:iapBtn];
65 65
66 UIButton *activityBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 320, 100, 30)]; 66 UIButton *activityBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 320, 100, 30)];
67 activityBtn.backgroundColor = [UIColor orangeColor]; 67 activityBtn.backgroundColor = [UIColor orangeColor];
68 [activityBtn setTitle:@"Activity" forState:UIControlStateNormal]; 68 [activityBtn setTitle:@"Activity" forState:UIControlStateNormal];
69 [activityBtn setTintColor:[UIColor whiteColor]]; 69 [activityBtn setTintColor:[UIColor whiteColor]];
70 activityBtn.titleLabel.font = [UIFont systemFontOfSize:15]; 70 activityBtn.titleLabel.font = [UIFont systemFontOfSize:15];
71 [activityBtn addTarget:self action:@selector(onActivity) forControlEvents:UIControlEventTouchUpInside]; 71 [activityBtn addTarget:self action:@selector(onActivity) forControlEvents:UIControlEventTouchUpInside];
72 [self.view addSubview:activityBtn]; 72 [self.view addSubview:activityBtn];
73 73
74 } 74 }
75 75
76 - (UILabel *)resultLabel { 76 - (UILabel *)resultLabel {
77 if (!_resultLabel) { 77 if (!_resultLabel) {
78 _resultLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.view.frame) - 90, self.view.frame.size.width, 60)]; 78 _resultLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.view.frame) - 90, self.view.frame.size.width, 60)];
79 _resultLabel.backgroundColor = [UIColor clearColor]; 79 _resultLabel.backgroundColor = [UIColor clearColor];
80 _resultLabel.textAlignment = NSTextAlignmentCenter; 80 _resultLabel.textAlignment = NSTextAlignmentCenter;
81 _resultLabel.textColor = [UIColor redColor]; 81 _resultLabel.textColor = [UIColor redColor];
82 _resultLabel.font = [UIFont systemFontOfSize:15]; 82 _resultLabel.font = [UIFont systemFontOfSize:15];
83 _resultLabel.numberOfLines = 4; 83 _resultLabel.numberOfLines = 4;
84 _resultLabel.lineBreakMode = NSLineBreakByWordWrapping; 84 _resultLabel.lineBreakMode = NSLineBreakByWordWrapping;
85 [self.view addSubview:_resultLabel]; 85 [self.view addSubview:_resultLabel];
86 } 86 }
87 87
88 return _resultLabel; 88 return _resultLabel;
89 } 89 }
90 90
91 91
92 - (void)onClickTest { 92 - (void)onClickTest {
93 93
94 [LetsGameAPI instance].appId = @"10105";//@"100";//10047 94 [LetsGameAPI instance].appId = @"100";
95 [LetsGameAPI instance].appKey = @"4c0a7bdd46ceb88d497eec5de360328e";//@"f899139df5e1059396431415e770c6dd";//eccd9f7dc92858b741132fda313130cf 95 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd";
96 [LetsGameAPI instance].channelId = @"1000"; 96 [LetsGameAPI instance].channelId = @"1000";
97 [LetsGameAPI hiddenLogo:YES]; 97 [LetsGameAPI hiddenLogo:YES];
98 // [LetsGameAPI disableFB:YES];
99 // [LetsGameAPI disableGoogle:YES];
100 // [LetsGameAPI disableLine:YES];
101 // [LetsGameAPI disableWeChat:YES];
102 NSLog(@"sdk version:%@",[[LetsGameAPI instance] version]); 98 NSLog(@"sdk version:%@",[[LetsGameAPI instance] version]);
103 //启用vk登录 99 //sdk login 初始化
104 VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; 100 [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) {
105 [LetsGameAPI instance].vkBridge = vkBridge; 101 if (result) {
106 102 NSLog(@"初始化成功");
107 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { 103 // [LetsGameAPI disableFB:YES];
108 self.sessionKey = sessionKey; 104 // [LetsGameAPI disableGoogle:YES];
109 self.resultLabel.text = [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %ld", userId, sessionKey, type]; 105 // [LetsGameAPI disableLine:YES];
110 }; 106 // [LetsGameAPI disableWeChat:YES];
111 [LetsGameAPI instance].dismissBlock = ^() { 107 //启用vk登录
112 //登录失败操作 108 VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"];
113 self.resultLabel.text = @"dismiss without login"; 109 [LetsGameAPI instance].vkBridge = vkBridge;
114 }; 110 //微信登陆
115 111 [[LetsGameAPI instance] registerAppWeChatOfSuccess:^{
116 [[LetsGameAPI instance] showLoginView]; 112 NSLog(@"注册成功");
113 } failure:^{
114 NSLog(@"注册失败");
115 }];
116
117 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
118 self.sessionKey = sessionKey;
119 self.resultLabel.text = [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %ld", userId, sessionKey, type];
120 };
121 [LetsGameAPI instance].dismissBlock = ^() {
122 //登录失败操作
123 self.resultLabel.text = @"dismiss without login";
124 };
125
126 [[LetsGameAPI instance] showLoginView];
127 }else{
128 NSLog(@"初始化失败");
129 }
130 }];
131
117 } 132 }
118 133
119 134
120 - (void)onLogoutTest { 135 - (void)onLogoutTest {
121 [LetsGameAPI instance].appId = @"10056"; 136 [LetsGameAPI instance].appId = @"10056";
122 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21"; 137 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21";
123 [[LetsGameAPI instance] logout]; 138 [[LetsGameAPI instance] logout];
124 139
125 } 140 }
126 141
127 -(void)onPayTest{ 142 -(void)onPayTest{
128 [LetsGameAPI instance].appId = @"10103";//@"10056";//10022 143 [LetsGameAPI instance].appId = @"10103";//@"10056";//10022
129 [LetsGameAPI instance].appKey = @"f53eb4122d5e2ce81a12093f8f9ce922";//@"b59c21a078fde074a6750e91ed19fb21";//93a27b0bd99bac3e68a440b48aa421ab 144 [LetsGameAPI instance].appKey = @"f53eb4122d5e2ce81a12093f8f9ce922";//@"b59c21a078fde074a6750e91ed19fb21";//93a27b0bd99bac3e68a440b48aa421ab
130 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 145 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
131 [payInfo setValue:@"s1" forKey:@"serverId"]; 146 [payInfo setValue:@"s1" forKey:@"serverId"];
132 [payInfo setValue:@"556553" forKey:@"roleId"]; 147 [payInfo setValue:@"556553" forKey:@"roleId"];
133 [payInfo setValue:@"1002" forKey:@"channelId"]; 148 [payInfo setValue:@"1002" forKey:@"channelId"];
134 [payInfo setValue:@"10" forKey:@"amount"]; 149 [payInfo setValue:@"10" forKey:@"amount"];
135 [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; 150 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
136 [payInfo setValue:@"wa2" forKey:@"product"]; 151 [payInfo setValue:@"wa2" forKey:@"product"];
137 [payInfo setValue:@"78b83666bd77c1e4c95442140672254d" forKey:@"sessionKey"]; //self.sessionKey 152 [payInfo setValue:@"78b83666bd77c1e4c95442140672254d" forKey:@"sessionKey"]; //self.sessionKey
138 // [[LetsGameAPI instance] pay:payInfo handleCallBack:^{ 153 // [[LetsGameAPI instance] pay:payInfo handleCallBack:^{
139 // NSLog(@"第三方支付完成"); 154 // NSLog(@"第三方支付完成");
140 // }]; 155 // }];
141 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ 156 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{
142 NSLog(@"第三方支付完成"); 157 NSLog(@"第三方支付完成");
143 }]; 158 }];
144 } 159 }
145 160
146 -(void)onIapTest{ 161 -(void)onIapTest{
147 162
148 [LetsGameAPI instance].appId = @"10056"; 163 [LetsGameAPI instance].appId = @"10056";
149 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21"; 164 [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21";
150 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 165 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
151 [payInfo setValue:@"5001" forKey:@"serverId"]; 166 [payInfo setValue:@"5001" forKey:@"serverId"];
152 [payInfo setValue:@"10010" forKey:@"roleId"]; 167 [payInfo setValue:@"10010" forKey:@"roleId"];
153 [payInfo setValue:@"1000" forKey:@"channelId"]; 168 [payInfo setValue:@"1000" forKey:@"channelId"];
154 [payInfo setValue:@"10" forKey:@"amount"]; 169 [payInfo setValue:@"10" forKey:@"amount"];
155 [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; 170 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
156 [payInfo setValue:@"test.product.1" forKey:@"product"]; 171 [payInfo setValue:@"test.product.1" forKey:@"product"];
157 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { 172 [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) {
158 //注意测试仅仅是通知客户端成功,但是还需要向服务器请求验证是否成功,以服务端验证为准 173 //注意测试仅仅是通知客户端成功,但是还需要向服务器请求验证是否成功,以服务端验证为准
159 NSLog(@"IAP completed orderId of Gumptech:%@",orderId); 174 NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
160 } failCallback:^(NSString *orderId) { 175 } failCallback:^(NSString *orderId) {
161 NSLog(@"IAP file orderId of Gumptech:%@",orderId); 176 NSLog(@"IAP file orderId of Gumptech:%@",orderId);
162 }]; 177 }];
163 } 178 }
164 179
165 -(void)onActivity{ 180 -(void)onActivity{
166 181
167 [[LetsGameActivityAPI instance] decideIsDebug:1]; 182 [[LetsGameActivityAPI instance] decideIsDebug:1];
168 // [LetsGameActivityAPI instance].supportLandscape = YES; 183 // [LetsGameActivityAPI instance].supportLandscape = YES;
169 // [[LetsGameActivityAPI instance] decideAllowRotate:1]; 184 // [[LetsGameActivityAPI instance] decideAllowRotate:1];
170 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; 185 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary];
171 [activityInfo setValue:@"100" forKey:@"appId"]; 186 [activityInfo setValue:@"100" forKey:@"appId"];
172 [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; 187 [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"];
173 [activityInfo setValue:@"123456" forKey:@"userId"]; 188 [activityInfo setValue:@"123456" forKey:@"userId"];
174 [activityInfo setValue:@"111" forKey:@"serverId"]; 189 [activityInfo setValue:@"111" forKey:@"serverId"];
175 [activityInfo setValue:@"aaa" forKey:@"serverName"]; 190 [activityInfo setValue:@"aaa" forKey:@"serverName"];
176 [activityInfo setValue:@"222" forKey:@"roleId"]; 191 [activityInfo setValue:@"222" forKey:@"roleId"];
177 [activityInfo setValue:@"ccc" forKey:@"roleName"]; 192 [activityInfo setValue:@"ccc" forKey:@"roleName"];
178 [activityInfo setValue:@"888" forKey:@"diamond"]; 193 [activityInfo setValue:@"888" forKey:@"diamond"];
179 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ 194 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{
180 NSLog(@"activity finish!"); 195 NSLog(@"activity finish!");
181 }]; 196 }];
182 } 197 }
183 198