Commit c80ffd587befd93b8ec16f2058cca128f3ffb3d9

Authored by alexYang
0 parents
Exists in master

SDK

Showing 53 changed files with 1590 additions and 0 deletions Inline Diff

File was created 1 Pods/
2 Podfile.lock
3
GameActivitySDK.framework/GameActivitySDK
File was created 1 Versions/Current/GameActivitySDK
GameActivitySDK.framework/Headers
File was created 1 Versions/Current/Headers
GameActivitySDK.framework/Versions/A/GameActivitySDK
No preview for this file type
GameActivitySDK.framework/Versions/A/Headers/LetsGameActivityAPI.h
File was created 1 //
2 // LetsGameActivityAPI.h
3 // GameActivitySDK
4 //
5 // Created by yanglele on 2018/6/11.
6 // Copyright © 2018年 alexYang. All rights reserved.
7 //
8
9 #import <Foundation/Foundation.h>
10 #import <UIKit/UIKit.h>
11
12 static NSString *actVersion = @"1.0.2";
13
14 @interface LetsGameActivityAPI : NSObject<UIApplicationDelegate>
15
16 @property(nonatomic, assign) int isDebug;
17
18 +(instancetype)instance;
19
20 - (void)hide;
21
22 -(void)decideIsDebug:(int)isDebug;
23
24 -(void)GameActivityWithParaDictory:(NSDictionary *)paraDictory handleCallBackL:(void(^)(void))accomplistCallBack;
25
26 @end
27
GameActivitySDK.framework/Versions/Current
No preview for this file type
GameLoginSDK.framework/GameLoginSDK
No preview for this file type
GameLoginSDK.framework/Headers/GPGameLoginSDK.h
File was created 1 //
2 // GPGameLoginSDK.h
3 // GumpLoginSDK
4 //
5 // Created by yanglele on 2018/10/22.
6 // Copyright © 2018年 alexYang. All rights reserved.
7 //
8
9 #import <Foundation/Foundation.h>
10 #import <UIKit/UIKit.h>
11
12 typedef enum:NSInteger{
13 GUESTTYPE = 1,
14 SYSTEMTYPE,
15 GUMPTYPE,
16 }ACCOUNTENTERTYPE;
17
18 typedef void(^GPGameLoginSuccessBlock)(NSNumber *userId, ACCOUNTENTERTYPE type);
19 typedef void(^GPGameLoginFailureBlock)(void);
20
21 static NSString *version = @"1.0.12";
22 @interface GPGameLoginSDK : NSObject
23
24 @property(nonatomic, copy) GPGameLoginSuccessBlock succBlock;
25 @property(nonatomic, copy) GPGameLoginFailureBlock failBlock;
26 @property(nonatomic, copy) NSString *userID;
27 @property(nonatomic, strong) UIViewController *GPViewController;
28
29 +(instancetype)instance;
30
31 -(NSString *)version;
32
33 //游客登录和系统账号登录
34 -(void)GPGameLoginWithViewController:(UIViewController *)VC appID:(NSString *)appID channelId:(NSString *)channelId;
35 //账号联动,只有在切换成功的时候才会有回调
36 -(void)GPGameAccountLinkViewController:(UIViewController *)vc InfoDic:(NSDictionary *)InfoDic callBack:(void (^)(NSNumber *userId, ACCOUNTENTERTYPE type))callBack;
37 //切换系统账号
38 -(void)GPSwitchGameCenterWithViewController:(UIViewController *)vc switchCallBack:(void (^)())switchCallBack;
39
40 -(void)cleanUserInfo;
41
42 @end
43
GameLoginSDK.framework/Headers/GameLoginSDK.h
File was created 1 //
2 // GameLoginSDK.h
3 // GameLoginSDK
4 //
5 // Created by yanglele on 2019/5/21.
6 // Copyright © 2019 yanglele. All rights reserved.
7 //
8
9 #import <UIKit/UIKit.h>
10
11 //! Project version number for GameLoginSDK.
12 FOUNDATION_EXPORT double GameLoginSDKVersionNumber;
13
14 //! Project version string for GameLoginSDK.
15 FOUNDATION_EXPORT const unsigned char GameLoginSDKVersionString[];
16
17 // In this header, you should import all the public headers of your framework using statements like #import <GameLoginSDK/PublicHeader.h>
18
19 #import "AFNetworking.h"
20 #import "GPGameLoginSDK.h"
21
22
GameLoginSDK.framework/Info.plist
No preview for this file type
GameLoginSDK.framework/Modules/module.modulemap
File was created 1 framework module GameLoginSDK {
2 umbrella header "GameLoginSDK.h"
3
4 export *
5 module * { export * }
6 }
7
GameSDK.framework/GameSDK
File was created 1 Versions/Current/GameSDK
GameSDK.framework/Headers
File was created 1 Versions/Current/Headers
GameSDK.framework/Versions/A/GameSDK
No preview for this file type
GameSDK.framework/Versions/A/Headers/LetsGameAPI.h
File was created 1
2 #import <Foundation/Foundation.h>
3
4 //默认横屏
5 static BOOL DeviceOrientationIsHorizontal = YES;
6
7 static NSString *pVersion = @"4.0.6";
8
9 @interface LetsGameAPI : NSObject<UIApplicationDelegate>
10
11 @property (nonatomic, strong) NSString *appId;
12 @property(nonatomic, strong) NSString *channelId;
13 @property (nonatomic, assign) int isDebug;
14 @property (nonatomic, assign) int decideWebTo;
15
16
17 + (instancetype)instance;
18
19 -(NSString*)version;
20
21 +(void)DeviceOrientationIsHorizontal:(BOOL)isDisable;
22 +(BOOL)DeviceOrientationIsHorizontal;
23
24 - (void)hide;
25
26 - (BOOL)handleOpenURL:(NSURL *)url
27 sourceApplication:(NSString *)sourceApplication;
28
29 -(void)pWeb:(NSDictionary*) pWebInfo handleCallBack:(void (^)()) pWebAccomplistCallback;
30
31 -(void)iap:(NSDictionary*) payInfo succCallback:(void (^)(NSString* orderId)) succCallback failCallback:(void (^)(NSString* orderId)) failCallback;
32
33 -(void)registeIapObserver;
34
35 -(void)decideIsDebug:(int)isDebug;
36
37 -(void)decideWebToVersion:(int)decideWebTo;
38 @end
39
GameSDK.framework/Versions/Current
No preview for this file type
GameSDKResources.bundle/ActJs.txt
File was created 1 ;(function() {
2 var messagingIframe,
3 bridge = 'campaign',
4 CUSTOM_PROTOCOL_SCHEME = 'jscall';
5
6
7 if (window[bridge]) { return }
8
9 // 创建隐藏的iframe
10 function _createQueueReadyIframe(doc) {
11 messagingIframe = doc.createElement('iframe');
12 messagingIframe.style.display = 'none';
13 doc.documentElement.appendChild(messagingIframe);
14 }
15
16 window[bridge] = {};
17
18 window[bridge]['closeWin'] = function closeWin(){
19 document.location=CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name;
20 };
21
22
23 //创建iframe,必须在创建app之后,否则会出现死循环
24 _createQueueReadyIframe(document);
25 //通知js开始初始化
26 //alert('onInjectJsOver='+typeof(onInjectJsOver));
27 if(typeof(onInjectJsOver)=='function')
28 onInjectJsOver();
29 })();
30
GameSDKResources.bundle/Js.txt
File was created 1 ;(function() {
2 var messagingIframe,
3 bridge = 'sdk',
4 CUSTOM_PROTOCOL_SCHEME = 'jscall';
5 var appId = '%@' ,deviceId='%@', channelId='%@';
6
7
8 if (window[bridge]) { return }
9
10 // 创建隐藏的iframe
11 function _createQueueReadyIframe(doc) {
12 messagingIframe = doc.createElement('iframe');
13 messagingIframe.style.display = 'none';
14 doc.documentElement.appendChild(messagingIframe);
15 }
16
17 window[bridge] = {};
18
19 window[bridge]['getAppId']=function getAppId(){
20 //alert('appid='+appId);
21 return appId;
22 };
23 window[bridge]['getDeviceId']=function getDeviceId(){
24 return deviceId;
25 };
26 window[bridge]['getChannelId']=function getChannelId(){
27 return channelId;
28 };
29
30 window[bridge]['closeWin'] = function closeWin(uid,nick,sessionKey){
31 document.location=CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name + ':' + encodeURIComponent(JSON.stringify(arguments));
32 };
33
34 window[bridge]['onResult'] = function onResult(result){
35 document.location=CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name + ':' + encodeURIComponent(JSON.stringify(arguments));
36 }
37
38 //var methods = ["closeWin(uid,nick,sessionKey)"];
39 //var methodsWithoutParam =["closeWin"];
40 //for (var i=0;i<methods.length;i++){
41 // var method = methods[i];
42 // var methodWithoutParam = methodsWithoutParam[i];
43 // var code = "(window[bridge])[methodWithoutParam] = function " + method + " {var fs =CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name + ':' + encodeURIComponent(JSON.stringify(arguments)); messagingIframe.src = fs;alert('closeWin src:'+messagingIframe.src);}";
44 // eval(code);
45 //}
46
47 //创建iframe,必须在创建app之后,否则会出现死循环
48 _createQueueReadyIframe(document);
49 //通知js开始初始化
50 //alert('onInjectJsOver='+typeof(onInjectJsOver));
51 if(typeof(onInjectJsOver)=='function')
52 onInjectJsOver();
53
54 })();
55
GameSDKResources.bundle/PayJs.txt
File was created 1 ;(function() {
2 var messagingIframe,webInfoIframe,
3 bridge = 'sdk',
4 CUSTOM_PROTOCOL_SCHEME = 'jscall';
5
6
7 if (window[bridge]) { return }
8
9 // 创建隐藏的iframe
10 function _createQueueReadyIframe(doc) {
11 messagingIframe = doc.createElement('iframe');
12 messagingIframe.style.display = 'none';
13 doc.documentElement.appendChild(messagingIframe);
14 webInfoIframe = doc.createElement('iframe');
15 webInfoIframe.style.display = 'none';
16 doc.documentElement.appendChild(webInfoIframe);
17 }
18
19
20
21 window[bridge] = {};
22
23 window[bridge]['webVer'] = function webVer(webVer){
24
25 webInfoIframe.src=CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name + ':' + encodeURIComponent(JSON.stringify(arguments));
26 };
27
28
29
30 window[bridge]['payWithBlue'] = function payWithBlue(payGateId,price,cardNO,roleId){
31
32 messagingIframe.src=CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name + ':' + encodeURIComponent(JSON.stringify(arguments));
33 };
34
35
36 window[bridge]['closeWin'] = function closeWin(oid,status,extraInfo){
37
38 messagingIframe.src=CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name + ':' + encodeURIComponent(JSON.stringify(arguments));
39 };
40
41 window[bridge]['newWindow'] = function newWindow(url){
42 messagingIframe.src=CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name + ':' + encodeURIComponent(JSON.stringify(arguments));
43 }
44
45 //var methods = ["closeWin(uid,nick,sessionKey)"];
46 //var methodsWithoutParam =["closeWin"];
47 //for (var i=0;i<methods.length;i++){
48 // var method = methods[i];
49 // var methodWithoutParam = methodsWithoutParam[i];
50 // var code = "(window[bridge])[methodWithoutParam] = function " + method + " {var fs =CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name + ':' + encodeURIComponent(JSON.stringify(arguments)); messagingIframe.src = fs;alert('closeWin src:'+messagingIframe.src);}";
51 // eval(code);
52 //}
53
54 //创建iframe,必须在创建app之后,否则会出现死循环
55 _createQueueReadyIframe(document);
56 //通知js开始初始化
57 if(typeof(onInjectJsOver)=='function')
58 onInjectJsOver();
59
60 })();
61
GameSDKResources.bundle/de.strings
File was created 1 "user_name_hint" = "Das System hat festgestellt, dass du dich bereits bei einem anderen Konto angemeldet hast. Bist du sicher,das Konto zu wechseln?";
2 "account_change_cancel" = "Abbrechen";
3 "account_change_certain" = "Wechseln";
4 "account_switch_warn" = "Geh in die Einstellungen--Game Center--Öffne Game Center, logge dich wieder ein.";
5 "account_change_certain" = "Bestätigen";
6
GameSDKResources.bundle/en.strings
File was created 1 "user_name_hint" = "We have detected that you have already logged in to another account. Are you sure to switch?";
2 "account_change_cancel" = "Cancel";
3 "account_change_certain" = "Switch";
4 "account_switch_warn" = "Please click settings--Game Center--open Game Center, then restart the game.";
5 "account_change_certain" = "Confirm";
6 "uncomplete_transaction" = "Please complete the unpaid transaction first.";
7
GameSDKResources.bundle/images/close@2x.png

