Commit 9c951e2e3d00175d21806fc135214bead98fa1de
1 parent
050bf63310
Exists in
master
wechat登录删除,增加德语适配
Showing 11 changed files with 65 additions and 61 deletions Inline Diff
- IOSDocument.md
- README.md
- ios/GameSDK.framework/Versions/A/GameSDK
- ios/GameSDK.framework/Versions/A/Headers/LetsGameAPI.h
- ios/GameSDK.zip
- ios/GameSDKDemo/GameSDKDemo.xcodeproj/project.pbxproj
- ios/GameSDKDemo/GameSDKDemo.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
- ios/GameSDKDemo/letsgameDemo/LSGMainViewController.m
- ios/GameSDKResources.bundle/de.strings
- ios/GameSDKResources.bundle/zh-Hans.strings
- ios/GameSDKResources.bundle/zh-Hant.strings
IOSDocument.md
1 | # Gump IOS SDK使用文档 | 1 | # Gump IOS SDK使用文档 |
2 | 2 | ||
3 | 3 | ||
4 | 接入手册 | 4 | 接入手册 |
5 | V 3.5.23 | 5 | V 3.5.24 |
6 | 2018年9月6日 | 6 | 2018年9月20日 |
7 | 7 | ||
8 | ## 概述 | 8 | ## 概述 |
9 | #### 本SDK提供gump账号,fb账号,vk账号,Google帐号四种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 | 9 | #### 本SDK提供gump账号,fb账号,vk账号,Google帐号,line 登录四种账号登录,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: | ||
18 | libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework | ||
19 | 17 | ||
20 | 18 | ||
21 | ### 2、引入头文件,设置build setting | 19 | ### 2、引入头文件,设置build setting |
22 | 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 | 20 | 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 |
23 | 因sdk内使用了category,需要设置other linker flag为 -ObjC | 21 | 因sdk内使用了category,需要设置other linker flag为 -ObjC |
24 | 22 | ||
25 | 23 | ||
26 | ### 3、增加必要配置 | 24 | ### 3、增加必要配置 |
27 | 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: | 25 | 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: |
28 | 26 | ||
29 | return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; | 27 | return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; |
30 | 28 | ||
31 | 29 | ||
32 | 2)配置URL-schema(vk专用,不接入vk可忽略) | 30 | 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. | 31 | 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 |  | 32 |  |
35 | Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID | 33 | Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID |
36 |  | 34 |  |
37 | 3)配置URL-schema(weChat专用,不接入可以忽略) | ||
38 | 选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id | ||
39 | 选中“TARGETS”一栏,在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin和wechat | ||
40 | 35 | ||
41 | ### 4、在工程里添加SDK登录代码 | 36 | ### 4、在工程里添加SDK登录代码 |
42 | 37 | ||
43 | [LetsGameAPI instance].appId = @"100"; // 设置appId | 38 | [LetsGameAPI instance].appId = @"100"; // 设置appId |
44 | [LetsGameAPI instance].appKey = @"100"; // 设置appKey | 39 | [LetsGameAPI instance].appKey = @"100"; // 设置appKey |
45 | [LetsGameAPI instance].channelId = @"100"; //设置channelId | 40 | [LetsGameAPI instance].channelId = @"100"; //设置channelId |
46 | 41 | ||
47 | //sdk login 初始化 | 42 | //sdk login 初始化 |
48 | [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) { | 43 | [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) { |
49 | if (result) { | 44 | if (result) { |
50 | NSLog(@"初始化成功"); | 45 | NSLog(@"初始化成功"); |
51 | //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 | 46 | //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 |
52 | VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; | 47 | VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; |
53 | [LetsGameAPI instance].vkBridge = vkBridge; | 48 | [LetsGameAPI instance].vkBridge = vkBridge; |
54 | //启用wechat的代码,需要注册,若不接入wechat,可以忽略 | ||
55 | [[LetsGameAPI instance] registerAppWeChatOfSuccess:^{ | ||
56 | NSLog(@"注册成功"); | ||
57 | } failure:^{ | ||
58 | NSLog(@"注册失败"); | ||
59 | }]; | ||
60 | //隐藏fb登录 | 49 | //隐藏fb登录 |
61 | [LetsGameAPI disableFB:YES]; | 50 | [LetsGameAPI disableFB:YES]; |
62 | //隐藏Google登录 | 51 | //隐藏Google登录 |
63 | [LetsGameAPI disableGoogle:YES]; | 52 | [LetsGameAPI disableGoogle:YES]; |
64 | //隐藏gumptech的logo | 53 | //隐藏gumptech的logo |
65 | [LetsGameAPI hiddenLogo:YES]; | 54 | [LetsGameAPI hiddenLogo:YES]; |
66 | //隐藏line登录 | 55 | //隐藏line登录 |
67 | [LetsGameAPI disableLine:YES]; | 56 | [LetsGameAPI disableLine:YES]; |
68 | //隐藏wechat登录 | ||
69 | [LetsGameAPI disableWeChat:YES]; | ||
70 | 57 | ||
71 | [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 | 58 | [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 |
72 | 59 | ||
73 | // 登录成功回调 | 60 | // 登录成功回调 |
74 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { | 61 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { |
75 | NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); | 62 | NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); |
76 | }; | 63 | }; |
77 | 64 | ||
78 | // 登录失败回调,需要游戏自己处理 | 65 | // 登录失败回调,需要游戏自己处理 |
79 | [LetsGameAPI instance].dismissBlock = ^() { | 66 | [LetsGameAPI instance].dismissBlock = ^() { |
80 | NSLog(@"dismiss without login"); | 67 | NSLog(@"dismiss without login"); |
81 | }; | 68 | }; |
82 | }else{ | 69 | }else{ |
83 | NSLog(@"初始化失败"); | 70 | NSLog(@"初始化失败"); |
84 | }]; | 71 | }]; |
85 | 72 | ||
86 | 73 | ||
87 | 74 | ||
88 | 75 | ||
89 | ### 5、登录注销 | 76 | ### 5、登录注销 |
90 | 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。 | 77 | 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。 |
91 | 78 | ||
92 | [LetsGameAPI instance].appId = @"100";//设置appId | 79 | [LetsGameAPI instance].appId = @"100";//设置appId |
93 | [LetsGameAPI instance].appKey = @"100";//设置appkey | 80 | [LetsGameAPI instance].appKey = @"100";//设置appkey |
94 | [[LetsGameAPI instance] logout]; //注销 | 81 | [[LetsGameAPI instance] logout]; //注销 |
95 | 82 | ||
96 | 83 | ||
97 | ### 6、第三方支付 | 84 | ### 6、第三方支付 |
98 | [LetsGameAPI instance].appId = @"10022"; | 85 | [LetsGameAPI instance].appId = @"10022"; |
99 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; | 86 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; |
100 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | 87 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; |
101 | [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 | 88 | [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 |
102 | [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id | 89 | [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id |
103 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id | 90 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id |
104 | [payInfo setValue:@"10" forKey:@"amount"];//金额 | 91 | [payInfo setValue:@"10" forKey:@"amount"];//金额 |
105 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 | 92 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 |
106 | [payInfo setValue:@"元宝" forKey:@"product"];//物品ID | 93 | [payInfo setValue:@"元宝" forKey:@"product"];//物品ID |
107 | [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey | 94 | [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey |
108 | [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ | 95 | [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ |
109 | //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 | 96 | //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 |
110 | NSLog(@"第三方支付完成"); | 97 | NSLog(@"第三方支付完成"); |
111 | }]]; | 98 | }]]; |
112 | 99 | ||
113 | ### 7、IAP支付 | 100 | ### 7、IAP支付 |
114 | 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 | 101 | 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 |
115 | 102 | ||
116 | [[LetsGameAPI instance] registeIapObserver]; | 103 | [[LetsGameAPI instance] registeIapObserver]; |
117 | 具体调用iap支付的方法如下: | 104 | 具体调用iap支付的方法如下: |
118 | 105 | ||
119 | [LetsGameAPI instance].appId = @"10022"; | 106 | [LetsGameAPI instance].appId = @"10022"; |
120 | [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; | 107 | [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; |
121 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | 108 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; |
122 | [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id | 109 | [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id |
123 | [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id | 110 | [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id |
124 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 | 111 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 |
125 | [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 | 112 | [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 |
126 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 | 113 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 |
127 | [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId | 114 | [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId |
128 | [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { | 115 | [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { |
129 | //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 | 116 | //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 |
130 | //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 | 117 | //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 |
131 | NSLog(@"IAP completed orderId of Gumptech:%@",orderId); | 118 | NSLog(@"IAP completed orderId of Gumptech:%@",orderId); |
132 | } failCallback:^(NSString *orderId) { | 119 | } failCallback:^(NSString *orderId) { |
133 | //支付失败 | 120 | //支付失败 |
134 | NSLog(@"IAP file orderId of Gumptech:%@",orderId); | 121 | NSLog(@"IAP file orderId of Gumptech:%@",orderId); |
135 | }]; | 122 | }]; |
136 | ### 8、token的获取 | 123 | ### 8、token的获取 |
137 | FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。 | 124 | FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。 |
138 | 125 | ||
139 | //tokenString:token字符串 | 126 | //tokenString:token字符串 |
140 | //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间 | 127 | //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间 |
141 | //expirationTime:expirationTime token最后的有效时间 | 128 | //expirationTime:expirationTime token最后的有效时间 |
142 | [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) { | 129 | [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) { |
143 | NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime); | 130 | NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime); |
144 | } failure:^(NSString *errorString) { | 131 | } failure:^(NSString *errorString) { |
145 | NSLog(@"get token faile"); | 132 | NSLog(@"get token faile"); |
146 | }]; | 133 | }]; |
147 | 134 | ||
148 | 135 | ||
149 | ### 9、第三方支付版本 | 136 | ### 9、第三方支付版本 |
150 | 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置: | 137 | 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置: |
151 | 138 | ||
152 | 需要在 application:didFinishLaunchingWithOptions方法中添加: | 139 | 需要在 application:didFinishLaunchingWithOptions方法中添加: |
153 | 140 | ||
154 | [[LetsGameAPI instance] decideWebToVersion:1] | 141 | [[LetsGameAPI instance] decideWebToVersion:1] |
155 | 142 | ||
156 | 143 | ||
157 | ### 10、关于侵权还是侵权的接口显示 | 144 | ### 10、关于侵权还是侵权的接口显示 |
158 | 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。 | 145 | 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。 |
159 | 146 | ||
160 | 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。 | 147 | 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。 |
161 | 148 | ||
162 | [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { | 149 | [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { |
163 | if (resultStatus) { | 150 | if (resultStatus) { |
164 | NSLog(@"YES 侵权"); | 151 | NSLog(@"YES 侵权"); |
165 | }else{ | 152 | }else{ |
166 | NSLog(@"NO 不侵权"); | 153 | NSLog(@"NO 不侵权"); |
167 | } | 154 | } |
168 | }]; | 155 | }]; |
169 | ### 11、横竖屏设置 | 156 | ### 11、横竖屏设置 |
170 | 157 | ||
171 | 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。 | 158 | 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。 |
172 | 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法: | 159 | 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法: |
173 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置: | 160 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置: |
174 | 161 | ||
175 | [LetsGameAPI DeviceOrientationIsHorizontal:NO]; | 162 | [LetsGameAPI DeviceOrientationIsHorizontal:NO]; |
176 | 163 | ||
177 | 164 | ||
178 | 165 | ||
179 | 166 | ||
180 | ### 12、CocoaPods集成 | 167 | ### 12、CocoaPods集成 |
181 | 集成项目的.framework和bundle,但是vk登录封装的VK.framework,需要自己手动添加。 | 168 | 集成项目的.framework和bundle,但是vk登录封装的VK.framework,需要自己手动添加。 |
182 | ``` | 169 | ``` |
183 | pod 'GameSDK', '~> 3.5.5' | 170 | pod 'GameSDK', '~> 3.5.5' |
184 | ``` | 171 | ``` |
185 | 172 | ||
186 | ### 13、活动添加 | 173 | ### 13、活动添加 |
187 | 添加项目GameActivitySDK.framework | 174 | 添加项目GameActivitySDK.framework |
188 | 设置:设置xxxx.plist | 175 | 设置:设置xxxx.plist |
189 | 只支持HTTP的方式,需要将相应的项目的xxx.plist添加Information Property List->App Transport Security Settings -> Allow Arbitrary Loads设置为YES | 176 | 只支持HTTP的方式,需要将相应的项目的xxx.plist添加Information Property List->App Transport Security Settings -> Allow Arbitrary Loads设置为YES |
190 | 177 | ||
191 | 工程中添加SDK登录代码: | 178 | 工程中添加SDK登录代码: |
192 | 179 | ||
193 | NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; | 180 | NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; |
194 | [activityInfo setValue:@"100" forKey:@"appId"]; | 181 | [activityInfo setValue:@"100" forKey:@"appId"]; |
195 | [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; | 182 | [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; |
196 | [activityInfo setValue:@"123456" forKey:@"userId"]; | 183 | [activityInfo setValue:@"123456" forKey:@"userId"]; |
197 | [activityInfo setValue:@"111" forKey:@"serverId"]; | 184 | [activityInfo setValue:@"111" forKey:@"serverId"]; |
198 | [activityInfo setValue:@"aaa" forKey:@"serverName"]; | 185 | [activityInfo setValue:@"aaa" forKey:@"serverName"]; |
199 | [activityInfo setValue:@"222" forKey:@"roleId"]; | 186 | [activityInfo setValue:@"222" forKey:@"roleId"]; |
200 | [activityInfo setValue:@"ccc" forKey:@"roleName"]; | 187 | [activityInfo setValue:@"ccc" forKey:@"roleName"]; |
201 | [activityInfo setValue:@"888" forKey:@"diamond"]; | 188 | [activityInfo setValue:@"888" forKey:@"diamond"]; |
202 | //活动关闭的回调 | 189 | //活动关闭的回调 |
203 | [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ | 190 | [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ |
204 | NSLog(@"activity finish!"); | 191 | NSLog(@"activity finish!"); |
205 | }]; | 192 | }]; |
206 | 193 |
README.md
1 | # Gump IOS SDK使用文档 | 1 | # Gump IOS SDK使用文档 |
2 | 2 | ||
3 | 3 | ||
4 | 接入手册 | 4 | 接入手册 |
5 | V 3.5.23 | 5 | V 3.5.24 |
6 | 2018年9月6日 | 6 | 2018年9月20日 |
7 | 7 | ||
8 | ## 概述 | 8 | ## 概述 |
9 | #### 本SDK提供gump账号,fb账号,vk账号,Google帐号四种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 | 9 | #### 本SDK提供gump账号,fb账号,vk账号,Google帐号,line 登录四种账号登录,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: | ||
18 | libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework | ||
19 | 17 | ||
20 | 18 | ||
21 | ### 2、引入头文件,设置build setting | 19 | ### 2、引入头文件,设置build setting |
22 | 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 | 20 | 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 |
23 | 因sdk内使用了category,需要设置other linker flag为 -ObjC | 21 | 因sdk内使用了category,需要设置other linker flag为 -ObjC |
24 | 22 | ||
25 | 23 | ||
26 | ### 3、增加必要配置 | 24 | ### 3、增加必要配置 |
27 | 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: | 25 | 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: |
28 | 26 | ||
29 | return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; | 27 | return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; |
30 | 28 | ||
31 | 29 | ||
32 | 2)配置URL-schema(vk专用,不接入vk可忽略) | 30 | 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. | 31 | 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 |  | 32 |  |
35 | Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID | 33 | Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID |
36 |  | 34 |  |
37 | 3)配置URL-schema(weChat专用,不接入可以忽略) | ||
38 | 选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id | ||
39 | 选中“TARGETS”一栏,在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin和wechat | ||
40 | 35 | ||
41 | ### 4、在工程里添加SDK登录代码 | 36 | ### 4、在工程里添加SDK登录代码 |
42 | 37 | ||
43 | [LetsGameAPI instance].appId = @"100"; // 设置appId | 38 | [LetsGameAPI instance].appId = @"100"; // 设置appId |
44 | [LetsGameAPI instance].appKey = @"100"; // 设置appKey | 39 | [LetsGameAPI instance].appKey = @"100"; // 设置appKey |
45 | [LetsGameAPI instance].channelId = @"100"; //设置channelId | 40 | [LetsGameAPI instance].channelId = @"100"; //设置channelId |
46 | 41 | ||
47 | //sdk login 初始化 | 42 | //sdk login 初始化 |
48 | [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) { | 43 | [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) { |
49 | if (result) { | 44 | if (result) { |
50 | NSLog(@"初始化成功"); | 45 | NSLog(@"初始化成功"); |
51 | //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 | 46 | //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 |
52 | VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; | 47 | VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; |
53 | [LetsGameAPI instance].vkBridge = vkBridge; | 48 | [LetsGameAPI instance].vkBridge = vkBridge; |
54 | //启用wechat的代码,需要注册,若不接入wechat,可以忽略 | 49 | //隐藏fb登录 |
55 | [[LetsGameAPI instance] registerAppWeChatOfSuccess:^{ | ||
56 | NSLog(@"注册成功"); | ||
57 | } failure:^{ | ||
58 | NSLog(@"注册失败"); | ||
59 | }]; | ||
60 | //隐藏fb登录 | ||
61 | [LetsGameAPI disableFB:YES]; | 50 | [LetsGameAPI disableFB:YES]; |
62 | //隐藏Google登录 | 51 | //隐藏Google登录 |
63 | [LetsGameAPI disableGoogle:YES]; | 52 | [LetsGameAPI disableGoogle:YES]; |
64 | //隐藏gumptech的logo | 53 | //隐藏gumptech的logo |
65 | [LetsGameAPI hiddenLogo:YES]; | 54 | [LetsGameAPI hiddenLogo:YES]; |
66 | //隐藏line登录 | 55 | //隐藏line登录 |
67 | [LetsGameAPI disableLine:YES]; | 56 | [LetsGameAPI disableLine:YES]; |
68 | //隐藏wechat登录 | ||
69 | [LetsGameAPI disableWeChat:YES]; | ||
70 | 57 | ||
71 | [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 | 58 | [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 |
72 | 59 | ||
73 | // 登录成功回调 | 60 | // 登录成功回调 |
74 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { | 61 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { |
75 | NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); | 62 | NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); |
76 | }; | 63 | }; |
77 | 64 | ||
78 | // 登录失败回调,需要游戏自己处理 | 65 | // 登录失败回调,需要游戏自己处理 |
79 | [LetsGameAPI instance].dismissBlock = ^() { | 66 | [LetsGameAPI instance].dismissBlock = ^() { |
80 | NSLog(@"dismiss without login"); | 67 | NSLog(@"dismiss without login"); |
81 | }; | 68 | }; |
82 | }else{ | 69 | }else{ |
83 | NSLog(@"初始化失败"); | 70 | NSLog(@"初始化失败"); |
84 | }]; | 71 | }]; |
85 | 72 | ||
86 | 73 | ||
87 | 74 | ||
88 | 75 | ||
89 | ### 5、登录注销 | 76 | ### 5、登录注销 |
90 | 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。 | 77 | 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。 |
91 | 78 | ||
92 | [LetsGameAPI instance].appId = @"100";//设置appId | 79 | [LetsGameAPI instance].appId = @"100";//设置appId |
93 | [LetsGameAPI instance].appKey = @"100";//设置appkey | 80 | [LetsGameAPI instance].appKey = @"100";//设置appkey |
94 | [[LetsGameAPI instance] logout]; //注销 | 81 | [[LetsGameAPI instance] logout]; //注销 |
95 | 82 | ||
96 | 83 | ||
97 | ### 6、第三方支付 | 84 | ### 6、第三方支付 |
98 | [LetsGameAPI instance].appId = @"10022"; | 85 | [LetsGameAPI instance].appId = @"10022"; |
99 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; | 86 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; |
100 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | 87 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; |
101 | [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 | 88 | [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 |
102 | [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id | 89 | [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id |
103 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id | 90 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id |
104 | [payInfo setValue:@"10" forKey:@"amount"];//金额 | 91 | [payInfo setValue:@"10" forKey:@"amount"];//金额 |
105 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 | 92 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 |
106 | [payInfo setValue:@"元宝" forKey:@"product"];//物品ID | 93 | [payInfo setValue:@"元宝" forKey:@"product"];//物品ID |
107 | [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey | 94 | [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey |
108 | [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ | 95 | [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ |
109 | //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 | 96 | //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 |
110 | NSLog(@"第三方支付完成"); | 97 | NSLog(@"第三方支付完成"); |
111 | }]]; | 98 | }]]; |
112 | 99 | ||
113 | ### 7、IAP支付 | 100 | ### 7、IAP支付 |
114 | 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 | 101 | 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 |
115 | 102 | ||
116 | [[LetsGameAPI instance] registeIapObserver]; | 103 | [[LetsGameAPI instance] registeIapObserver]; |
117 | 具体调用iap支付的方法如下: | 104 | 具体调用iap支付的方法如下: |
118 | 105 | ||
119 | [LetsGameAPI instance].appId = @"10022"; | 106 | [LetsGameAPI instance].appId = @"10022"; |
120 | [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; | 107 | [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; |
121 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | 108 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; |
122 | [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id | 109 | [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id |
123 | [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id | 110 | [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id |
124 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 | 111 | [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 |
125 | [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 | 112 | [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 |
126 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 | 113 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 |
127 | [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId | 114 | [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId |
128 | [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { | 115 | [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { |
129 | //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 | 116 | //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 |
130 | //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 | 117 | //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 |
131 | NSLog(@"IAP completed orderId of Gumptech:%@",orderId); | 118 | NSLog(@"IAP completed orderId of Gumptech:%@",orderId); |
132 | } failCallback:^(NSString *orderId) { | 119 | } failCallback:^(NSString *orderId) { |
133 | //支付失败 | 120 | //支付失败 |
134 | NSLog(@"IAP file orderId of Gumptech:%@",orderId); | 121 | NSLog(@"IAP file orderId of Gumptech:%@",orderId); |
135 | }]; | 122 | }]; |
136 | ### 8、token的获取 | 123 | ### 8、token的获取 |
137 | FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。 | 124 | FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。 |
138 | 125 | ||
139 | //tokenString:token字符串 | 126 | //tokenString:token字符串 |
140 | //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间 | 127 | //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间 |
141 | //expirationTime:expirationTime token最后的有效时间 | 128 | //expirationTime:expirationTime token最后的有效时间 |
142 | [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) { | 129 | [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) { |
143 | NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime); | 130 | NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime); |
144 | } failure:^(NSString *errorString) { | 131 | } failure:^(NSString *errorString) { |
145 | NSLog(@"get token faile"); | 132 | NSLog(@"get token faile"); |
146 | }]; | 133 | }]; |
147 | 134 | ||
148 | 135 | ||
149 | ### 9、第三方支付版本 | 136 | ### 9、第三方支付版本 |
150 | 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置: | 137 | 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置: |
151 | 138 | ||
152 | 需要在 application:didFinishLaunchingWithOptions方法中添加: | 139 | 需要在 application:didFinishLaunchingWithOptions方法中添加: |
153 | 140 | ||
154 | [[LetsGameAPI instance] decideWebToVersion:1] | 141 | [[LetsGameAPI instance] decideWebToVersion:1] |
155 | 142 | ||
156 | 143 | ||
157 | ### 10、关于侵权还是侵权的接口显示 | 144 | ### 10、关于侵权还是侵权的接口显示 |
158 | 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。 | 145 | 运营在后台配置此包名和版本在什么时候显示侵权内容还是不侵权内容,此接口调用需要在游戏才开始加载的时候调用,返回值是YES的时候显示侵权内容,在NO的时候显示不侵权内容。 |
159 | 146 | ||
160 | 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。 | 147 | 注意:关于运营配置的游戏的版本号,我们默认取的是Bulid版本号的值,请注意。 |
161 | 148 | ||
162 | [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { | 149 | [[LetsGameAPI instance] gameObtainSafeSetInfoWithAppId:@"10056" ChannelId:@"1000" handleCallBack:^(BOOL resultStatus) { |
163 | if (resultStatus) { | 150 | if (resultStatus) { |
164 | NSLog(@"YES 侵权"); | 151 | NSLog(@"YES 侵权"); |
165 | }else{ | 152 | }else{ |
166 | NSLog(@"NO 不侵权"); | 153 | NSLog(@"NO 不侵权"); |
167 | } | 154 | } |
168 | }]; | 155 | }]; |
169 | ### 11、横竖屏设置 | 156 | ### 11、横竖屏设置 |
170 | 157 | ||
171 | 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。 | 158 | 首先设置SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。 |
172 | 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法: | 159 | 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法: |
173 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置: | 160 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置: |
174 | 161 | ||
175 | [LetsGameAPI DeviceOrientationIsHorizontal:NO]; | 162 | [LetsGameAPI DeviceOrientationIsHorizontal:NO]; |
176 | 163 | ||
177 | 164 | ||
178 | 165 | ||
179 | 166 | ||
180 | ### 12、CocoaPods集成 | 167 | ### 12、CocoaPods集成 |
181 | 集成项目的.framework和bundle,但是vk登录封装的VK.framework,需要自己手动添加。 | 168 | 集成项目的.framework和bundle,但是vk登录封装的VK.framework,需要自己手动添加。 |
182 | ``` | 169 | ``` |
183 | pod 'GameSDK', '~> 3.5.5' | 170 | pod 'GameSDK', '~> 3.5.5' |
184 | ``` | 171 | ``` |
185 | 172 | ||
186 | ### 13、活动添加 | 173 | ### 13、活动添加 |
187 | 添加项目GameActivitySDK.framework | 174 | 添加项目GameActivitySDK.framework |
188 | 设置:设置xxxx.plist | 175 | 设置:设置xxxx.plist |
189 | 只支持HTTP的方式,需要将相应的项目的xxx.plist添加Information Property List->App Transport Security Settings -> Allow Arbitrary Loads设置为YES | 176 | 只支持HTTP的方式,需要将相应的项目的xxx.plist添加Information Property List->App Transport Security Settings -> Allow Arbitrary Loads设置为YES |
190 | 177 | ||
191 | 工程中添加SDK登录代码: | 178 | 工程中添加SDK登录代码: |
192 | 179 | ||
193 | NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; | 180 | NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; |
194 | [activityInfo setValue:@"100" forKey:@"appId"]; | 181 | [activityInfo setValue:@"100" forKey:@"appId"]; |
195 | [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; | 182 | [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; |
196 | [activityInfo setValue:@"123456" forKey:@"userId"]; | 183 | [activityInfo setValue:@"123456" forKey:@"userId"]; |
197 | [activityInfo setValue:@"111" forKey:@"serverId"]; | 184 | [activityInfo setValue:@"111" forKey:@"serverId"]; |
198 | [activityInfo setValue:@"aaa" forKey:@"serverName"]; | 185 | [activityInfo setValue:@"aaa" forKey:@"serverName"]; |
199 | [activityInfo setValue:@"222" forKey:@"roleId"]; | 186 | [activityInfo setValue:@"222" forKey:@"roleId"]; |
200 | [activityInfo setValue:@"ccc" forKey:@"roleName"]; | 187 | [activityInfo setValue:@"ccc" forKey:@"roleName"]; |
201 | [activityInfo setValue:@"888" forKey:@"diamond"]; | 188 | [activityInfo setValue:@"888" forKey:@"diamond"]; |
202 | //活动关闭的回调 | 189 | //活动关闭的回调 |
203 | [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ | 190 | [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ |
204 | NSLog(@"activity finish!"); | 191 | NSLog(@"activity finish!"); |
205 | }]; | 192 | }]; |
206 | 193 |
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; | ||
17 | |||
18 | static BOOL isDisableGoogle = NO; | 16 | static BOOL isDisableGoogle = NO; |
19 | 17 | ||
20 | static BOOL hiddenLogo = NO; | 18 | static BOOL hiddenLogo = NO; |
21 | 19 | ||
22 | //默认横屏 | 20 | //默认横屏 |
23 | static BOOL DeviceOrientationIsHorizontal = YES; | 21 | static BOOL DeviceOrientationIsHorizontal = YES; |
24 | 22 | ||
25 | static NSString *version = @"3.5.23"; | 23 | static NSString *version = @"3.5.24"; |
26 | 24 | ||
27 | @interface LetsGameAPI : NSObject<UIApplicationDelegate> | 25 | @interface LetsGameAPI : NSObject<UIApplicationDelegate> |
28 | 26 | ||
29 | @property (nonatomic, strong) NSString *appId; | 27 | @property (nonatomic, strong) NSString *appId; |
30 | @property (nonatomic, strong) NSString *appKey; | 28 | @property (nonatomic, strong) NSString *appKey; |
31 | @property(nonatomic, strong) NSString *channelId; | 29 | @property(nonatomic, strong) NSString *channelId; |
32 | @property (nonatomic, copy) LSGLoginSuccBlock succBlock; | 30 | @property (nonatomic, copy) LSGLoginSuccBlock succBlock; |
33 | @property (nonatomic, copy) LSGDismissBlock dismissBlock; | 31 | @property (nonatomic, copy) LSGDismissBlock dismissBlock; |
34 | @property (nonatomic, assign) int isDebug; | 32 | @property (nonatomic, assign) int isDebug; |
35 | @property (nonatomic, assign) int decideWebTo; | 33 | @property (nonatomic, assign) int decideWebTo; |
36 | @property (nonatomic,retain) id<VKBridgeProtocol> vkBridge; | 34 | @property (nonatomic,retain) id<VKBridgeProtocol> vkBridge; |
37 | //@property(nonatomic,strong) NSString *version; | 35 | //@property(nonatomic,strong) NSString *version; |
38 | 36 | ||
39 | + (instancetype)instance; | 37 | + (instancetype)instance; |
40 | 38 | ||
41 | -(NSString*)version; | 39 | -(NSString*)version; |
42 | - (void)SDKLoginInitofResponse:(void (^)(BOOL result))response; | 40 | - (void)SDKLoginInitofResponse:(void (^)(BOOL result))response; |
43 | - (void)showLoginView; | 41 | - (void)showLoginView; |
44 | - (void)showLoginViewInView:(UIView *)view; | 42 | - (void)showLoginViewInView:(UIView *)view; |
45 | 43 | ||
46 | +(void)disableFB:(BOOL)isDisable; | 44 | +(void)disableFB:(BOOL)isDisable; |
47 | +(void)disableGoogle:(BOOL)isDisable; | 45 | +(void)disableGoogle:(BOOL)isDisable; |
48 | +(void)disableWeChat:(BOOL)isDisable; | ||
49 | +(void)disableLine:(BOOL)isDissable; | 46 | +(void)disableLine:(BOOL)isDissable; |
50 | +(BOOL)isFBDisable; | 47 | +(BOOL)isFBDisable; |
51 | +(BOOL)isVKEnable; | 48 | +(BOOL)isVKEnable; |
52 | +(BOOL)isWeChatDisable; | ||
53 | +(BOOL)isGoogleDisable; | 49 | +(BOOL)isGoogleDisable; |
54 | +(BOOL)isLineDisable; | 50 | +(BOOL)isLineDisable; |
55 | +(void)hiddenLogo:(BOOL)isHidden; | 51 | +(void)hiddenLogo:(BOOL)isHidden; |
56 | +(BOOL)isHiddenLogo; | 52 | +(BOOL)isHiddenLogo; |
57 | +(void)DeviceOrientationIsHorizontal:(BOOL)isDisable; | 53 | +(void)DeviceOrientationIsHorizontal:(BOOL)isDisable; |
58 | +(BOOL)DeviceOrientationIsHorizontal; | 54 | +(BOOL)DeviceOrientationIsHorizontal; |
59 | 55 | ||
60 | - (void)logout; | 56 | - (void)logout; |
61 | 57 | ||
62 | - (void)hide; | 58 | - (void)hide; |
63 | //是否安装微信 | ||
64 | -(BOOL)isWeChatInstall; | ||
65 | //向微信注册应用 | ||
66 | -(void)registerAppWeChatOfSuccess:(void (^)())success | ||
67 | failure:(void (^)())failure; | ||
68 | 59 | ||
69 | - (BOOL)handleOpenURL:(NSURL *)url | 60 | - (BOOL)handleOpenURL:(NSURL *)url |
70 | sourceApplication:(NSString *)sourceApplication; | 61 | sourceApplication:(NSString *)sourceApplication; |
71 | 62 | ||
72 | -(void)pWeb:(NSDictionary*) pWebInfo handleCallBack:(void (^)()) pWebAccomplistCallback; | 63 | -(void)pWeb:(NSDictionary*) pWebInfo handleCallBack:(void (^)()) pWebAccomplistCallback; |
73 | 64 | ||
74 | -(void)iap:(NSDictionary*) payInfo forUser:(NSString*) uid succCallback:(void (^)(NSString* orderId)) succCallback failCallback:(void (^)(NSString* orderId)) failCallback; | 65 | -(void)iap:(NSDictionary*) payInfo forUser:(NSString*) uid succCallback:(void (^)(NSString* orderId)) succCallback failCallback:(void (^)(NSString* orderId)) failCallback; |
75 | 66 | ||
76 | -(void)registeIapObserver; | 67 | -(void)registeIapObserver; |
77 | 68 | ||
78 | -(void)decideIsDebug:(int)isDebug; | 69 | -(void)decideIsDebug:(int)isDebug; |
79 | 70 | ||
80 | -(void)decideWebToVersion:(int)decideWebTo; | 71 | -(void)decideWebToVersion:(int)decideWebTo; |
81 | 72 | ||
82 | -(void)obtainAccessTokenSuccess:(void (^)(NSString *tokenString, NSString *refreshTime, NSString *expirationTime))success | 73 | -(void)obtainAccessTokenSuccess:(void (^)(NSString *tokenString, NSString *refreshTime, NSString *expirationTime))success |
83 | failure:(void (^)(NSString *errorString))failure; | 74 | failure:(void (^)(NSString *errorString))failure; |
84 | 75 | ||
85 | //获取是否展示安全页面,YES展示侵权页面,NO展示非侵权页面 | 76 | //获取是否展示安全页面,YES展示侵权页面,NO展示非侵权页面 |
86 | -(void)gameObtainSafeSetInfoWithAppId:(NSString *)appId | 77 | -(void)gameObtainSafeSetInfoWithAppId:(NSString *)appId |
87 | ChannelId:(NSString *)channelId | 78 | ChannelId:(NSString *)channelId |
88 | handleCallBack:(void (^)(BOOL resultStatus))callBack; | 79 | handleCallBack:(void (^)(BOOL resultStatus))callBack; |
89 | //关闭登录页面 | 80 | //关闭登录页面 |
90 | -(void)hidenLogInView; | 81 | -(void)hidenLogInView; |
91 | @end | 82 | @end |
92 | 83 |
ios/GameSDK.zip
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 = NA5R6CY7V3; | 241 | DevelopmentTeam = NA5R6CY7V3; |
242 | ProvisioningStyle = Manual; | 242 | ProvisioningStyle = Automatic; |
243 | SystemCapabilities = { | 243 | SystemCapabilities = { |
244 | com.apple.GameCenter = { | ||
245 | enabled = 0; | ||
246 | }; | ||
244 | com.apple.InAppPurchase = { | 247 | com.apple.InAppPurchase = { |
245 | enabled = 0; | 248 | enabled = 0; |
246 | }; | 249 | }; |
247 | }; | 250 | }; |
248 | }; | 251 | }; |
249 | }; | 252 | }; |
250 | }; | 253 | }; |
251 | buildConfigurationList = 9934F1A919303DC6005EF4AB /* Build configuration list for PBXProject "GameSDKDemo" */; | 254 | buildConfigurationList = 9934F1A919303DC6005EF4AB /* Build configuration list for PBXProject "GameSDKDemo" */; |
252 | compatibilityVersion = "Xcode 3.2"; | 255 | compatibilityVersion = "Xcode 3.2"; |
253 | developmentRegion = English; | 256 | developmentRegion = English; |
254 | hasScannedForEncodings = 0; | 257 | hasScannedForEncodings = 0; |
255 | knownRegions = ( | 258 | knownRegions = ( |
256 | en, | 259 | en, |
257 | ); | 260 | ); |
258 | mainGroup = 9934F1A519303DC6005EF4AB; | 261 | mainGroup = 9934F1A519303DC6005EF4AB; |
259 | productRefGroup = 9934F1AF19303DC6005EF4AB /* Products */; | 262 | productRefGroup = 9934F1AF19303DC6005EF4AB /* Products */; |
260 | projectDirPath = ""; | 263 | projectDirPath = ""; |
261 | projectReferences = ( | 264 | projectReferences = ( |
262 | { | 265 | { |
263 | ProductGroup = 75C5488920D0E584002A6ABF /* Products */; | 266 | ProductGroup = 75C5488920D0E584002A6ABF /* Products */; |
264 | ProjectRef = 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */; | 267 | ProjectRef = 75C5488820D0E584002A6ABF /* GameActivitySDK.xcodeproj */; |
265 | }, | 268 | }, |
266 | { | 269 | { |
267 | ProductGroup = 75C5488120D0E55E002A6ABF /* Products */; | 270 | ProductGroup = 75C5488120D0E55E002A6ABF /* Products */; |
268 | ProjectRef = 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */; | 271 | ProjectRef = 75C5488020D0E55E002A6ABF /* GameSDK.xcodeproj */; |
269 | }, | 272 | }, |
270 | ); | 273 | ); |
271 | projectRoot = ""; | 274 | projectRoot = ""; |
272 | targets = ( | 275 | targets = ( |
273 | 9934F1AD19303DC6005EF4AB /* GameSDKDemo */, | 276 | 9934F1AD19303DC6005EF4AB /* GameSDKDemo */, |
274 | ); | 277 | ); |
275 | }; | 278 | }; |
276 | /* End PBXProject section */ | 279 | /* End PBXProject section */ |
277 | 280 | ||
278 | /* Begin PBXReferenceProxy section */ | 281 | /* Begin PBXReferenceProxy section */ |
279 | 75C5488620D0E55E002A6ABF /* libGameSDK.a */ = { | 282 | 75C5488620D0E55E002A6ABF /* libGameSDK.a */ = { |
280 | isa = PBXReferenceProxy; | 283 | isa = PBXReferenceProxy; |
281 | fileType = archive.ar; | 284 | fileType = archive.ar; |
282 | path = libGameSDK.a; | 285 | path = libGameSDK.a; |
283 | remoteRef = 75C5488520D0E55E002A6ABF /* PBXContainerItemProxy */; | 286 | remoteRef = 75C5488520D0E55E002A6ABF /* PBXContainerItemProxy */; |
284 | sourceTree = BUILT_PRODUCTS_DIR; | 287 | sourceTree = BUILT_PRODUCTS_DIR; |
285 | }; | 288 | }; |
286 | 75C5488E20D0E585002A6ABF /* libGameActivitySDK.a */ = { | 289 | 75C5488E20D0E585002A6ABF /* libGameActivitySDK.a */ = { |
287 | isa = PBXReferenceProxy; | 290 | isa = PBXReferenceProxy; |
288 | fileType = archive.ar; | 291 | fileType = archive.ar; |
289 | path = libGameActivitySDK.a; | 292 | path = libGameActivitySDK.a; |
290 | remoteRef = 75C5488D20D0E585002A6ABF /* PBXContainerItemProxy */; | 293 | remoteRef = 75C5488D20D0E585002A6ABF /* PBXContainerItemProxy */; |
291 | sourceTree = BUILT_PRODUCTS_DIR; | 294 | sourceTree = BUILT_PRODUCTS_DIR; |
292 | }; | 295 | }; |
293 | /* End PBXReferenceProxy section */ | 296 | /* End PBXReferenceProxy section */ |
294 | 297 | ||
295 | /* Begin PBXResourcesBuildPhase section */ | 298 | /* Begin PBXResourcesBuildPhase section */ |
296 | 9934F1AC19303DC6005EF4AB /* Resources */ = { | 299 | 9934F1AC19303DC6005EF4AB /* Resources */ = { |
297 | isa = PBXResourcesBuildPhase; | 300 | isa = PBXResourcesBuildPhase; |
298 | buildActionMask = 2147483647; | 301 | buildActionMask = 2147483647; |
299 | files = ( | 302 | files = ( |
300 | 3CD53D9D1B81F37900E1B01A /* VKSdkResources.bundle in Resources */, | 303 | 3CD53D9D1B81F37900E1B01A /* VKSdkResources.bundle in Resources */, |
301 | 752A5F421CDC826A00C36131 /* GameSDKResources.bundle in Resources */, | 304 | 752A5F421CDC826A00C36131 /* GameSDKResources.bundle in Resources */, |
302 | 9934F1C419303DC6005EF4AB /* Images.xcassets in Resources */, | 305 | 9934F1C419303DC6005EF4AB /* Images.xcassets in Resources */, |
303 | ); | 306 | ); |
304 | runOnlyForDeploymentPostprocessing = 0; | 307 | runOnlyForDeploymentPostprocessing = 0; |
305 | }; | 308 | }; |
306 | /* End PBXResourcesBuildPhase section */ | 309 | /* End PBXResourcesBuildPhase section */ |
307 | 310 | ||
308 | /* Begin PBXSourcesBuildPhase section */ | 311 | /* Begin PBXSourcesBuildPhase section */ |
309 | 9934F1AA19303DC6005EF4AB /* Sources */ = { | 312 | 9934F1AA19303DC6005EF4AB /* Sources */ = { |
310 | isa = PBXSourcesBuildPhase; | 313 | isa = PBXSourcesBuildPhase; |
311 | buildActionMask = 2147483647; | 314 | buildActionMask = 2147483647; |
312 | files = ( | 315 | files = ( |
313 | 9934F1BE19303DC6005EF4AB /* main.m in Sources */, | 316 | 9934F1BE19303DC6005EF4AB /* main.m in Sources */, |
314 | 9934F1C219303DC6005EF4AB /* LSGAppDelegate.m in Sources */, | 317 | 9934F1C219303DC6005EF4AB /* LSGAppDelegate.m in Sources */, |
315 | 9934F23A19307153005EF4AB /* LSGMainViewController.m in Sources */, | 318 | 9934F23A19307153005EF4AB /* LSGMainViewController.m in Sources */, |
316 | ); | 319 | ); |
317 | runOnlyForDeploymentPostprocessing = 0; | 320 | runOnlyForDeploymentPostprocessing = 0; |
318 | }; | 321 | }; |
319 | /* End PBXSourcesBuildPhase section */ | 322 | /* End PBXSourcesBuildPhase section */ |
320 | 323 | ||
321 | /* Begin XCBuildConfiguration section */ | 324 | /* Begin XCBuildConfiguration section */ |
322 | 9934F1D819303DC6005EF4AB /* Debug */ = { | 325 | 9934F1D819303DC6005EF4AB /* Debug */ = { |
323 | isa = XCBuildConfiguration; | 326 | isa = XCBuildConfiguration; |
324 | buildSettings = { | 327 | buildSettings = { |
325 | ALWAYS_SEARCH_USER_PATHS = YES; | 328 | ALWAYS_SEARCH_USER_PATHS = YES; |
326 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | 329 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
327 | CLANG_CXX_LIBRARY = "libc++"; | 330 | CLANG_CXX_LIBRARY = "libc++"; |
328 | CLANG_ENABLE_MODULES = YES; | 331 | CLANG_ENABLE_MODULES = YES; |
329 | CLANG_ENABLE_OBJC_ARC = YES; | 332 | CLANG_ENABLE_OBJC_ARC = YES; |
330 | CLANG_WARN_BOOL_CONVERSION = YES; | 333 | CLANG_WARN_BOOL_CONVERSION = YES; |
331 | CLANG_WARN_CONSTANT_CONVERSION = YES; | 334 | CLANG_WARN_CONSTANT_CONVERSION = YES; |
332 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | 335 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
333 | CLANG_WARN_EMPTY_BODY = YES; | 336 | CLANG_WARN_EMPTY_BODY = YES; |
334 | CLANG_WARN_ENUM_CONVERSION = YES; | 337 | CLANG_WARN_ENUM_CONVERSION = YES; |
335 | CLANG_WARN_INT_CONVERSION = YES; | 338 | CLANG_WARN_INT_CONVERSION = YES; |
336 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | 339 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
337 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | 340 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
338 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 341 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
339 | COPY_PHASE_STRIP = YES; | 342 | COPY_PHASE_STRIP = YES; |
340 | ENABLE_TESTABILITY = YES; | 343 | ENABLE_TESTABILITY = YES; |
341 | GCC_C_LANGUAGE_STANDARD = gnu99; | 344 | GCC_C_LANGUAGE_STANDARD = gnu99; |
342 | GCC_DYNAMIC_NO_PIC = NO; | 345 | GCC_DYNAMIC_NO_PIC = NO; |
343 | GCC_OPTIMIZATION_LEVEL = 0; | 346 | GCC_OPTIMIZATION_LEVEL = 0; |
344 | GCC_PREPROCESSOR_DEFINITIONS = ( | 347 | GCC_PREPROCESSOR_DEFINITIONS = ( |
345 | "DEBUG=1", | 348 | "DEBUG=1", |
346 | "$(inherited)", | 349 | "$(inherited)", |
347 | ); | 350 | ); |
348 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; | 351 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; |
349 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | 352 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; |
350 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | 353 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; |
351 | GCC_WARN_UNDECLARED_SELECTOR = YES; | 354 | GCC_WARN_UNDECLARED_SELECTOR = YES; |
352 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | 355 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; |
353 | GCC_WARN_UNUSED_FUNCTION = YES; | 356 | GCC_WARN_UNUSED_FUNCTION = YES; |
354 | GCC_WARN_UNUSED_VARIABLE = YES; | 357 | GCC_WARN_UNUSED_VARIABLE = YES; |
355 | HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/**"; | 358 | HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/**"; |
356 | IPHONEOS_DEPLOYMENT_TARGET = 8.4; | 359 | IPHONEOS_DEPLOYMENT_TARGET = 8.4; |
357 | ONLY_ACTIVE_ARCH = YES; | 360 | ONLY_ACTIVE_ARCH = YES; |
358 | SDKROOT = iphoneos; | 361 | SDKROOT = iphoneos; |
359 | }; | 362 | }; |
360 | name = Debug; | 363 | name = Debug; |
361 | }; | 364 | }; |
362 | 9934F1D919303DC6005EF4AB /* Release */ = { | 365 | 9934F1D919303DC6005EF4AB /* Release */ = { |
363 | isa = XCBuildConfiguration; | 366 | isa = XCBuildConfiguration; |
364 | buildSettings = { | 367 | buildSettings = { |
365 | ALWAYS_SEARCH_USER_PATHS = YES; | 368 | ALWAYS_SEARCH_USER_PATHS = YES; |
366 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | 369 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
367 | CLANG_CXX_LIBRARY = "libc++"; | 370 | CLANG_CXX_LIBRARY = "libc++"; |
368 | CLANG_ENABLE_MODULES = YES; | 371 | CLANG_ENABLE_MODULES = YES; |
369 | CLANG_ENABLE_OBJC_ARC = YES; | 372 | CLANG_ENABLE_OBJC_ARC = YES; |
370 | CLANG_WARN_BOOL_CONVERSION = YES; | 373 | CLANG_WARN_BOOL_CONVERSION = YES; |
371 | CLANG_WARN_CONSTANT_CONVERSION = YES; | 374 | CLANG_WARN_CONSTANT_CONVERSION = YES; |
372 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | 375 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
373 | CLANG_WARN_EMPTY_BODY = YES; | 376 | CLANG_WARN_EMPTY_BODY = YES; |
374 | CLANG_WARN_ENUM_CONVERSION = YES; | 377 | CLANG_WARN_ENUM_CONVERSION = YES; |
375 | CLANG_WARN_INT_CONVERSION = YES; | 378 | CLANG_WARN_INT_CONVERSION = YES; |
376 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | 379 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
377 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | 380 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
378 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 381 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
379 | COPY_PHASE_STRIP = YES; | 382 | COPY_PHASE_STRIP = YES; |
380 | ENABLE_NS_ASSERTIONS = NO; | 383 | ENABLE_NS_ASSERTIONS = NO; |
381 | GCC_C_LANGUAGE_STANDARD = gnu99; | 384 | GCC_C_LANGUAGE_STANDARD = gnu99; |
382 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | 385 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; |
383 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | 386 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; |
384 | GCC_WARN_UNDECLARED_SELECTOR = YES; | 387 | GCC_WARN_UNDECLARED_SELECTOR = YES; |
385 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | 388 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; |
386 | GCC_WARN_UNUSED_FUNCTION = YES; | 389 | GCC_WARN_UNUSED_FUNCTION = YES; |
387 | GCC_WARN_UNUSED_VARIABLE = YES; | 390 | GCC_WARN_UNUSED_VARIABLE = YES; |
388 | HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/**"; | 391 | HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/**"; |
389 | IPHONEOS_DEPLOYMENT_TARGET = 8.4; | 392 | IPHONEOS_DEPLOYMENT_TARGET = 8.4; |
390 | ONLY_ACTIVE_ARCH = YES; | 393 | ONLY_ACTIVE_ARCH = YES; |
391 | SDKROOT = iphoneos; | 394 | SDKROOT = iphoneos; |
392 | VALIDATE_PRODUCT = YES; | 395 | VALIDATE_PRODUCT = YES; |
393 | }; | 396 | }; |
394 | name = Release; | 397 | name = Release; |
395 | }; | 398 | }; |
396 | 9934F1DB19303DC6005EF4AB /* Debug */ = { | 399 | 9934F1DB19303DC6005EF4AB /* Debug */ = { |
397 | isa = XCBuildConfiguration; | 400 | isa = XCBuildConfiguration; |
398 | baseConfigurationReference = 27019DCB1A208B1500DA560D /* Project.xcconfig */; | 401 | baseConfigurationReference = 27019DCB1A208B1500DA560D /* Project.xcconfig */; |
399 | buildSettings = { | 402 | buildSettings = { |
400 | ALWAYS_SEARCH_USER_PATHS = YES; | 403 | ALWAYS_SEARCH_USER_PATHS = YES; |
401 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 404 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
402 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; | 405 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; |
403 | CODE_SIGN_IDENTITY = "iPhone Developer"; | 406 | CODE_SIGN_IDENTITY = "iPhone Developer"; |
404 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 407 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
405 | CODE_SIGN_STYLE = Manual; | 408 | CODE_SIGN_STYLE = Automatic; |
406 | DEVELOPMENT_TEAM = NA5R6CY7V3; | 409 | DEVELOPMENT_TEAM = NA5R6CY7V3; |
407 | ENABLE_BITCODE = NO; | 410 | ENABLE_BITCODE = NO; |
408 | FRAMEWORK_SEARCH_PATHS = ( | 411 | FRAMEWORK_SEARCH_PATHS = ( |
409 | "$(PROJECT_DIR)/../**", | 412 | "$(PROJECT_DIR)/../**", |
410 | "$(PROJECT_DIR)/letsgameDemo", | 413 | "$(PROJECT_DIR)/letsgameDemo", |
411 | ); | 414 | ); |
412 | GCC_PRECOMPILE_PREFIX_HEADER = YES; | 415 | GCC_PRECOMPILE_PREFIX_HEADER = YES; |
413 | GCC_PREFIX_HEADER = "letsgameDemo/GameSDKDemo-Prefix.pch"; | 416 | GCC_PREFIX_HEADER = "letsgameDemo/GameSDKDemo-Prefix.pch"; |
414 | HEADER_SEARCH_PATHS = ( | 417 | HEADER_SEARCH_PATHS = ( |
415 | "$(PROJECT_DIR)/../GameSDK.framework/**", | 418 | "$(PROJECT_DIR)/../GameSDK.framework/**", |
416 | "$(inherited)", | 419 | "$(inherited)", |
417 | "$(PROJECT_DIR)/letsgameDemo/**", | 420 | "$(PROJECT_DIR)/letsgameDemo/**", |
418 | "$(PROJECT_DIR)/../VKBridge.framework/**", | 421 | "$(PROJECT_DIR)/../VKBridge.framework/**", |
419 | "$(PROJECT_DIR)/../GameActivitySDK.framework/**", | 422 | "$(PROJECT_DIR)/../GameActivitySDK.framework/**", |
420 | ); | 423 | ); |
421 | INFOPLIST_FILE = "letsgameDemo/letsgameDemo-Info.plist"; | 424 | INFOPLIST_FILE = "letsgameDemo/letsgameDemo-Info.plist"; |
422 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; | 425 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; |
423 | LIBRARY_SEARCH_PATHS = ""; | 426 | LIBRARY_SEARCH_PATHS = ""; |
424 | ONLY_ACTIVE_ARCH = YES; | 427 | ONLY_ACTIVE_ARCH = YES; |
425 | OTHER_LDFLAGS = "-ObjC"; | 428 | OTHER_LDFLAGS = "-ObjC"; |
426 | PRIVATE_HEADERS_FOLDER_PATH = ""; | 429 | PRIVATE_HEADERS_FOLDER_PATH = ""; |
427 | PRODUCT_BUNDLE_IDENTIFIER = com.game.GumpSDK; | 430 | PRODUCT_BUNDLE_IDENTIFIER = com.game.GumpSDK; |
428 | PRODUCT_NAME = GameSDKDemo; | 431 | PRODUCT_NAME = GameSDKDemo; |
429 | PROVISIONING_PROFILE = "372cbec4-6feb-49c5-9ce3-54831ae1316f"; | 432 | PROVISIONING_PROFILE = ""; |
430 | PROVISIONING_PROFILE_SPECIFIER = comgameGumpSDKDev; | 433 | PROVISIONING_PROFILE_SPECIFIER = ""; |
431 | PUBLIC_HEADERS_FOLDER_PATH = ""; | 434 | PUBLIC_HEADERS_FOLDER_PATH = ""; |
432 | WRAPPER_EXTENSION = app; | 435 | WRAPPER_EXTENSION = app; |
433 | }; | 436 | }; |
434 | name = Debug; | 437 | name = Debug; |
435 | }; | 438 | }; |
436 | 9934F1DC19303DC6005EF4AB /* Release */ = { | 439 | 9934F1DC19303DC6005EF4AB /* Release */ = { |
437 | isa = XCBuildConfiguration; | 440 | isa = XCBuildConfiguration; |
438 | baseConfigurationReference = 27019DCB1A208B1500DA560D /* Project.xcconfig */; | 441 | baseConfigurationReference = 27019DCB1A208B1500DA560D /* Project.xcconfig */; |
439 | buildSettings = { | 442 | buildSettings = { |
440 | ALWAYS_SEARCH_USER_PATHS = YES; | 443 | ALWAYS_SEARCH_USER_PATHS = YES; |
441 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 444 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
442 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; | 445 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; |
443 | CODE_SIGN_IDENTITY = "iPhone Developer"; | 446 | CODE_SIGN_IDENTITY = "iPhone Developer"; |
444 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 447 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
445 | CODE_SIGN_STYLE = Manual; | 448 | CODE_SIGN_STYLE = Automatic; |
446 | DEVELOPMENT_TEAM = NA5R6CY7V3; | 449 | DEVELOPMENT_TEAM = NA5R6CY7V3; |
447 | ENABLE_BITCODE = NO; | 450 | ENABLE_BITCODE = NO; |
448 | FRAMEWORK_SEARCH_PATHS = ( | 451 | FRAMEWORK_SEARCH_PATHS = ( |
449 | "$(PROJECT_DIR)/../**", | 452 | "$(PROJECT_DIR)/../**", |
450 | "$(PROJECT_DIR)/letsgameDemo", | 453 | "$(PROJECT_DIR)/letsgameDemo", |
451 | ); | 454 | ); |
452 | GCC_PRECOMPILE_PREFIX_HEADER = YES; | 455 | GCC_PRECOMPILE_PREFIX_HEADER = YES; |
453 | GCC_PREFIX_HEADER = "letsgameDemo/GameSDKDemo-Prefix.pch"; | 456 | GCC_PREFIX_HEADER = "letsgameDemo/GameSDKDemo-Prefix.pch"; |
454 | HEADER_SEARCH_PATHS = ( | 457 | HEADER_SEARCH_PATHS = ( |
455 | "$(PROJECT_DIR)/../GameSDK.framework/**", | 458 | "$(PROJECT_DIR)/../GameSDK.framework/**", |
456 | "$(inherited)", | 459 | "$(inherited)", |
457 | "$(PROJECT_DIR)/letsgameDemo/**", | 460 | "$(PROJECT_DIR)/letsgameDemo/**", |
458 | "$(PROJECT_DIR)/../VKBridge.framework/**", | 461 | "$(PROJECT_DIR)/../VKBridge.framework/**", |
459 | "$(PROJECT_DIR)/../GameActivitySDK.framework/**", | 462 | "$(PROJECT_DIR)/../GameActivitySDK.framework/**", |
460 | ); | 463 | ); |
461 | INFOPLIST_FILE = "letsgameDemo/letsgameDemo-Info.plist"; | 464 | INFOPLIST_FILE = "letsgameDemo/letsgameDemo-Info.plist"; |
462 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; | 465 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; |
463 | LIBRARY_SEARCH_PATHS = ""; | 466 | LIBRARY_SEARCH_PATHS = ""; |
464 | ONLY_ACTIVE_ARCH = YES; | 467 | ONLY_ACTIVE_ARCH = YES; |
465 | OTHER_LDFLAGS = "-ObjC"; | 468 | OTHER_LDFLAGS = "-ObjC"; |
466 | PRIVATE_HEADERS_FOLDER_PATH = ""; | 469 | PRIVATE_HEADERS_FOLDER_PATH = ""; |
467 | PRODUCT_BUNDLE_IDENTIFIER = com.game.GumpSDK; | 470 | PRODUCT_BUNDLE_IDENTIFIER = com.game.GumpSDK; |
468 | PRODUCT_NAME = GameSDKDemo; | 471 | PRODUCT_NAME = GameSDKDemo; |
469 | PROVISIONING_PROFILE = "372cbec4-6feb-49c5-9ce3-54831ae1316f"; | 472 | PROVISIONING_PROFILE = ""; |
470 | PROVISIONING_PROFILE_SPECIFIER = comgameGumpSDKDev; | 473 | PROVISIONING_PROFILE_SPECIFIER = ""; |
471 | PUBLIC_HEADERS_FOLDER_PATH = ""; | 474 | PUBLIC_HEADERS_FOLDER_PATH = ""; |
472 | WRAPPER_EXTENSION = app; | 475 | WRAPPER_EXTENSION = app; |
473 | }; | 476 | }; |
474 | name = Release; | 477 | name = Release; |
475 | }; | 478 | }; |
476 | /* End XCBuildConfiguration section */ | 479 | /* End XCBuildConfiguration section */ |
477 | 480 | ||
478 | /* Begin XCConfigurationList section */ | 481 | /* Begin XCConfigurationList section */ |
479 | 9934F1A919303DC6005EF4AB /* Build configuration list for PBXProject "GameSDKDemo" */ = { | 482 | 9934F1A919303DC6005EF4AB /* Build configuration list for PBXProject "GameSDKDemo" */ = { |
480 | isa = XCConfigurationList; | 483 | isa = XCConfigurationList; |
481 | buildConfigurations = ( | 484 | buildConfigurations = ( |
482 | 9934F1D819303DC6005EF4AB /* Debug */, | 485 | 9934F1D819303DC6005EF4AB /* Debug */, |
483 | 9934F1D919303DC6005EF4AB /* Release */, | 486 | 9934F1D919303DC6005EF4AB /* Release */, |
484 | ); | 487 | ); |
485 | defaultConfigurationIsVisible = 0; | 488 | defaultConfigurationIsVisible = 0; |
486 | defaultConfigurationName = Release; | 489 | defaultConfigurationName = Release; |
487 | }; | 490 | }; |
488 | 9934F1DA19303DC6005EF4AB /* Build configuration list for PBXNativeTarget "GameSDKDemo" */ = { | 491 | 9934F1DA19303DC6005EF4AB /* Build configuration list for PBXNativeTarget "GameSDKDemo" */ = { |
489 | isa = XCConfigurationList; | 492 | isa = XCConfigurationList; |
490 | buildConfigurations = ( | 493 | buildConfigurations = ( |
491 | 9934F1DB19303DC6005EF4AB /* Debug */, | 494 | 9934F1DB19303DC6005EF4AB /* Debug */, |
492 | 9934F1DC19303DC6005EF4AB /* Release */, | 495 | 9934F1DC19303DC6005EF4AB /* Release */, |
493 | ); | 496 | ); |
494 | defaultConfigurationIsVisible = 0; | 497 | defaultConfigurationIsVisible = 0; |
495 | defaultConfigurationName = Release; | 498 | defaultConfigurationName = Release; |
496 | }; | 499 | }; |
497 | /* End XCConfigurationList section */ | 500 | /* End XCConfigurationList section */ |
498 | }; | 501 | }; |
499 | rootObject = 9934F1A619303DC6005EF4AB /* Project object */; | 502 | rootObject = 9934F1A619303DC6005EF4AB /* Project object */; |
500 | } | 503 | } |
501 | 504 |
ios/GameSDKDemo/GameSDKDemo.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
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 = @"100"; | 94 | [LetsGameAPI instance].appId = @"100"; |
95 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; | 95 | [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; |
96 | [LetsGameAPI instance].channelId = @"1000"; | 96 | [LetsGameAPI instance].channelId = @"1000"; |
97 | [LetsGameAPI hiddenLogo:YES]; | 97 | [LetsGameAPI hiddenLogo:YES]; |
98 | NSLog(@"sdk version:%@",[[LetsGameAPI instance] version]); | 98 | NSLog(@"sdk version:%@",[[LetsGameAPI instance] version]); |
99 | //sdk login 初始化 | 99 | //sdk login 初始化 |
100 | [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) { | 100 | [[LetsGameAPI instance] SDKLoginInitofResponse:^(BOOL result) { |
101 | if (result) { | 101 | if (result) { |
102 | NSLog(@"初始化成功"); | 102 | NSLog(@"初始化成功"); |
103 | // [LetsGameAPI disableFB:YES]; | 103 | // [LetsGameAPI disableFB:YES]; |
104 | // [LetsGameAPI disableGoogle:YES]; | 104 | // [LetsGameAPI disableGoogle:YES]; |
105 | // [LetsGameAPI disableLine:YES]; | 105 | // [LetsGameAPI disableLine:YES]; |
106 | // [LetsGameAPI disableWeChat:YES]; | ||
107 | //启用vk登录 | 106 | //启用vk登录 |
108 | VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; | 107 | VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; |
109 | [LetsGameAPI instance].vkBridge = vkBridge; | 108 | [LetsGameAPI instance].vkBridge = vkBridge; |
110 | //微信登陆 | ||
111 | [[LetsGameAPI instance] registerAppWeChatOfSuccess:^{ | ||
112 | NSLog(@"注册成功"); | ||
113 | } failure:^{ | ||
114 | NSLog(@"注册失败"); | ||
115 | }]; | ||
116 | 109 | ||
117 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { | 110 | [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { |
118 | self.sessionKey = sessionKey; | 111 | self.sessionKey = sessionKey; |
119 | self.resultLabel.text = [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %ld", userId, sessionKey, type]; | 112 | self.resultLabel.text = [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %ld", userId, sessionKey, type]; |
120 | }; | 113 | }; |
121 | [LetsGameAPI instance].dismissBlock = ^() { | 114 | [LetsGameAPI instance].dismissBlock = ^() { |
122 | //登录失败操作 | 115 | //登录失败操作 |
123 | self.resultLabel.text = @"dismiss without login"; | 116 | self.resultLabel.text = @"dismiss without login"; |
124 | }; | 117 | }; |
125 | 118 | ||
126 | [[LetsGameAPI instance] showLoginView]; | 119 | [[LetsGameAPI instance] showLoginView]; |
127 | }else{ | 120 | }else{ |
128 | NSLog(@"初始化失败"); | 121 | NSLog(@"初始化失败"); |
122 | self.resultLabel.text = @"初始化失败"; | ||
129 | } | 123 | } |
130 | }]; | 124 | }]; |
131 | 125 | ||
132 | } | 126 | } |
133 | 127 | ||
134 | 128 | ||
135 | - (void)onLogoutTest { | 129 | - (void)onLogoutTest { |
136 | [LetsGameAPI instance].appId = @"10056"; | 130 | [LetsGameAPI instance].appId = @"10056"; |
137 | [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21"; | 131 | [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21"; |
138 | [[LetsGameAPI instance] logout]; | 132 | [[LetsGameAPI instance] logout]; |
139 | 133 | ||
140 | } | 134 | } |
141 | 135 | ||
142 | -(void)onPayTest{ | 136 | -(void)onPayTest{ |
143 | [LetsGameAPI instance].appId = @"10103";//@"10056";//10022 | 137 | [LetsGameAPI instance].appId = @"10103";//@"10056";//10022 |
144 | [LetsGameAPI instance].appKey = @"f53eb4122d5e2ce81a12093f8f9ce922";//@"b59c21a078fde074a6750e91ed19fb21";//93a27b0bd99bac3e68a440b48aa421ab | 138 | [LetsGameAPI instance].appKey = @"f53eb4122d5e2ce81a12093f8f9ce922";//@"b59c21a078fde074a6750e91ed19fb21";//93a27b0bd99bac3e68a440b48aa421ab |
145 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | 139 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; |
146 | [payInfo setValue:@"s1" forKey:@"serverId"]; | 140 | [payInfo setValue:@"s1" forKey:@"serverId"]; |
147 | [payInfo setValue:@"556553" forKey:@"roleId"]; | 141 | [payInfo setValue:@"556553" forKey:@"roleId"]; |
148 | [payInfo setValue:@"1002" forKey:@"channelId"]; | 142 | [payInfo setValue:@"1002" forKey:@"channelId"]; |
149 | [payInfo setValue:@"10" forKey:@"amount"]; | 143 | [payInfo setValue:@"10" forKey:@"amount"]; |
150 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; | 144 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; |
151 | [payInfo setValue:@"wa2" forKey:@"product"]; | 145 | [payInfo setValue:@"wa2" forKey:@"product"]; |
152 | [payInfo setValue:@"78b83666bd77c1e4c95442140672254d" forKey:@"sessionKey"]; //self.sessionKey | 146 | [payInfo setValue:@"78b83666bd77c1e4c95442140672254d" forKey:@"sessionKey"]; //self.sessionKey |
153 | // [[LetsGameAPI instance] pay:payInfo handleCallBack:^{ | 147 | // [[LetsGameAPI instance] pay:payInfo handleCallBack:^{ |
154 | // NSLog(@"第三方支付完成"); | 148 | // NSLog(@"第三方支付完成"); |
155 | // }]; | 149 | // }]; |
156 | [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ | 150 | [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{ |
157 | NSLog(@"第三方支付完成"); | 151 | NSLog(@"第三方支付完成"); |
158 | }]; | 152 | }]; |
159 | } | 153 | } |
160 | 154 | ||
161 | -(void)onIapTest{ | 155 | -(void)onIapTest{ |
162 | 156 | ||
163 | [LetsGameAPI instance].appId = @"10056"; | 157 | [LetsGameAPI instance].appId = @"10056"; |
164 | [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21"; | 158 | [LetsGameAPI instance].appKey = @"b59c21a078fde074a6750e91ed19fb21"; |
165 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; | 159 | NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; |
166 | [payInfo setValue:@"5001" forKey:@"serverId"]; | 160 | [payInfo setValue:@"5001" forKey:@"serverId"]; |
167 | [payInfo setValue:@"10010" forKey:@"roleId"]; | 161 | [payInfo setValue:@"10010" forKey:@"roleId"]; |
168 | [payInfo setValue:@"1000" forKey:@"channelId"]; | 162 | [payInfo setValue:@"1000" forKey:@"channelId"]; |
169 | [payInfo setValue:@"10" forKey:@"amount"]; | 163 | [payInfo setValue:@"10" forKey:@"amount"]; |
170 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; | 164 | [payInfo setValue:@"ios demo" forKey:@"extraInfo"]; |
171 | [payInfo setValue:@"test.product.1" forKey:@"product"]; | 165 | [payInfo setValue:@"test.product.1" forKey:@"product"]; |
172 | [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { | 166 | [[LetsGameAPI instance] iap:payInfo forUser:@"" succCallback:^(NSString *orderId) { |
173 | //注意测试仅仅是通知客户端成功,但是还需要向服务器请求验证是否成功,以服务端验证为准 | 167 | //注意测试仅仅是通知客户端成功,但是还需要向服务器请求验证是否成功,以服务端验证为准 |
174 | NSLog(@"IAP completed orderId of Gumptech:%@",orderId); | 168 | NSLog(@"IAP completed orderId of Gumptech:%@",orderId); |
175 | } failCallback:^(NSString *orderId) { | 169 | } failCallback:^(NSString *orderId) { |
176 | NSLog(@"IAP file orderId of Gumptech:%@",orderId); | 170 | NSLog(@"IAP file orderId of Gumptech:%@",orderId); |
177 | }]; | 171 | }]; |
178 | } | 172 | } |
179 | 173 | ||
180 | -(void)onActivity{ | 174 | -(void)onActivity{ |
181 | 175 | ||
182 | [[LetsGameActivityAPI instance] decideIsDebug:1]; | 176 | [[LetsGameActivityAPI instance] decideIsDebug:1]; |
183 | // [LetsGameActivityAPI instance].supportLandscape = YES; | 177 | // [LetsGameActivityAPI instance].supportLandscape = YES; |
184 | // [[LetsGameActivityAPI instance] decideAllowRotate:1]; | 178 | // [[LetsGameActivityAPI instance] decideAllowRotate:1]; |
185 | NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; | 179 | NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary]; |
186 | [activityInfo setValue:@"100" forKey:@"appId"]; | 180 | [activityInfo setValue:@"100" forKey:@"appId"]; |
187 | [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; | 181 | [activityInfo setValue:@"f899139df5e1059396431415e770c6dd" forKey:@"appKey"]; |
188 | [activityInfo setValue:@"123456" forKey:@"userId"]; | 182 | [activityInfo setValue:@"123456" forKey:@"userId"]; |
189 | [activityInfo setValue:@"111" forKey:@"serverId"]; | 183 | [activityInfo setValue:@"111" forKey:@"serverId"]; |
190 | [activityInfo setValue:@"aaa" forKey:@"serverName"]; | 184 | [activityInfo setValue:@"aaa" forKey:@"serverName"]; |
191 | [activityInfo setValue:@"222" forKey:@"roleId"]; | 185 | [activityInfo setValue:@"222" forKey:@"roleId"]; |
192 | [activityInfo setValue:@"ccc" forKey:@"roleName"]; | 186 | [activityInfo setValue:@"ccc" forKey:@"roleName"]; |
193 | [activityInfo setValue:@"888" forKey:@"diamond"]; | 187 | [activityInfo setValue:@"888" forKey:@"diamond"]; |
194 | [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ | 188 | [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{ |
195 | NSLog(@"activity finish!"); | 189 | NSLog(@"activity finish!"); |
196 | }]; | 190 | }]; |
197 | } | 191 | } |
198 | 192 | ||
199 | 193 | ||
200 | 194 | ||
201 | @end | 195 | @end |
ios/GameSDKResources.bundle/de.strings
File was created | 1 | "user_name_hint" = "Konto"; | |
2 | "password_hint" = "Passwort"; | ||
3 | "quick_login" = "Quick Login"; | ||
4 | "quick_play" = "Gast Login"; | ||
5 | "gump_login" = "Einloggen"; | ||
6 | "login" = "Per Passwort einloggen"; | ||
7 | "loginFacebook" = "Facebook einloggen"; | ||
8 | "signup" = "Registrieren"; | ||
9 | "bind" = "E-Mali binden"; | ||
10 | "loading" = "Loading……"; | ||
11 | "illegal_uname_tip" = "Ungültige E-Mail"; | ||
12 | "illegal_pwd_tip" = "Ungültiges Passwort (6-20 Zeichen)."; | ||
13 | "illegal_user_exist" = "Die E-Mail wurde bereits verwendet"; | ||
14 | "illegal_pwd_invalid" = "Passwortfehler"; | ||
15 | "illegal_user_not_exist" = "Ungültige E-Mail"; | ||
16 | "invalid_email" = "Bitte geben Sie eine gültige Email-Adresse ein"; | ||
17 | "login_fail" = "Login fehlgeschlagen"; | ||
18 | "signup_fail" = "Registrierung fehlgeschlagen"; | ||
19 | "bind_fail" = "Bindung fehlgeschlagen"; | ||
20 | "GumptechLogin" = "Gump Login"; | ||
21 | "switch" = "Konto wechseln"; | ||
22 | "change_password" = "Passwort zurücksetzen"; | ||
23 | "current_password" = "Aktuelles Passwort"; | ||
24 | "change_password_notice" = "Füllen Sie nicht das aktuelle Passwort aus, wenn Sie das Passwort zurücksetzen"; | ||
25 | "new_password" = "Neues Passwort"; | ||
26 | "Reset" = "Passwort vergessen? Klicken Sie hier zum Zurücksetzen"; | ||
27 | "Confirm" = "bestätigen"; | ||
28 | "Succeed" = "Reset erfolgreich"; | ||
29 | "reset_fail" = "Reset fehlgeschlagen, bitte kontaktieren Sie den Kundenservice"; | ||
30 | "reset_success" = "Bestätigte E-Mail wurde gesendet. Bitte setzen Sie das Passwort gemäß der E-Mail zurück"; | ||
31 | "other_login_style" = "Andere Anmeldemethoden"; | ||
32 | "account_pwd_invalid" = "Account and password is empty!"; | ||
33 | "new_old_password_diff" = "Die Passworte stimmen nicht überein."; | ||
34 | "Confirm_password" = "Passwort bestätigen"; | ||
35 | "forget_change_password" = "Passwort zurücksetzen oder vergessen?"; | ||
36 | "input_new_pwd" = "erneuert eingeben"; | ||
37 | "back" = "zurückgehen"; | ||
38 | "play_btn_notice" = "Sie haben als Gast angemeldet.Um Datenverluste zu vermeiden,gehen Sie ein Konto zu registrieren.Gastinformationen werden automatisch auf das neue Konto übertragen."; | ||
39 | "Notice" = "Tipps"; | ||
40 | "Continue" = "weiter einloggen"; | ||
41 | "Log_in" = "Konto Registrieren"; | ||
42 | |||
43 |
ios/GameSDKResources.bundle/zh-Hans.strings
1 | "user_name_hint" = "账号"; | 1 | "user_name_hint" = "账号"; |
2 | "password_hint" = "密码"; | 2 | "password_hint" = "密码"; |
3 | "quick_login" = "一键进入"; | 3 | "quick_login" = "一键进入"; |
4 | "quick_play" = "游客登录"; | 4 | "quick_play" = "游客登录"; |
5 | "gump_login" = "登录"; | 5 | "gump_login" = "登录"; |
6 | "login" = "账号密码登录"; | 6 | "login" = "账号密码登录"; |
7 | "loginFacebook" = "登录Facebook"; | 7 | "loginFacebook" = "登录Facebook"; |
8 | "signup" = "注册"; | 8 | "signup" = "注册"; |
9 | "bind" = "绑定邮箱"; | 9 | "bind" = "绑定邮箱"; |
10 | "loading" = "加载中……"; | 10 | "loading" = "加载中……"; |
11 | "illegal_uname_tip" = "邮箱不存在"; | 11 | "illegal_uname_tip" = "邮箱不存在"; |
12 | "illegal_pwd_tip" = "密码格式不正确 (6–20字符)"; | 12 | "illegal_pwd_tip" = "密码格式不正确 (6–20字符)"; |
13 | "illegal_user_exist" = "邮箱已注册"; | 13 | "illegal_user_exist" = "邮箱已注册"; |
14 | "illegal_pwd_invalid" = "密码错误"; | 14 | "illegal_pwd_invalid" = "密码错误"; |
15 | "illegal_user_not_exist" = "邮箱格式不正确"; | 15 | "illegal_user_not_exist" = "邮箱格式不正确"; |
16 | "invalid_email" = "请输入正确的邮箱"; | 16 | "invalid_email" = "请输入正确的邮箱"; |
17 | "login_fail" = "登录失败"; | 17 | "login_fail" = "登录失败"; |
18 | "signup_fail" = "注册失败"; | 18 | "signup_fail" = "注册失败"; |
19 | "bind_fail" = "绑定失败"; | 19 | "bind_fail" = "绑定失败"; |
20 | "GumptechLogin" = "甘普登录"; | 20 | "GumptechLogin" = "甘普登录"; |
21 | "switch" = "切换账户"; | 21 | "switch" = "切换账户"; |
22 | "change_password" = "修改密码?"; | 22 | "change_password" = "修改密码?"; |
23 | "current_password" = "当前密码"; | 23 | "current_password" = "当前密码"; |
24 | "change_password_notice" = "重置密码时可不填写当前密码"; | 24 | "change_password_notice" = "重置密码时可不填写当前密码"; |
25 | "new_password" = "新密码"; | 25 | "new_password" = "新密码"; |
26 | "Reset" = "忘记密码?点此重置"; | 26 | "Reset" = "忘记密码?点此重置"; |
27 | "Confirm" = "确定"; | 27 | "Confirm" = "确定"; |
28 | "Succeed" = "修改成功"; | 28 | "Succeed" = "修改成功"; |
29 | "reset_fail" = "修改失败,请与客服联系"; | 29 | "reset_fail" = "修改失败,请与客服联系"; |
30 | "reset_success" = "验证邮件已发送,请按照邮件提示进行密码重置"; | 30 | "reset_success" = "验证邮件已发送,请按照邮件提示进行密码重置"; |
31 | "other_login_style" = "其他登录方式"; | 31 | "other_login_style" = "其他登录方式"; |
32 | "account_pwd_invalid" = "账号和密码不能为空"; | 32 | "account_pwd_invalid" = "账号和密码不能为空"; |
33 | "new_old_password_diff" = "密码不一致"; | 33 | "new_old_password_diff" = "密码不一致"; |
34 | "Confirm_password" = "确认密码"; | 34 | "Confirm_password" = "确认密码"; |
35 | "forget_change_password" = "修改/忘记密码?"; | 35 | "forget_change_password" = "修改/忘记密码?"; |
36 | "input_new_pwd" = "请输入新密码"; | 36 | "input_new_pwd" = "请输入新密码"; |
37 | "back" = "返回"; | 37 | "back" = "返回"; |
38 | "play_btn_notice" = "您登录了游客用户,为了账户安全,避免数据丢失。请点击注册账号完成注册。游客信息将自动转移至新帐号。"; | 38 | "play_btn_notice" = "您登录了游客用户,为了账户安全,避免数据丢失。请点击注册账号完成注册。游客信息将自动转移至新帐号。"; |
39 | "Notice" = "提示"; | 39 | "Notice" = "提示"; |
40 | "Continue" = "繼續登錄"; | 40 | "Continue" = "继续登录"; |
41 | "Log_in" = "註冊帳號"; | 41 | "Log_in" = "注册账号"; |
42 | 42 | ||
43 | 43 |
ios/GameSDKResources.bundle/zh-Hant.strings
1 | "user_name_hint" = "帳號"; | 1 | "user_name_hint" = "帳號"; |
2 | "password_hint" = "密碼"; | 2 | "password_hint" = "密碼"; |
3 | "quick_login" = "一鍵進入"; | 3 | "quick_login" = "一鍵進入"; |
4 | "quick_play" = "遊客登陸"; | 4 | "quick_play" = "遊客登陸"; |
5 | "gump_login" = "登錄"; | 5 | "gump_login" = "登錄"; |
6 | "login" = "帳號密碼登錄"; | 6 | "login" = "帳號密碼登錄"; |
7 | "signup" = "註冊"; | 7 | "signup" = "註冊"; |
8 | "bind" = "綁定郵箱"; | 8 | "bind" = "綁定郵箱"; |
9 | "loading" = "加載中……"; | 9 | "loading" = "加載中……"; |
10 | "illegal_uname_tip" = "郵箱不存在"; | 10 | "illegal_uname_tip" = "郵箱不存在"; |
11 | "illegal_pwd_tip" = "密碼格式不爭取 (6–20字符)"; | 11 | "illegal_pwd_tip" = "密碼格式不爭取 (6–20字符)"; |
12 | "illegal_user_exist" = "郵箱已註冊"; | 12 | "illegal_user_exist" = "郵箱已註冊"; |
13 | "illegal_pwd_invalid" = "密碼錯誤"; | 13 | "illegal_pwd_invalid" = "密碼錯誤"; |
14 | "illegal_user_not_exist" = "郵箱格式不正確"; | 14 | "illegal_user_not_exist" = "郵箱格式不正確"; |
15 | "invalid_email" = "請輸入正確的郵箱"; | 15 | "invalid_email" = "請輸入正確的郵箱"; |
16 | "login_fail" = "登陸失敗"; | 16 | "login_fail" = "登陸失敗"; |
17 | "signup_fail" = "註冊失敗"; | 17 | "signup_fail" = "註冊失敗"; |
18 | "bind_fail" = "綁定失敗"; | 18 | "bind_fail" = "綁定失敗"; |
19 | "GumptechLogin" = "甘普登錄"; | 19 | "GumptechLogin" = "甘普登錄"; |
20 | "switch" = "切換賬號"; | 20 | "switch" = "切換賬號"; |
21 | "change_password" = "修改密碼"; | 21 | "change_password" = "修改密碼"; |
22 | "current_password" = "當前密碼"; | 22 | "current_password" = "當前密碼"; |
23 | "change_password_notice" = "重置密碼時可不填寫當前密碼"; | 23 | "change_password_notice" = "重置密碼時可不填寫當前密碼"; |
24 | "new_password" = "新密碼"; | 24 | "new_password" = "新密碼"; |
25 | "Reset" = "忘記密碼點此重置"; | 25 | "Reset" = "忘記密碼點此重置"; |
26 | "Confirm" = "確定"; | 26 | "Confirm" = "確定"; |
27 | "Succeed" = "修改成功"; | 27 | "Succeed" = "修改成功"; |
28 | "reset_fail" = "修改失败,請與客服聯系"; | 28 | "reset_fail" = "修改失败,請與客服聯系"; |
29 | "reset_success" = "驗證郵件已發送,請按照郵件提示進行重置"; | 29 | "reset_success" = "驗證郵件已發送,請按照郵件提示進行重置"; |
30 | "other_login_style" = "其他登錄方式"; | 30 | "other_login_style" = "其他登錄方式"; |
31 | "account_pwd_invalid" = "帳號或密碼不能為空"; | 31 | "account_pwd_invalid" = "帳號或密碼不能為空"; |
32 | "new_old_password_diff" = "密碼不一致"; | 32 | "new_old_password_diff" = "密碼不一致"; |
33 | "Confirm_password" = "確認密碼"; | 33 | "Confirm_password" = "確認密碼"; |
34 | "forget_change_password" = "修改/忘記密碼"; | 34 | "forget_change_password" = "修改/忘記密碼"; |
35 | "input_new_pwd" = "請輸入新密碼"; | 35 | "input_new_pwd" = "請輸入新密碼"; |
36 | "back" = "返回"; | 36 | "back" = "返回"; |
37 | "play_btn_notice" = "您登錄了遊客帳戶。為了您的帳號安全,避免數據丟失,請點擊註冊帳號完成註冊。遊客信息將自動轉移至新帳號。"; | 37 | "play_btn_notice" = "您登錄了遊客帳戶。為了您的帳號安全,避免數據丟失,請點擊註冊帳號完成註冊。遊客信息將自動轉移至新帳號。"; |
38 | "Notice" = "提示"; | 38 | "Notice" = "提示"; |
39 | "Continue" = "继续登录"; | 39 | "Continue" = "繼續登錄"; |
40 | "Log_in" = "注册账号"; | 40 | "Log_in" = "註冊帳號"; |
41 | 41 |