3.99 KB

GameSDKResources.bundle/images/icon_cancel@2x.png

3.11 KB

GameSDKResources.bundle/images/icon_cancel_pressed@2x.png

3.12 KB

GameSDKResources.bundle/images/icon_close@2x.png

974 Bytes

GameSDKResources.bundle/images/loading@2x.png

11.4 KB

GameSDKResources.bundle/ko.strings
File was created 1 "user_name_hint" = "시스템 탐지 결과 다른 계정으로 로그인한 적이 있습니다. 지금 계정으로 전환하시겠습니까?";
2 "account_change_cancel" = "취소";
3 "account_change_certain" = "전환";
4 "account_switch_warn" = "Please log in Game Center in the setting, then please restarting the game.";
5 "account_change_certain" = "Confirm";
6
GameSDKResources.bundle/loginJs.txt
File was created 1 ;(function() {
2 var messagingIframe,
3 bridge = 'sdk',
4 CUSTOM_PROTOCOL_SCHEME = 'jscall';
5
6 if (window[bridge]) { return }
7
8 // 创建隐藏的iframe
9 function _createQueueReadyIframe(doc) {
10 messagingIframe = doc.createElement('iframe');
11 messagingIframe.style.display = 'none';
12 doc.documentElement.appendChild(messagingIframe);
13 }
14
15 window[bridge] = {};
16
17 window[bridge]['onResult'] = function onResult(result){
18 document.location=CUSTOM_PROTOCOL_SCHEME + ':' + arguments.callee.name + ':' + encodeURIComponent(JSON.stringify(arguments));
19 }
20
21 //创建iframe,必须在创建app之后,否则会出现死循环
22 _createQueueReadyIframe(document);
23 //通知js开始初始化
24 //alert('onInjectJsOver='+typeof(onInjectJsOver));
25 if(typeof(onInjectJsOver)=='function')
26 onInjectJsOver();
27
28 })();
29
30
GameSDKResources.bundle/th.strings
File was created 1 "user_name_hint" = "ระบบตรวจพบว่าคุณได้ลงชื่อเข้าใช้บัญชีอื่นมาก่อน คุณต้องการจะเปลียนหรือไม่?";
2 "account_change_cancel" = "ยกเลิก";
3 "account_change_certain" = "ตกลง";
4 "account_switch_warn" = "กรุณาเข้าสู่การตั้งค่า --Game Center--เปิด Game Center จากนั้นให้เข้าสู่เกมอีกรอบ.";
5 "account_change_certain" = "ยืนยัน";
6 "uncomplete_transaction" = "คุณมีคำสั่งซื้อที่ค้างชำระโปรดชำระเงินให้เสร็จก่อน";
7
GameSDKResources.bundle/vi.strings
File was created 1 "user_name_hint" = "Hệ thống kiểm tra thấy bạn từng đăng nhập qua tài khoản khác, xác nhận muốn chuyển?";
2 "account_change_cancel" = "Hủy bỏ";
3 "account_change_certain" = "Chuyển";
4 "account_switch_warn" = "Vào cài đặt -- Game Center -- Mở Game Center, sau đó vào lại game.";
5 "account_change_certain" = "Xác nhận";
6
GameSDKResources.bundle/zh-Hans.strings
File was created 1 "account_change_warn" = "系统检测到您之前登录过其他账号,您确定要切换吗?";
2 "account_change_cancel" = "取消";
3 "account_change_certain" = "切换";
4 "account_switch_warn" = "请进入设置--Game Center--打开Game Center,然后重新进入游戏";
5 "account_change_certain" = "确定";
6 "uncomplete_transaction" = "您有未支付的订单,请先完成支付";
7
GameSDKResources.bundle/zh-Hant.strings
File was created 1 "user_name_hint" = "系統檢測到您之前登錄過其他帳號,您確定要切換嗎?";
2 "account_change_cancel" = "取消";
3 "account_change_certain" = "切換";
4 "account_switch_warn" = "請進入設置--Game Center--打开Game Center,然后重新进入游戏";
5 "account_change_certain" = "确定";
6 "uncomplete_transaction" = "您有未支付的訂單,請先完成支付";
7
NNewGumpSDKDemo.xcodeproj/project.pbxproj
File was created 1 // !$*UTF8*$!
2 {
3 archiveVersion = 1;
4 classes = {
5 };
6 objectVersion = 50;
7 objects = {
8
9 /* Begin PBXBuildFile section */
10 756B304F2297903F00FC3611 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 756B304E2297903F00FC3611 /* AppDelegate.m */; };
11 756B30522297903F00FC3611 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 756B30512297903F00FC3611 /* ViewController.m */; };
12 756B30552297903F00FC3611 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 756B30532297903F00FC3611 /* Main.storyboard */; };
13 756B30572297904100FC3611 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 756B30562297904100FC3611 /* Assets.xcassets */; };
14 756B305A2297904100FC3611 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 756B30582297904100FC3611 /* LaunchScreen.storyboard */; };
15 756B305D2297904100FC3611 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 756B305C2297904100FC3611 /* main.m */; };
16 756B30642297946700FC3611 /* GameLoginSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 756B30632297946700FC3611 /* GameLoginSDK.framework */; };
17 756B3066229795A200FC3611 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 756B3065229795A100FC3611 /* MobileCoreServices.framework */; };
18 756B3068229795AE00FC3611 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 756B3067229795AE00FC3611 /* SystemConfiguration.framework */; };
19 756B306A229795BE00FC3611 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 756B3069229795BE00FC3611 /* libz.tbd */; };
20 756B306C229795C600FC3611 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 756B306B229795C600FC3611 /* CFNetwork.framework */; };
21 756B306E229795D900FC3611 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 756B306D229795D900FC3611 /* StoreKit.framework */; };
22 756B30712297981F00FC3611 /* GameSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 756B306F2297981F00FC3611 /* GameSDK.framework */; };
23 756B30722297981F00FC3611 /* GameActivitySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 756B30702297981F00FC3611 /* GameActivitySDK.framework */; };
24 756B30742297984400FC3611 /* GameSDKResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 756B30732297984400FC3611 /* GameSDKResources.bundle */; };
25 EA9B2EA364B82BF139030053 /* libPods-NNewGumpSDKDemo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EBF50E9DF0470BF03E9B344C /* libPods-NNewGumpSDKDemo.a */; };
26 /* End PBXBuildFile section */
27
28 /* Begin PBXFileReference section */
29 1EDB11E6B0C8AEEDAEC140CE /* Pods-NNewGumpSDKDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NNewGumpSDKDemo.release.xcconfig"; path = "Target Support Files/Pods-NNewGumpSDKDemo/Pods-NNewGumpSDKDemo.release.xcconfig"; sourceTree = "<group>"; };
30 3542F531EBEE40BC67CFFF09 /* Pods-NNewGumpSDKDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NNewGumpSDKDemo.debug.xcconfig"; path = "Target Support Files/Pods-NNewGumpSDKDemo/Pods-NNewGumpSDKDemo.debug.xcconfig"; sourceTree = "<group>"; };
31 756B304A2297903F00FC3611 /* NNewGumpSDKDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NNewGumpSDKDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
32 756B304D2297903F00FC3611 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
33 756B304E2297903F00FC3611 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
34 756B30502297903F00FC3611 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
35 756B30512297903F00FC3611 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
36 756B30542297903F00FC3611 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
37 756B30562297904100FC3611 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
38 756B30592297904100FC3611 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
39 756B305B2297904100FC3611 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
40 756B305C2297904100FC3611 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
41 756B30632297946700FC3611 /* GameLoginSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GameLoginSDK.framework; sourceTree = "<group>"; };
42 756B3065229795A100FC3611 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
43 756B3067229795AE00FC3611 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
44 756B3069229795BE00FC3611 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
45 756B306B229795C600FC3611 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
46 756B306D229795D900FC3611 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
47 756B306F2297981F00FC3611 /* GameSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GameSDK.framework; sourceTree = "<group>"; };
48 756B30702297981F00FC3611 /* GameActivitySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GameActivitySDK.framework; sourceTree = "<group>"; };
49 756B30732297984400FC3611 /* GameSDKResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = GameSDKResources.bundle; sourceTree = SOURCE_ROOT; };
50 EBF50E9DF0470BF03E9B344C /* libPods-NNewGumpSDKDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NNewGumpSDKDemo.a"; sourceTree = BUILT_PRODUCTS_DIR; };
51 /* End PBXFileReference section */
52
53 /* Begin PBXFrameworksBuildPhase section */
54 756B30472297903F00FC3611 /* Frameworks */ = {
55 isa = PBXFrameworksBuildPhase;
56 buildActionMask = 2147483647;
57 files = (
58 756B306E229795D900FC3611 /* StoreKit.framework in Frameworks */,
59 756B30712297981F00FC3611 /* GameSDK.framework in Frameworks */,
60 756B306C229795C600FC3611 /* CFNetwork.framework in Frameworks */,
61 756B306A229795BE00FC3611 /* libz.tbd in Frameworks */,
62 756B30722297981F00FC3611 /* GameActivitySDK.framework in Frameworks */,
63 756B3068229795AE00FC3611 /* SystemConfiguration.framework in Frameworks */,
64 756B3066229795A200FC3611 /* MobileCoreServices.framework in Frameworks */,
65 EA9B2EA364B82BF139030053 /* libPods-NNewGumpSDKDemo.a in Frameworks */,
66 756B30642297946700FC3611 /* GameLoginSDK.framework in Frameworks */,
67 );
68 runOnlyForDeploymentPostprocessing = 0;
69 };
70 /* End PBXFrameworksBuildPhase section */
71
72 /* Begin PBXGroup section */
73 29D135BD4C86371851C24BCB /* Pods */ = {
74 isa = PBXGroup;
75 children = (
76 3542F531EBEE40BC67CFFF09 /* Pods-NNewGumpSDKDemo.debug.xcconfig */,
77 1EDB11E6B0C8AEEDAEC140CE /* Pods-NNewGumpSDKDemo.release.xcconfig */,
78 );
79 path = Pods;
80 sourceTree = "<group>";
81 };
82 756B30412297903F00FC3611 = {
83 isa = PBXGroup;
84 children = (
85 756B304C2297903F00FC3611 /* NNewGumpSDKDemo */,
86 756B304B2297903F00FC3611 /* Products */,
87 29D135BD4C86371851C24BCB /* Pods */,
88 7E8156ADA6F179F41BE9A040 /* Frameworks */,
89 );
90 sourceTree = "<group>";
91 };
92 756B304B2297903F00FC3611 /* Products */ = {
93 isa = PBXGroup;
94 children = (
95 756B304A2297903F00FC3611 /* NNewGumpSDKDemo.app */,
96 );
97 name = Products;
98 sourceTree = "<group>";
99 };
100 756B304C2297903F00FC3611 /* NNewGumpSDKDemo */ = {
101 isa = PBXGroup;
102 children = (
103 756B30732297984400FC3611 /* GameSDKResources.bundle */,
104 756B304D2297903F00FC3611 /* AppDelegate.h */,
105 756B304E2297903F00FC3611 /* AppDelegate.m */,
106 756B30502297903F00FC3611 /* ViewController.h */,
107 756B30512297903F00FC3611 /* ViewController.m */,
108 756B30532297903F00FC3611 /* Main.storyboard */,
109 756B30562297904100FC3611 /* Assets.xcassets */,
110 756B30582297904100FC3611 /* LaunchScreen.storyboard */,
111 756B305B2297904100FC3611 /* Info.plist */,
112 756B305C2297904100FC3611 /* main.m */,
113 );
114 path = NNewGumpSDKDemo;
115 sourceTree = "<group>";
116 };
117 7E8156ADA6F179F41BE9A040 /* Frameworks */ = {
118 isa = PBXGroup;
119 children = (
120 756B30702297981F00FC3611 /* GameActivitySDK.framework */,
121 756B306F2297981F00FC3611 /* GameSDK.framework */,
122 756B306D229795D900FC3611 /* StoreKit.framework */,
123 756B306B229795C600FC3611 /* CFNetwork.framework */,
124 756B3069229795BE00FC3611 /* libz.tbd */,
125 756B3067229795AE00FC3611 /* SystemConfiguration.framework */,
126 756B3065229795A100FC3611 /* MobileCoreServices.framework */,
127 756B30632297946700FC3611 /* GameLoginSDK.framework */,
128 EBF50E9DF0470BF03E9B344C /* libPods-NNewGumpSDKDemo.a */,
129 );
130 name = Frameworks;
131 sourceTree = "<group>";
132 };
133 /* End PBXGroup section */
134
135 /* Begin PBXNativeTarget section */
136 756B30492297903F00FC3611 /* NNewGumpSDKDemo */ = {
137 isa = PBXNativeTarget;
138 buildConfigurationList = 756B30602297904100FC3611 /* Build configuration list for PBXNativeTarget "NNewGumpSDKDemo" */;
139 buildPhases = (
140 E5EB7625F3A85AD19B7D73C3 /* [CP] Check Pods Manifest.lock */,
141 756B30462297903F00FC3611 /* Sources */,
142 756B30472297903F00FC3611 /* Frameworks */,
143 756B30482297903F00FC3611 /* Resources */,
144 );
145 buildRules = (
146 );
147 dependencies = (
148 );
149 name = NNewGumpSDKDemo;
150 productName = NNewGumpSDKDemo;
151 productReference = 756B304A2297903F00FC3611 /* NNewGumpSDKDemo.app */;
152 productType = "com.apple.product-type.application";
153 };
154 /* End PBXNativeTarget section */
155
156 /* Begin PBXProject section */
157 756B30422297903F00FC3611 /* Project object */ = {
158 isa = PBXProject;
159 attributes = {
160 LastUpgradeCheck = 1020;
161 ORGANIZATIONNAME = yanglele;
162 TargetAttributes = {
163 756B30492297903F00FC3611 = {
164 CreatedOnToolsVersion = 10.2.1;
165 };
166 };
167 };
168 buildConfigurationList = 756B30452297903F00FC3611 /* Build configuration list for PBXProject "NNewGumpSDKDemo" */;
169 compatibilityVersion = "Xcode 9.3";
170 developmentRegion = en;
171 hasScannedForEncodings = 0;
172 knownRegions = (
173 en,
174 Base,
175 );
176 mainGroup = 756B30412297903F00FC3611;
177 productRefGroup = 756B304B2297903F00FC3611 /* Products */;
178 projectDirPath = "";
179 projectRoot = "";
180 targets = (
181 756B30492297903F00FC3611 /* NNewGumpSDKDemo */,
182 );
183 };
184 /* End PBXProject section */
185
186 /* Begin PBXResourcesBuildPhase section */
187 756B30482297903F00FC3611 /* Resources */ = {
188 isa = PBXResourcesBuildPhase;
189 buildActionMask = 2147483647;
190 files = (
191 756B305A2297904100FC3611 /* LaunchScreen.storyboard in Resources */,
192 756B30572297904100FC3611 /* Assets.xcassets in Resources */,
193 756B30742297984400FC3611 /* GameSDKResources.bundle in Resources */,
194 756B30552297903F00FC3611 /* Main.storyboard in Resources */,
195 );
196 runOnlyForDeploymentPostprocessing = 0;
197 };
198 /* End PBXResourcesBuildPhase section */
199
200 /* Begin PBXShellScriptBuildPhase section */
201 E5EB7625F3A85AD19B7D73C3 /* [CP] Check Pods Manifest.lock */ = {
202 isa = PBXShellScriptBuildPhase;
203 buildActionMask = 2147483647;
204 files = (
205 );
206 inputFileListPaths = (
207 );
208 inputPaths = (
209 "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
210 "${PODS_ROOT}/Manifest.lock",
211 );
212 name = "[CP] Check Pods Manifest.lock";
213 outputFileListPaths = (
214 );
215 outputPaths = (
216 "$(DERIVED_FILE_DIR)/Pods-NNewGumpSDKDemo-checkManifestLockResult.txt",
217 );
218 runOnlyForDeploymentPostprocessing = 0;
219 shellPath = /bin/sh;
220 shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
221 showEnvVarsInLog = 0;
222 };
223 /* End PBXShellScriptBuildPhase section */
224
225 /* Begin PBXSourcesBuildPhase section */
226 756B30462297903F00FC3611 /* Sources */ = {
227 isa = PBXSourcesBuildPhase;
228 buildActionMask = 2147483647;
229 files = (
230 756B30522297903F00FC3611 /* ViewController.m in Sources */,
231 756B305D2297904100FC3611 /* main.m in Sources */,
232 756B304F2297903F00FC3611 /* AppDelegate.m in Sources */,
233 );
234 runOnlyForDeploymentPostprocessing = 0;
235 };
236 /* End PBXSourcesBuildPhase section */
237
238 /* Begin PBXVariantGroup section */
239 756B30532297903F00FC3611 /* Main.storyboard */ = {
240 isa = PBXVariantGroup;
241 children = (
242 756B30542297903F00FC3611 /* Base */,
243 );
244 name = Main.storyboard;
245 sourceTree = "<group>";
246 };
247 756B30582297904100FC3611 /* LaunchScreen.storyboard */ = {
248 isa = PBXVariantGroup;
249 children = (
250 756B30592297904100FC3611 /* Base */,
251 );
252 name = LaunchScreen.storyboard;
253 sourceTree = "<group>";
254 };
255 /* End PBXVariantGroup section */
256
257 /* Begin XCBuildConfiguration section */
258 756B305E2297904100FC3611 /* Debug */ = {
259 isa = XCBuildConfiguration;
260 buildSettings = {
261 ALWAYS_SEARCH_USER_PATHS = NO;
262 CLANG_ANALYZER_NONNULL = YES;
263 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
264 CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
265 CLANG_CXX_LIBRARY = "libc++";
266 CLANG_ENABLE_MODULES = YES;
267 CLANG_ENABLE_OBJC_ARC = YES;
268 CLANG_ENABLE_OBJC_WEAK = YES;
269 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
270 CLANG_WARN_BOOL_CONVERSION = YES;
271 CLANG_WARN_COMMA = YES;
272 CLANG_WARN_CONSTANT_CONVERSION = YES;
273 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
274 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
275 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
276 CLANG_WARN_EMPTY_BODY = YES;
277 CLANG_WARN_ENUM_CONVERSION = YES;
278 CLANG_WARN_INFINITE_RECURSION = YES;
279 CLANG_WARN_INT_CONVERSION = YES;
280 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
281 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
282 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
283 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
284 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
285 CLANG_WARN_STRICT_PROTOTYPES = YES;
286 CLANG_WARN_SUSPICIOUS_MOVE = YES;
287 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
288 CLANG_WARN_UNREACHABLE_CODE = YES;
289 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
290 CODE_SIGN_IDENTITY = "iPhone Developer";
291 COPY_PHASE_STRIP = NO;
292 DEBUG_INFORMATION_FORMAT = dwarf;
293 ENABLE_STRICT_OBJC_MSGSEND = YES;
294 ENABLE_TESTABILITY = YES;
295 GCC_C_LANGUAGE_STANDARD = gnu11;
296 GCC_DYNAMIC_NO_PIC = NO;
297 GCC_NO_COMMON_BLOCKS = YES;
298 GCC_OPTIMIZATION_LEVEL = 0;
299 GCC_PREPROCESSOR_DEFINITIONS = (
300 "DEBUG=1",
301 "$(inherited)",
302 );
303 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
304 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
305 GCC_WARN_UNDECLARED_SELECTOR = YES;
306 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
307 GCC_WARN_UNUSED_FUNCTION = YES;
308 GCC_WARN_UNUSED_VARIABLE = YES;
309 IPHONEOS_DEPLOYMENT_TARGET = 9.0;
310 MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
311 MTL_FAST_MATH = YES;
312 ONLY_ACTIVE_ARCH = YES;
313 SDKROOT = iphoneos;
314 };
315 name = Debug;
316 };
317 756B305F2297904100FC3611 /* Release */ = {
318 isa = XCBuildConfiguration;
319 buildSettings = {
320 ALWAYS_SEARCH_USER_PATHS = NO;
321 CLANG_ANALYZER_NONNULL = YES;
322 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
323 CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
324 CLANG_CXX_LIBRARY = "libc++";
325 CLANG_ENABLE_MODULES = YES;
326 CLANG_ENABLE_OBJC_ARC = YES;
327 CLANG_ENABLE_OBJC_WEAK = YES;
328 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
329 CLANG_WARN_BOOL_CONVERSION = YES;
330 CLANG_WARN_COMMA = YES;
331 CLANG_WARN_CONSTANT_CONVERSION = YES;
332 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
333 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
334 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
335 CLANG_WARN_EMPTY_BODY = YES;
336 CLANG_WARN_ENUM_CONVERSION = YES;
337 CLANG_WARN_INFINITE_RECURSION = YES;
338 CLANG_WARN_INT_CONVERSION = YES;
339 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
340 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
341 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
342 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
343 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
344 CLANG_WARN_STRICT_PROTOTYPES = YES;
345 CLANG_WARN_SUSPICIOUS_MOVE = YES;
346 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
347 CLANG_WARN_UNREACHABLE_CODE = YES;
348 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
349 CODE_SIGN_IDENTITY = "iPhone Developer";
350 COPY_PHASE_STRIP = NO;
351 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
352 ENABLE_NS_ASSERTIONS = NO;
353 ENABLE_STRICT_OBJC_MSGSEND = YES;
354 GCC_C_LANGUAGE_STANDARD = gnu11;
355 GCC_NO_COMMON_BLOCKS = YES;
356 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
357 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
358 GCC_WARN_UNDECLARED_SELECTOR = YES;
359 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
360 GCC_WARN_UNUSED_FUNCTION = YES;
361 GCC_WARN_UNUSED_VARIABLE = YES;
362 IPHONEOS_DEPLOYMENT_TARGET = 9.0;
363 MTL_ENABLE_DEBUG_INFO = NO;
364 MTL_FAST_MATH = YES;
365 SDKROOT = iphoneos;
366 VALIDATE_PRODUCT = YES;
367 };
368 name = Release;
369 };
370 756B30612297904100FC3611 /* Debug */ = {
371 isa = XCBuildConfiguration;
372 baseConfigurationReference = 3542F531EBEE40BC67CFFF09 /* Pods-NNewGumpSDKDemo.debug.xcconfig */;
373 buildSettings = {
374 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
375 CODE_SIGN_IDENTITY = "iPhone Developer";
376 CODE_SIGN_STYLE = Manual;
377 DEVELOPMENT_TEAM = T65VA5M82Q;
378 FRAMEWORK_SEARCH_PATHS = (
379 "$(inherited)",
380 "$(PROJECT_DIR)",
381 "$(PROJECT_DIR)/GameLoginSDK.framework",
382 "$(PROJECT_DIR)/GameActivitySDK.framework",
383 "$(PROJECT_DIR)/GameSDK.framework",
384 );
385 HEADER_SEARCH_PATHS = (
386 "$(inherited)",
387 "\"${PODS_ROOT}/Headers/Public\"",
388 "\"${PODS_ROOT}/Headers/Public/AFNetworking\"",
389 "\"${PODS_ROOT}/Headers/Public/SDWebImage\"",
390 "$(PROJECT_DIR)/GameLoginSDK.framework/**",
391 "$(PROJECT_DIR)/GameSDK.framework/**",
392 "$(PROJECT_DIR)/GameActivitySDK.framework/**",
393 );
394 INFOPLIST_FILE = NNewGumpSDKDemo/Info.plist;
395 IPHONEOS_DEPLOYMENT_TARGET = 9.0;
396 LD_RUNPATH_SEARCH_PATHS = (
397 "$(inherited)",
398 "@executable_path/Frameworks",
399 );
400 OTHER_LIBTOOLFLAGS = "";
401 PRODUCT_BUNDLE_IDENTIFIER = com.deepwireless.crabcrab;
402 PRODUCT_NAME = "$(TARGET_NAME)";
403 PROVISIONING_PROFILE_SPECIFIER = comdeepwirelesscrabcrabDev;
404 TARGETED_DEVICE_FAMILY = "1,2";
405 };
406 name = Debug;
407 };
408 756B30622297904100FC3611 /* Release */ = {
409 isa = XCBuildConfiguration;
410 baseConfigurationReference = 1EDB11E6B0C8AEEDAEC140CE /* Pods-NNewGumpSDKDemo.release.xcconfig */;
411 buildSettings = {
412 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
413 CODE_SIGN_IDENTITY = "iPhone Distribution";
414 CODE_SIGN_STYLE = Manual;
415 DEVELOPMENT_TEAM = T65VA5M82Q;
416 FRAMEWORK_SEARCH_PATHS = (
417 "$(inherited)",
418 "$(PROJECT_DIR)",
419 "$(PROJECT_DIR)/GameLoginSDK.framework",
420 "$(PROJECT_DIR)/GameActivitySDK.framework",
421 "$(PROJECT_DIR)/GameSDK.framework",
422 );
423 HEADER_SEARCH_PATHS = (
424 "$(inherited)",
425 "\"${PODS_ROOT}/Headers/Public\"",
426 "\"${PODS_ROOT}/Headers/Public/AFNetworking\"",
427 "\"${PODS_ROOT}/Headers/Public/SDWebImage\"",
428 "$(PROJECT_DIR)/GameLoginSDK.framework/**",
429 "$(PROJECT_DIR)/GameSDK.framework/**",
430 "$(PROJECT_DIR)/GameActivitySDK.framework/**",
431 );
432 INFOPLIST_FILE = NNewGumpSDKDemo/Info.plist;
433 IPHONEOS_DEPLOYMENT_TARGET = 9.0;
434 LD_RUNPATH_SEARCH_PATHS = (
435 "$(inherited)",
436 "@executable_path/Frameworks",
437 );
438 OTHER_LIBTOOLFLAGS = "";
439 PRODUCT_BUNDLE_IDENTIFIER = com.deepwireless.crabcrab;
440 PRODUCT_NAME = "$(TARGET_NAME)";
441 PROVISIONING_PROFILE_SPECIFIER = comdeepwirelesscrabcrabDis;
442 TARGETED_DEVICE_FAMILY = "1,2";
443 };
444 name = Release;
445 };
446 /* End XCBuildConfiguration section */
447
448 /* Begin XCConfigurationList section */
449 756B30452297903F00FC3611 /* Build configuration list for PBXProject "NNewGumpSDKDemo" */ = {
450 isa = XCConfigurationList;
451 buildConfigurations = (
452 756B305E2297904100FC3611 /* Debug */,
453 756B305F2297904100FC3611 /* Release */,
454 );
455 defaultConfigurationIsVisible = 0;
456 defaultConfigurationName = Release;
457 };
458 756B30602297904100FC3611 /* Build configuration list for PBXNativeTarget "NNewGumpSDKDemo" */ = {
459 isa = XCConfigurationList;
460 buildConfigurations = (
461 756B30612297904100FC3611 /* Debug */,
462 756B30622297904100FC3611 /* Release */,
463 );
464 defaultConfigurationIsVisible = 0;
465 defaultConfigurationName = Release;
466 };
467 /* End XCConfigurationList section */
468 };
469 rootObject = 756B30422297903F00FC3611 /* Project object */;
470 }
471
NNewGumpSDKDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <Workspace
3 version = "1.0">
4 <FileRef
5 location = "self:NNewGumpSDKDemo.xcodeproj">
6 </FileRef>
7 </Workspace>
8
NNewGumpSDKDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0">
4 <dict>
5 <key>IDEDidComputeMac32BitWarning</key>
6 <true/>
7 </dict>
8 </plist>
9
NNewGumpSDKDemo.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
NNewGumpSDKDemo.xcodeproj/xcuserdata/yanglele.xcuserdatad/xcschemes/xcschememanagement.plist
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0">
4 <dict>
5 <key>SchemeUserState</key>
6 <dict>
7 <key>NNewGumpSDKDemo.xcscheme_^#shared#^_</key>
8 <dict>
9 <key>orderHint</key>
10 <integer>2</integer>
11 </dict>
12 </dict>
13 </dict>
14 </plist>
15
NNewGumpSDKDemo.xcworkspace/contents.xcworkspacedata
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <Workspace
3 version = "1.0">
4 <FileRef
5 location = "group:NNewGumpSDKDemo.xcodeproj">
6 </FileRef>
7 <FileRef
8 location = "group:Pods/Pods.xcodeproj">
9 </FileRef>
10 </Workspace>
11
NNewGumpSDKDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0">
4 <dict>
5 <key>IDEDidComputeMac32BitWarning</key>
6 <true/>
7 </dict>
8 </plist>
9
NNewGumpSDKDemo.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
NNewGumpSDKDemo.xcworkspace/xcuserdata/yanglele.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <Bucket
3 type = "0"
4 version = "2.0">
5 </Bucket>
6
NNewGumpSDKDemo/AppDelegate.h
File was created 1 //
2 // AppDelegate.h
3 // NNewGumpSDKDemo
4 //
5 // Created by yanglele on 2019/5/24.
6 // Copyright © 2019 yanglele. All rights reserved.
7 //
8
9 #import <UIKit/UIKit.h>
10
11 @interface AppDelegate : UIResponder <UIApplicationDelegate>
12
13 @property (strong, nonatomic) UIWindow *window;
14
15
16 @end
17
18
NNewGumpSDKDemo/AppDelegate.m
File was created 1 //
2 // AppDelegate.m
3 // NNewGumpSDKDemo
4 //
5 // Created by yanglele on 2019/5/24.
6 // Copyright © 2019 yanglele. All rights reserved.
7 //
8
9 #import "AppDelegate.h"
10 #import "ViewController.h"
11 #import "LetsGameAPI.h"
12 #import "LetsGameActivityAPI.h"
13
14
15 @interface AppDelegate ()
16
17 @end
18
19 @implementation AppDelegate
20
21
22 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
23 // Override point for customization after application launch.
24 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
25 ViewController *vc = [[ViewController alloc] init];
26 self.window.rootViewController = vc;
27
28 self.window.backgroundColor = [UIColor whiteColor];
29 [self.window makeKeyAndVisible];
30
31 //设置sdk测试服务器
32 // [[LetsGameAPI instance] decideIsDebug:1];
33 //设置第三方支付版本,不设置时,默认是v3,设置为1的时候是v4版本
34 // [[LetsGameAPI instance] decideWebToVersion:1];
35
36 [[UIApplication sharedApplication] setStatusBarHidden:YES];
37 //注册苹果内购支付
38 [[LetsGameAPI instance] registeIapObserver];
39
40 return YES;
41 }
42
43
44 - (void)applicationWillResignActive:(UIApplication *)application {
45 // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
46 // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
47 }
48
49
50 - (void)applicationDidEnterBackground:(UIApplication *)application {
51 // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
52 // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
53 }
54
55
56 - (void)applicationWillEnterForeground:(UIApplication *)application {
57 // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
58 }
59
60
61 - (void)applicationDidBecomeActive:(UIApplication *)application {
62 // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
63 }
64
65
66 - (void)applicationWillTerminate:(UIApplication *)application {
67 // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
68 }
69
70 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
71 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
72
73 }
74
75
76
77 @end
78
NNewGumpSDKDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
File was created 1 {
2 "images" : [
3 {
4 "idiom" : "iphone",
5 "size" : "20x20",
6 "scale" : "2x"
7 },
8 {
9 "idiom" : "iphone",
10 "size" : "20x20",
11 "scale" : "3x"
12 },
13 {
14 "idiom" : "iphone",
15 "size" : "29x29",
16 "scale" : "2x"
17 },
18 {
19 "idiom" : "iphone",
20 "size" : "29x29",
21 "scale" : "3x"
22 },
23 {
24 "idiom" : "iphone",
25 "size" : "40x40",
26 "scale" : "2x"
27 },
28 {
29 "idiom" : "iphone",
30 "size" : "40x40",
31 "scale" : "3x"
32 },
33 {
34 "idiom" : "iphone",
35 "size" : "60x60",
36 "scale" : "2x"
37 },
38 {
39 "idiom" : "iphone",
40 "size" : "60x60",
41 "scale" : "3x"
42 },
43 {
44 "idiom" : "ipad",
45 "size" : "20x20",
46 "scale" : "1x"
47 },
48 {
49 "idiom" : "ipad",
50 "size" : "20x20",
51 "scale" : "2x"
52 },
53 {
54 "idiom" : "ipad",
55 "size" : "29x29",
56 "scale" : "1x"
57 },
58 {
59 "idiom" : "ipad",
60 "size" : "29x29",
61 "scale" : "2x"
62 },
63 {
64 "idiom" : "ipad",
65 "size" : "40x40",
66 "scale" : "1x"
67 },
68 {
69 "idiom" : "ipad",
70 "size" : "40x40",
71 "scale" : "2x"
72 },
73 {
74 "idiom" : "ipad",
75 "size" : "76x76",
76 "scale" : "1x"
77 },
78 {
79 "idiom" : "ipad",
80 "size" : "76x76",
81 "scale" : "2x"
82 },
83 {
84 "idiom" : "ipad",
85 "size" : "83.5x83.5",
86 "scale" : "2x"
87 },
88 {
89 "idiom" : "ios-marketing",
90 "size" : "1024x1024",
91 "scale" : "1x"
92 }
93 ],
94 "info" : {
95 "version" : 1,
96 "author" : "xcode"
97 }
98 }
NNewGumpSDKDemo/Assets.xcassets/Contents.json
File was created 1 {
2 "info" : {
3 "version" : 1,
4 "author" : "xcode"
5 }
6 }
NNewGumpSDKDemo/Base.lproj/LaunchScreen.storyboard
File was created 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
3 <dependencies>
4 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
5 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
6 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
7 </dependencies>
8 <scenes>
9 <!--View Controller-->
10 <scene sceneID="EHf-IW-A2E">
11 <objects>
12 <viewController id="01J-lp-oVM" sceneMemberID="viewController">
13 <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
14 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
15 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
16 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
17 <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
18 </view>
19 </viewController>
20 <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
21 </objects>
22 <point key="canvasLocation" x="53" y="375"/>
23 </scene>
24 </scenes>
25 </document>
26
NNewGumpSDKDemo/Base.lproj/Main.storyboard
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
3 <dependencies>
4 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
5 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
6 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
7 </dependencies>
8 <scenes>
9 <!--View Controller-->
10 <scene sceneID="tne-QT-ifu">
11 <objects>
12 <viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="" sceneMemberID="viewController">
13 <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
14 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
15 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
16 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
17 <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
18 </view>
19 </viewController>
20 <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
21 </objects>
22 </scene>
23 </scenes>
24 </document>
25
NNewGumpSDKDemo/Info.plist
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0">
4 <dict>
5 <key>CFBundleDevelopmentRegion</key>
6 <string>$(DEVELOPMENT_LANGUAGE)</string>
7 <key>CFBundleExecutable</key>
8 <string>$(EXECUTABLE_NAME)</string>
9 <key>CFBundleIdentifier</key>
10 <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11 <key>CFBundleInfoDictionaryVersion</key>
12 <string>6.0</string>
13 <key>CFBundleName</key>
14 <string>$(PRODUCT_NAME)</string>
15 <key>CFBundlePackageType</key>
16 <string>APPL</string>
17 <key>CFBundleShortVersionString</key>
18 <string>1.0</string>
19 <key>CFBundleVersion</key>
20 <string>1</string>
21 <key>LSRequiresIPhoneOS</key>
22 <true/>
23 <key>UILaunchStoryboardName</key>
24 <string>LaunchScreen</string>
25 <key>UIMainStoryboardFile</key>
26 <string>Main</string>
27 <key>UIRequiredDeviceCapabilities</key>
28 <array>
29 <string>armv7</string>
30 </array>
31 <key>UISupportedInterfaceOrientations</key>
32 <array>
33 <string>UIInterfaceOrientationLandscapeLeft</string>
34 <string>UIInterfaceOrientationLandscapeRight</string>
35 </array>
36 <key>UISupportedInterfaceOrientations~ipad</key>
37 <array>
38 <string>UIInterfaceOrientationPortrait</string>
39 <string>UIInterfaceOrientationPortraitUpsideDown</string>
40 <string>UIInterfaceOrientationLandscapeLeft</string>
41 <string>UIInterfaceOrientationLandscapeRight</string>
42 </array>
43 </dict>
44 </plist>
45
NNewGumpSDKDemo/ViewController.h
File was created 1 //
2 // ViewController.h
3 // NNewGumpSDKDemo
4 //
5 // Created by yanglele on 2019/5/24.
6 // Copyright © 2019 yanglele. All rights reserved.
7 //
8
9 #import <UIKit/UIKit.h>
10
11 @interface ViewController : UIViewController
12
13
14 @end
15
16
NNewGumpSDKDemo/ViewController.m
File was created 1 //
2 // LSGMainViewController.m
3 // letsgameDemo
4 //
5 // Created by zhy on 14-5-24.
6 //
7 //
8
9 #import "ViewController.h"
10 #import "LetsGameAPI.h"
11 #import "LetsGameActivityAPI.h"
12 #import "GPGameLoginSDK.h"
13
14
15
16 @interface ViewController ()
17
18 @property (nonatomic, strong) UILabel *resultLabel;
19
20 @property(nonatomic,strong) NSNumber *userId;
21
22 @property(nonatomic, assign) BOOL payToWeb;
23
24 @property(nonatomic, strong) UITextField *activityTextField;
25 @end
26
27 @implementation ViewController
28
29 - (void)loadView {
30 [super loadView];
31 NSLog(@"i come in");
32 // self.view.backgroundColor = [UIColor whiteColor];
33 self.view.backgroundColor = [UIColor blackColor];
34
35 UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 40, 100, 30)];
36 btn.backgroundColor = [UIColor orangeColor];
37 [btn setTitle:@"测试入口" forState:UIControlStateNormal];
38 [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
39 btn.titleLabel.font = [UIFont systemFontOfSize:15];
40 [btn addTarget:self action:@selector(onClickTest) forControlEvents:UIControlEventTouchUpInside];
41 [self.view addSubview:btn];
42
43 UILabel *payWarnLabel = [[UILabel alloc] initWithFrame:CGRectMake(110, 85, 150, 10)];
44 payWarnLabel.text = @"默认V3支付,点击Switch是V4支付";
45 payWarnLabel.backgroundColor = [UIColor clearColor];
46 payWarnLabel.font = [UIFont systemFontOfSize:9];
47 [payWarnLabel setTextColor:[UIColor whiteColor]];
48 [self.view addSubview:payWarnLabel];
49
50 UIButton *payBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 100, 100, 30)];
51 payBtn.backgroundColor = [UIColor orangeColor];
52 [payBtn setTitle:@"支付" forState:UIControlStateNormal];
53 [payBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
54 payBtn.titleLabel.font = [UIFont systemFontOfSize:15];
55 [payBtn addTarget:self action:@selector(onPayTest) forControlEvents:UIControlEventTouchUpInside];
56 [self.view addSubview:payBtn];
57
58 self.payToWeb = NO;
59 UISwitch *webVersion = [[UISwitch alloc] initWithFrame:CGRectMake(220,100,60,30)];
60 [webVersion addTarget:self action:@selector(onPayWebTo) forControlEvents:UIControlEventValueChanged];
61 [self.view addSubview:webVersion];
62
63 UIButton *iapBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 160, 100, 30)];
64 iapBtn.backgroundColor = [UIColor orangeColor];
65 [iapBtn setTitle:@"IAP" forState:UIControlStateNormal];
66 [iapBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
67 iapBtn.titleLabel.font = [UIFont systemFontOfSize:15];
68 [iapBtn addTarget:self action:@selector(onIapTest) forControlEvents:UIControlEventTouchUpInside];
69 [self.view addSubview:iapBtn];
70
71 UIButton *activityBtn = [[UIButton alloc] initWithFrame:CGRectMake(110, 220, 100, 30)];
72 activityBtn.backgroundColor = [UIColor orangeColor];
73 [activityBtn setTitle:@"Activity" forState:UIControlStateNormal];
74 [activityBtn setTintColor:[UIColor whiteColor]];
75 activityBtn.titleLabel.font = [UIFont systemFontOfSize:15];
76 [activityBtn addTarget:self action:@selector(onActivity) forControlEvents:UIControlEventTouchUpInside];
77 [self.view addSubview:activityBtn];
78
79 UIButton *cleanUserInfoBtn = [[UIButton alloc] initWithFrame:CGRectMake(300, 40, 100, 30)];
80 cleanUserInfoBtn.backgroundColor = [UIColor orangeColor];
81 [cleanUserInfoBtn setTitle:@"cleanUserInfo" forState:UIControlStateNormal];
82 [cleanUserInfoBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
83 cleanUserInfoBtn.titleLabel.font = [UIFont systemFontOfSize:15];
84 [cleanUserInfoBtn addTarget:self action:@selector(cleanUserInfoClick) forControlEvents:UIControlEventTouchUpInside];
85 [self.view addSubview:cleanUserInfoBtn];
86
87 UIButton *linkBtn = [[UIButton alloc] initWithFrame:CGRectMake(300, 100, 100, 30)];
88 linkBtn.backgroundColor = [UIColor orangeColor];
89 [linkBtn setTitle:@"link" forState:UIControlStateNormal];
90 [linkBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
91 linkBtn.titleLabel.font = [UIFont systemFontOfSize:15];
92 [linkBtn addTarget:self action:@selector(linkBtnClick) forControlEvents:UIControlEventTouchUpInside];
93 [self.view addSubview:linkBtn];
94
95
96 UIButton *switchSysBtn = [[UIButton alloc] initWithFrame:CGRectMake(300, 160, 100, 30)];
97 switchSysBtn.backgroundColor = [UIColor orangeColor];
98 [switchSysBtn setTitle:@"switchGameCenter" forState:UIControlStateNormal];
99 [switchSysBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
100 switchSysBtn.titleLabel.font = [UIFont systemFontOfSize:15];
101 [switchSysBtn addTarget:self action:@selector(switchGameCentBtnClick) forControlEvents:UIControlEventTouchUpInside];
102 [self.view addSubview:switchSysBtn];
103
104 UITextField *activityField = [[UITextField alloc] initWithFrame:CGRectMake(220, 220, 100, 30)];
105 activityField.placeholder = @"活动类型";
106 activityField.backgroundColor = [UIColor whiteColor];
107 self.activityTextField = activityField;
108 [self.view addSubview:self.activityTextField];
109
110 }
111
112 - (UILabel *)resultLabel {
113 if (!_resultLabel) {
114 _resultLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.view.frame) - 90, self.view.frame.size.width, 60)];
115 _resultLabel.backgroundColor = [UIColor clearColor];
116 _resultLabel.textAlignment = NSTextAlignmentCenter;
117 _resultLabel.textColor = [UIColor redColor];
118 _resultLabel.font = [UIFont systemFontOfSize:15];
119 _resultLabel.numberOfLines = 4;
120 _resultLabel.lineBreakMode = NSLineBreakByWordWrapping;
121 [self.view addSubview:_resultLabel];
122 }
123
124 return _resultLabel;
125 }
126
127
128 - (void)onClickTest {
129 [[GPGameLoginSDK instance] GPGameLoginWithViewController:self appID:@"10022" channelId:@"1000"];
130 [GPGameLoginSDK instance].succBlock = ^(NSNumber *userId, ACCOUNTENTERTYPE type) {
131 self.resultLabel.text = [NSString stringWithFormat:@"userId: %@, accountType: %ld", userId, (long)type];
132 self.userId = userId;
133 };
134 [GPGameLoginSDK instance].failBlock = ^{
135 self.resultLabel.text = @"login error";
136 };
137 }
138
139
140 -(void)onPayTest{
141
142 [LetsGameAPI instance].appId = @"100";//@"10056";//10022
143 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
144 [payInfo setValue:@"100" forKey:@"serverId"];
145 [payInfo setValue:@"41080" forKey:@"roleId"];
146 [payInfo setValue:@"1000" forKey:@"channelId"];
147 [payInfo setValue:self.userId forKey:@"userId"];
148 [payInfo setValue:@"0.01" forKey:@"amount"];
149 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
150 [payInfo setValue:@"test" forKey:@"product"];
151 // [[LetsGameAPI instance] pay:payInfo handleCallBack:^{
152 // NSLog(@"第三方支付完成");
153 // }];
154 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{
155 NSLog(@"第三方支付完成");
156 }];
157 }
158
159 -(void)onIapTest{
160
161 [LetsGameAPI instance].appId = @"10106";
162 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
163 [payInfo setValue:@"s1" forKey:@"serverId"];
164 [payInfo setValue:@"1445336" forKey:@"roleId"];
165 [payInfo setValue:@"1556194018524984" forKey:@"userId"];
166 [payInfo setValue:@"1014" forKey:@"channelId"];
167 [payInfo setValue:@"0" forKey:@"amount"];
168 [payInfo setValue:@"iap2019052315101445336962060" forKey:@"extraInfo"];
169 [payInfo setValue:@"s12" forKey:@"product"];
170 [[LetsGameAPI instance] iap:payInfo succCallback:^(NSString *orderId) {
171 //注意测试仅仅是通知客户端成功,但是还需要向服务器请求验证是否成功,以服务端验证为准
172 NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
173 } failCallback:^(NSString *orderId) {
174 NSLog(@"IAP file orderId of Gumptech:%@",orderId);
175 }];
176
177 // [LetsGameAPI instance].appId = @"100";
178 // NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
179 // [payInfo setValue:@"100" forKey:@"serverId"];
180 // [payInfo setValue:@"41080" forKey:@"roleId"];
181 // [payInfo setValue:self.userId forKey:@"userId"];
182 // [payInfo setValue:@"1000" forKey:@"channelId"];
183 // [payInfo setValue:@"10" forKey:@"amount"];
184 // [payInfo setValue:@"ios demo" forKey:@"extraInfo"];
185 // [payInfo setValue:@"com.gump.pro1" forKey:@"product"];
186 // [[LetsGameAPI instance] iap:payInfo succCallback:^(NSString *orderId) {
187 // //注意测试仅仅是通知客户端成功,但是还需要向服务器请求验证是否成功,以服务端验证为准
188 // NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
189 // } failCallback:^(NSString *orderId) {
190 // NSLog(@"IAP file orderId of Gumptech:%@",orderId);
191 // }];
192 }
193
194 -(void)onActivity{
195
196 [[LetsGameActivityAPI instance] decideIsDebug:1];
197 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary];
198 [activityInfo setValue:@"100" forKey:@"appId"];
199 [activityInfo setValue:@"17670327" forKey:@"userId"];
200 [activityInfo setValue:@"55" forKey:@"serverId"];
201 [activityInfo setValue:@"Pidmon" forKey:@"serverName"];
202 [activityInfo setValue:@"55004444" forKey:@"roleId"];
203 [activityInfo setValue:@"Marin" forKey:@"roleName"];
204 [activityInfo setValue:@"140" forKey:@"diamond"];
205 [activityInfo setValue:self.activityTextField.text forKey:@"campaignType"];
206 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{
207 NSLog(@"activity finish!");
208 }];
209 }
210
211 -(void)linkBtnClick{
212 NSMutableDictionary *linkParaDic = [NSMutableDictionary dictionary];
213 [linkParaDic setObject:@"10022" forKey:@"appId"];
214 [linkParaDic setObject:self.userId forKey:@"userId"];
215 //仅在切换账号成功的时候有返回值
216 [[GPGameLoginSDK instance] GPGameAccountLinkViewController:self InfoDic:linkParaDic callBack:^(NSNumber *userId, ACCOUNTENTERTYPE type) {
217 self.resultLabel.text = [NSString stringWithFormat:@"userId: %@, accountType: %ld", userId, (long)type];
218 }];
219 }
220
221 -(void)onPayWebTo{
222 if (!self.payToWeb) {
223 self.payToWeb = YES;
224 [[LetsGameAPI instance] decideWebToVersion:1];
225 }else{
226 self.payToWeb = NO;
227 [[LetsGameAPI instance] decideWebToVersion:0];
228 }
229 }
230
231 -(void)switchGameCentBtnClick{
232 [[GPGameLoginSDK instance] GPSwitchGameCenterWithViewController:self switchCallBack:^{
233 self.resultLabel.text = @"Login Game Center";
234 }];
235 }
236
237 -(void)cleanUserInfoClick{
238 [[GPGameLoginSDK instance] cleanUserInfo];
239 }
240
241 @end
242
NNewGumpSDKDemo/main.m
File was created 1 //
2 // main.m
3 // NNewGumpSDKDemo
4 //
5 // Created by yanglele on 2019/5/24.
6 // Copyright © 2019 yanglele. All rights reserved.
7 //
8
9 #import <UIKit/UIKit.h>
10 #import "AppDelegate.h"
11
12 int main(int argc, char * argv[]) {
13 @autoreleasepool {
14 return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 }
16 }
17
File was created 1 # Uncomment the next line to define a global platform for your project
2 platform :ios, '9.0'
3
4 target 'NNewGumpSDKDemo' do
5 # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
6 # use_frameworks!
7 pod 'AFNetworking','~>3.1.0'
8
9 end
10
File was created 1 # Gump IOS SDK使用文档
2
3
4 接入手册
5 登陆sdk:GameLoginSDK.framework v1.0.11
6 支付sdk: GameSDK.framework v4.0.7
7 2019年6月3日
8
9 ## 概述
10 #### 本SDK提供Game Center登陆 和 游客登陆两种账号登录,iap支付和第三方支付两种支付功能,活动SDK(大转盘等)。
11
12 ## 接入步骤
13 ### 1、添加Framework和资源文件
14 + 以下为必须添加的framework以及资源bundle:
15 MobileCoreServices.framework、SystemConfiguration.framework、libz.dylib、CFNetwork.framework、GumpLoginSDK.framework、GameSDK.framework、GameActivitySDK.framework、StoreKit.framework、GameSDKResources.bundle
16 + 需要接入GameLoginSDK.framework 添加的AFNetworking,使用pod init创建Podfile,在其中添加pod 'AFNetworking','~>3.1.0', pod install 添加 AFNetworking到工程中。
17
18 ### 2、引入头文件,设置build setting
19 因sdk内使用了category,需要设置other linker flag为 -ObjC
20
21
22 ### 3、增加必要配置
23 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回:
24
25 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
26
27 2) 在工程的Targets->Capablities->Game Center 打开
28
29 3) 在Build Settings->Search Paths->Framework Search Paths 上设置framework的搜索路径是`(PROJECT_DIR)/GameSDK.framework`,这里的framework是登录、支付、活动的SDK,也看将framework拷贝到的具体位置在设置.
30
31 4) 在Build Settings->Search Paths->Header Search Paths 上设置 `.h`文件的搜索路径是`(PROJECT_DIR)/GameSDK.framework`中,这里的framework是登录、支付、活动的SDK,也看将framework拷贝到的具体位置再设置.
32
33
34 ### 4、在工程里添加SDK登录代码
35
36 添加GameLoginSDK.framework,需要在工程中添加`AFNetworking`
37
38
39 [[GPGameLoginSDK instance] GPGameLoginWithViewController:self appID:@"100" channelId:@"10002"];
40 [GPGameLoginSDK instance].succBlock = ^(NSNumber *userId, ACCOUNTTYPE type) {
41 self.resultLabel.text = [NSString stringWithFormat:@"userId: %@, accountType: %ld", userId, (long)type];
42 };
43 [GPGameLoginSDK instance].failBlock = ^{
44 self.resultLabel.text = @"login error";
45 };
46
47
48 ### 5、第三方支付
49 [LetsGameAPI instance].appId = @"10022";
50 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
51 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数
52 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id
53 [payInfo setValue:@"1595907" forKey:@"userId"];//用户ID userId
54 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id
55 [payInfo setValue:@"10" forKey:@"amount"];//金额
56 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息
57 [payInfo setValue:@"test1" forKey:@"product"];//商品ID
58 [[LetsGameAPI instance] pWeb:payInfo handleCallBack:^{
59 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调
60 NSLog(@"第三方支付完成");
61 }]];
62
63 ### 6、IAP支付
64 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法
65
66 [[LetsGameAPI instance] registeIapObserver];
67 具体调用iap支付的方法如下:
68
69 [LetsGameAPI instance].appId = @"100";
70 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
71 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id
72 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id
73 [payInfo setValue:@"1595907" forKey:@"userId"];//用户ID userId
74 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计
75 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准
76 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号
77 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId
78 [[LetsGameAPI instance] iap:payInfo succCallback:^(NSString *orderId) {
79 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果
80 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功
81 NSLog(@"IAP completed orderId of Gumptech:%@",orderId);
82 } failCallback:^(NSString *orderId) {
83 //支付失败
84 NSLog(@"IAP file orderId of Gumptech:%@",orderId);
85 }];
86
87
88 ### 7、第三方支付版本
89 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为不带gump币版本,如果使用带gump币的版本如下设置:
90
91 需要在 application:didFinishLaunchingWithOptions方法中添加:
92
93 [[LetsGameAPI instance] decideWebToVersion:1]
94
95 ### 8、第三方支付横竖屏设置
96 添加GameSDK.framework
97 首先设置支付SDK默认是横屏,在General->Deployment Info->Device Orientain下,只选择Landscape Left 和 Landscape Right,SDK的界面默认是横屏。
98 其次如果想使用竖屏的模式,需要在General->Deployment Info->Device Orientain下,只选择Portrait模式,并且需要在AppDelegate中的方法:
99 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;靠前的位置添加代码设置:
100
101 [LetsGameAPI DeviceOrientationIsHorizontal:NO];
102
103 ### 9、活动添加
104 添加GameActivitySDK.framework
105 设置:设置xxxx.plist
106 只支持HTTP的方式,需要将相应的项目的xxx.plist添加Information Property List->App Transport Security Settings -> Allow Arbitrary Loads设置为YES
107
108 工程中添加SDK登录代码:
109
110 NSMutableDictionary *activityInfo = [NSMutableDictionary dictionary];
111 [activityInfo setValue:@"100" forKey:@"appId"];
112 [activityInfo setValue:@"123456" forKey:@"userId"];
113 [activityInfo setValue:@"111" forKey:@"serverId"];
114 [activityInfo setValue:@"aaa" forKey:@"serverName"];
115 [activityInfo setValue:@"222" forKey:@"roleId"];
116 [activityInfo setValue:@"ccc" forKey:@"roleName"];
117 [activityInfo setValue:@"888" forKey:@"diamond"];
118 //活动关闭的回调
119 [[LetsGameActivityAPI instance] GameActivityWithParaDictory:activityInfo handleCallBackL:^{
120 NSLog(@"activity finish!");
121 }];
122
123 ### 10、账号联动
124 需要提供按钮绑定,点击事件调用下面方法。
125 此功能涉及账号的绑定和切换,回调只有在切换成功之后才会出现,其他情况的回调都是失败的回调。
126 工程中添加SDK账号联动代码:
127
128 NSMutableDictionary *linkParaDic = [NSMutableDictionary dictionary];
129 [linkParaDic setObject:@"10022" forKey:@"appId"];
130 [linkParaDic setObject:self.userId forKey:@"userId"];
131 //仅在切换账号成功的时候有返回值
132 [[GPGameLoginSDK instance] GPGameAccountLinkViewController:self InfoDic:linkParaDic callBack:^(NSNumber *userId, ACCOUNTENTERTYPE type) {
133 self.resultLabel.text = [NSString stringWithFormat:@"userId: %@, accountType: %ld", userId, (long)type];
134 }];
135
136 ### 11、切换系统账号
137 需要提供按钮切换系统账号,点击事件调用下面方法。
138 需要用户自己去往Game Center切换账号,之后再次登陆游戏才能实现账号切换。
139 工程中添加SDK切换系统账号代码:
140
141 [[GPGameLoginSDK instance] GPSwitchGameCenterWithViewController:self switchCallBack:^{
142 self.resultLabel.text = @"Login Game Center";
143 }];
144
145