Commit d8e4ec717cb5b89b67da64c703ba26371b48269f

Authored by alexYang
1 parent 0a6d22fa0d
Exists in master

IOS 设置ATS,适用HTTPS

Showing 6 changed files with 12 additions and 5 deletions Inline Diff

1 # Gump IOS SDK使用文档 1 # Gump IOS SDK使用文档
2 2
3 3
4 接入手册 4 接入手册
5 V 3.3.22 5 V 3.3.23
6 2016年12月12日 6 2017年1月7日
7 7
8 ## 概述 8 ## 概述
9 #### 本SDK提供gump账号,fb账号,vk账号三种账号登录,iap支付和第三方支付两种支付功能,其中gump账号登录和fb账号登录功能为必须接入,支付可根据需要选择性接入。 9 #### 本SDK提供gump账号,fb账号,vk账号三种账号登录,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 + 以下为可选,若接入bluePay第三方支付方式需要添加一下的framework和bundle,其中CoreBuePay.framework直接引入工程,之后再依次引入CoreTelephony.framework、MessageUI.framework、SystemConfiguration.framework,最后将BlueMobile.bundle拖入项目中 17 + 以下为可选,若接入bluePay第三方支付方式需要添加一下的framework和bundle,其中CoreBuePay.framework直接引入工程,之后再依次引入CoreTelephony.framework、MessageUI.framework、SystemConfiguration.framework,最后将BlueMobile.bundle拖入项目中
18 18
19 19
20 ### 2、引入头文件,设置build setting 20 ### 2、引入头文件,设置build setting
21 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。 21 需要使用头文件有LetsGameAPI.h和VKBridge.h,其中VKBridge.h为接入vk时使用,不接入vk可忽略。
22 因sdk内使用了category,需要设置other linker flag为 -ObjC 22 因sdk内使用了category,需要设置other linker flag为 -ObjC
23 23
24 24
25 ### 3、增加必要配置 25 ### 3、增加必要配置
26 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回: 26 1)在application delegate中, 在application:openURL:sourceApplication:annotation:添加返回:
27 27
28 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication]; 28 return [[LetsGameAPI instance] handleOpenURL:url sourceApplication:sourceApplication];
29 29
30 30
31 2)配置URL-schema(vk专用,不接入vk可忽略) 31 2)配置URL-schema(vk专用,不接入vk可忽略)
32 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. 32 Xcode 5: Open your application settings then select the Info tab. In the URL Types section click the plus sign. Enter vk+APP_ID (e.g. vk1234567) to the Identifier and URL Schemes fields.
33 ![](images/vk1.jpg) 33 ![](images/vk1.jpg)
34 Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID 34 Xcode 4: Open your Info.plist then add a new row URL Types. Set the URL identifier to vk+APP_ID
35 ![](images/vk2.jpg) 35 ![](images/vk2.jpg)
36 36
37 3)配置plist和scheme(BluePay的linePay使用,不接入BluePay的LinePay可忽略) 37 3)配置plist和scheme(BluePay的linePay使用,不接入BluePay的LinePay可忽略)
38 38
39 plist部分: 39 plist部分:
40 <key>LSApplicationQueriesSchemes</key> 40 <key>LSApplicationQueriesSchemes</key>
41 <array> 41 <array>
42 <string>line</string> 42 <string>line</string>
43 </array> 43 </array>
44 scheme部分: 44 scheme部分:
45 <key>CFBundleURLTypes</key> 45 <key>CFBundleURLTypes</key>
46 <array> 46 <array>
47 <dict> 47 <dict>
48 <key>CFBundleTypeRole</key> 48 <key>CFBundleTypeRole</key>
49 <string>None</string> 49 <string>None</string>
50 <key>CFBundleURLName</key> 50 <key>CFBundleURLName</key>
51 <string>com.gump.sdk</string> 51 <string>com.gump.sdk</string>
52 <key>CFBundleURLSchemes</key> 52 <key>CFBundleURLSchemes</key>
53 <array> 53 <array>
54 <string> gump+游戏的appId </string> 54 <string> gump+游戏的appId </string>
55 </array> 55 </array>
56 </dict> 56 </dict>
57 </array> 57 </array>
58 ### 4、在工程里添加SDK登录代码 58 ### 4、在工程里添加SDK登录代码
59 59
60 [LetsGameAPI instance].appId = @"100"; // 设置appId 60 [LetsGameAPI instance].appId = @"100"; // 设置appId
61 [LetsGameAPI instance].appKey = @"100"; // 设置appKey 61 [LetsGameAPI instance].appKey = @"100"; // 设置appKey
62 62
63 //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略 63 //启用vk的代码,需要填入vk appId,若不接入vk,可以忽略
64 //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"]; 64 //VKBridge *vkBridge = [[VKBridge alloc] initWithVKAppId:@"5029792"];
65 //[LetsGameAPI instance].vkBridge = vkBridge; 65 //[LetsGameAPI instance].vkBridge = vkBridge;
66 66
67 //隐藏fb登录 67 //隐藏fb登录
68 [LetsGameAPI disableFB:YES]; 68 [LetsGameAPI disableFB:YES];
69 69
70 //隐藏gumptech的logo 70 //隐藏gumptech的logo
71 [LetsGameAPI hiddenLogo:YES]; 71 [LetsGameAPI hiddenLogo:YES];
72 72
73 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面 73 [[LetsGameAPI instance] showLoginView]; // 弹出登录页面
74 74
75 // 登录成功回调 75 // 登录成功回调
76 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) { 76 [LetsGameAPI instance].succBlock = ^(NSString *userId, NSString *sessionKey, LSGAccountType type) {
77 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]); 77 NSLog(@"%@", [NSString stringWithFormat:@"login succ: userId = %@, sessionKey = %@, accountType = %d", userId, sessionKey, type]);
78 }; 78 };
79 79
80 // 登录失败回调 80 // 登录失败回调
81 [LetsGameAPI instance].dismissBlock = ^() { 81 [LetsGameAPI instance].dismissBlock = ^() {
82 NSLog(@"dismiss without login"); 82 NSLog(@"dismiss without login");
83 }; 83 };
84 84
85 ### 5、登录注销 85 ### 5、登录注销
86 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。 86 注销接口只要设置过appId和appKey之后就不需要设置了,注销完成之后会回到登录界面。FB登录回到登录页面,Gump登录或者游客登录回到登录框。
87 87
88 [LetsGameAPI instance].appId = @"100";//设置appId 88 [LetsGameAPI instance].appId = @"100";//设置appId
89 [LetsGameAPI instance].appKey = @"100";//设置appkey 89 [LetsGameAPI instance].appKey = @"100";//设置appkey
90 [[LetsGameAPI instance] logout]; //注销 90 [[LetsGameAPI instance] logout]; //注销
91 91
92 92
93 ### 6、第三方支付 93 ### 6、第三方支付
94 [LetsGameAPI instance].appId = @"10022"; 94 [LetsGameAPI instance].appId = @"10022";
95 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd"; 95 [LetsGameAPI instance].appKey = @"f899139df5e1059396431415e770c6dd";
96 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 96 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
97 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数 97 [payInfo setValue:@"5001" forKey:@"serverId"];//服务器id,必传参数
98 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id 98 [payInfo setValue:@"10010" forKey:@"roleId"];//用户角色id
99 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id 99 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id
100 [payInfo setValue:@"10" forKey:@"amount"];//金额 100 [payInfo setValue:@"10" forKey:@"amount"];//金额
101 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息 101 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//外部订单信息
102 [payInfo setValue:@"元宝" forKey:@"product"];//物品信息 102 [payInfo setValue:@"元宝" forKey:@"product"];//物品信息
103 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey 103 [payInfo setValue:self.sessionKey forKey:@"sessionKey"];//登录成功的sessionKey
104 [[LetsGameAPI instance] pay:payInfo handleCallBack:^{ 104 [[LetsGameAPI instance] pay:payInfo handleCallBack:^{
105 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调 105 //第三方支付完成时的回调(包括支付成功和支付失败,除了支付过程中取消的),取消的不会有回调
106 NSLog(@"第三方支付完成"); 106 NSLog(@"第三方支付完成");
107 }]]; 107 }]];
108 108
109 ### 7、IAP支付 109 ### 7、IAP支付
110 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法 110 若要使用apple IAP支付,需要在AppDelegate的application: didFinishLaunchingWithOptions:方法内注册iap observer,使用如下方法
111 111
112 [[LetsGameAPI instance] registeIapObserver]; 112 [[LetsGameAPI instance] registeIapObserver];
113 具体调用iap支付的方法如下: 113 具体调用iap支付的方法如下:
114 114
115 [LetsGameAPI instance].appId = @"10022"; 115 [LetsGameAPI instance].appId = @"10022";
116 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab"; 116 [LetsGameAPI instance].appKey = @"93a27b0bd99bac3e68a440b48aa421ab";
117 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary]; 117 NSMutableDictionary *payInfo = [NSMutableDictionary dictionary];
118 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id 118 [payInfo setValue:@"5001" forKey:@"serverId"];//当前用户所在的服务器Id
119 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id 119 [payInfo setValue:@"10010" forKey:@"roleId"];//当前用户的角色id
120 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计 120 [payInfo setValue:@"1000" forKey:@"channelId"];//渠道id,用于统计
121 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准 121 [payInfo setValue:@"10" forKey:@"amount"];//对应支付项的支付金额,实际支付金额以itunes配置为准
122 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号 122 [payInfo setValue:@"ios demo" forKey:@"extraInfo"];//扩展信息,可以游戏自定义,建议传自有订单号
123 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId 123 [payInfo setValue:@"test.product.1" forKey:@"product"];//itunes 后台配置的对应支付项的productId
124 [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){ 124 [[LetsGameAPI instance] iap:payInfo forUser:@"" handleCallback:^(NSString* orderId){
125 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果 125 //此处的回调表明支付已经完成,但此时支付不一定成功,需要服务端验证支付结果
126 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功 126 //orderId为gump生成的订单号,此订单号可以在gump server查询此笔支付是否成功
127 NSLog(@"iap completed orderId of gumptech:%@",orderId); 127 NSLog(@"iap completed orderId of gumptech:%@",orderId);
128 }]; 128 }];
129 ### 8、token的获取 129 ### 8、token的获取
130 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。 130 FB登录之后会产生token并自动登录,需要如果需要token的话,需要自己调用接口获取。
131 131
132 //tokenString:token字符串 132 //tokenString:token字符串
133 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间 133 //refreshTime:refreshTime token最后刷新的时间,即获取的token的时间
134 //expirationTime:expirationTime token最后的有效时间 134 //expirationTime:expirationTime token最后的有效时间
135 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) { 135 [[LetsGameAPI instance] obtainAccessTokenSuccess:^(NSString *tokenString, NSString *refreshTime, NSString *expirationTime) {
136 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime); 136 NSLog(@"tokenString %@, refreshTime %@, expirationTime %@", tokenString, refreshTime, expirationTime);
137 } failure:^(NSString *errorString) { 137 } failure:^(NSString *errorString) {
138 NSLog(@"get token faile"); 138 NSLog(@"get token faile");
139 }]; 139 }];
140 140
141
142 ### 9、第三方支付版本
143 第三方支付,分成两个版本:没有gump币和有gump币,不设置时默认为带gump币版本,如果使用不带gump币的版本如下设置:
144
145 需要在 application:didFinishLaunchingWithOptions方法中添加:
146
147 [[LetsGameAPI instance] decideWebPayVersion:1]
141 148
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 hiddenLogo = NO; 14 static BOOL hiddenLogo = NO;
15 15
16 static NSString *version = @"3.3.22"; 16 static NSString *version = @"3.3.23";
17 17
18 @interface LetsGameAPI : NSObject<UIApplicationDelegate> 18 @interface LetsGameAPI : NSObject<UIApplicationDelegate>
19 19
20 @property (nonatomic, strong) NSString *appId; 20 @property (nonatomic, strong) NSString *appId;
21 @property (nonatomic, strong) NSString *appKey; 21 @property (nonatomic, strong) NSString *appKey;
22 @property (nonatomic, copy) LSGLoginSuccBlock succBlock; 22 @property (nonatomic, copy) LSGLoginSuccBlock succBlock;
23 @property (nonatomic, copy) LSGDismissBlock dismissBlock; 23 @property (nonatomic, copy) LSGDismissBlock dismissBlock;
24 @property (nonatomic, assign) int isDebug; 24 @property (nonatomic, assign) int isDebug;
25 @property (nonatomic, assign) int decideWebPay; 25 @property (nonatomic, assign) int decideWebPay;
26 @property (nonatomic,retain) id<VKBridgeProtocol> vkBridge; 26 @property (nonatomic,retain) id<VKBridgeProtocol> vkBridge;
27 //@property(nonatomic,strong) NSString *version; 27 //@property(nonatomic,strong) NSString *version;
28 28
29 + (instancetype)instance; 29 + (instancetype)instance;
30 30
31 -(NSString*)version; 31 -(NSString*)version;
32 32
33 - (void)showLoginView; 33 - (void)showLoginView;
34 - (void)showLoginViewInView:(UIView *)view; 34 - (void)showLoginViewInView:(UIView *)view;
35 35
36 +(void)disableFB:(BOOL)isDisable; 36 +(void)disableFB:(BOOL)isDisable;
37 +(BOOL)isFBDisable; 37 +(BOOL)isFBDisable;
38 +(BOOL)isVKEnable; 38 +(BOOL)isVKEnable;
39 +(void)hiddenLogo:(BOOL)isHidden; 39 +(void)hiddenLogo:(BOOL)isHidden;
40 +(BOOL)isHiddenLogo; 40 +(BOOL)isHiddenLogo;
41 41
42 - (void)logout; 42 - (void)logout;
43 43
44 - (void)hide; 44 - (void)hide;
45 45
46 - (BOOL)handleOpenURL:(NSURL *)url 46 - (BOOL)handleOpenURL:(NSURL *)url
47 sourceApplication:(NSString *)sourceApplication; 47 sourceApplication:(NSString *)sourceApplication;
48 48
49 -(void)pay:(NSDictionary*) payInfo handleCallBack:(void (^)()) paySuccessCallback; 49 -(void)pay:(NSDictionary*) payInfo handleCallBack:(void (^)()) paySuccessCallback;
50 50
51 -(void)iap:(NSDictionary*) payInfo forUser:(NSString*) uid handleCallback:(void (^)(NSString* orderId)) callback; 51 -(void)iap:(NSDictionary*) payInfo forUser:(NSString*) uid handleCallback:(void (^)(NSString* orderId)) callback;
52 52
53 -(void)registeIapObserver; 53 -(void)registeIapObserver;
54 54
55 -(void)decideIsDebug:(int)isDebug; 55 -(void)decideIsDebug:(int)isDebug;
56 56
57 -(void)decideWebPayVersion:(int)decideWebPay; 57 -(void)decideWebPayVersion:(int)decideWebPay;
58 58
59 -(void)obtainAccessTokenSuccess:(void (^)(NSString *tokenString, NSString *refreshTime, NSString *expirationTime))success 59 -(void)obtainAccessTokenSuccess:(void (^)(NSString *tokenString, NSString *refreshTime, NSString *expirationTime))success
60 failure:(void (^)(NSString *errorString))failure; 60 failure:(void (^)(NSString *errorString))failure;
61 @end 61 @end
62 62
No preview for this file type
ios/GameSDKDemo/GameSDKDemo.xcodeproj/project.xcworkspace/xcuserdata/yanglele.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ios/GameSDKDemo/letsgameDemo/letsgameDemo-Info.plist
1 <?xml version="1.0" encoding="UTF-8"?> 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"> 2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0"> 3 <plist version="1.0">
4 <dict> 4 <dict>
5 <key>CFBundleDevelopmentRegion</key> 5 <key>CFBundleDevelopmentRegion</key>
6 <string>en</string> 6 <string>en</string>
7 <key>CFBundleDisplayName</key> 7 <key>CFBundleDisplayName</key>
8 <string>${PRODUCT_NAME}</string> 8 <string>${PRODUCT_NAME}</string>
9 <key>CFBundleExecutable</key> 9 <key>CFBundleExecutable</key>
10 <string>${EXECUTABLE_NAME}</string> 10 <string>${EXECUTABLE_NAME}</string>
11 <key>CFBundleIdentifier</key> 11 <key>CFBundleIdentifier</key>
12 <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> 12 <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
13 <key>CFBundleInfoDictionaryVersion</key> 13 <key>CFBundleInfoDictionaryVersion</key>
14 <string>6.0</string> 14 <string>6.0</string>
15 <key>CFBundleName</key> 15 <key>CFBundleName</key>
16 <string>${PRODUCT_NAME}</string> 16 <string>${PRODUCT_NAME}</string>
17 <key>CFBundlePackageType</key> 17 <key>CFBundlePackageType</key>
18 <string>APPL</string> 18 <string>APPL</string>
19 <key>CFBundleShortVersionString</key> 19 <key>CFBundleShortVersionString</key>
20 <string>1.0</string> 20 <string>1.0</string>
21 <key>CFBundleSignature</key> 21 <key>CFBundleSignature</key>
22 <string>????</string> 22 <string>????</string>
23 <key>CFBundleURLTypes</key> 23 <key>CFBundleURLTypes</key>
24 <array> 24 <array>
25 <dict> 25 <dict>
26 <key>CFBundleURLSchemes</key> 26 <key>CFBundleURLSchemes</key>
27 <array> 27 <array>
28 <string>fb1401636950118536</string> 28 <string>fb1401636950118536</string>
29 </array> 29 </array>
30 </dict> 30 </dict>
31 <dict> 31 <dict>
32 <key>CFBundleURLName</key> 32 <key>CFBundleURLName</key>
33 <string>vk5029792</string> 33 <string>vk5029792</string>
34 <key>CFBundleURLSchemes</key> 34 <key>CFBundleURLSchemes</key>
35 <array> 35 <array>
36 <string>vk5029792</string> 36 <string>vk5029792</string>
37 </array> 37 </array>
38 </dict> 38 </dict>
39 </array> 39 </array>
40 <key>CFBundleVersion</key> 40 <key>CFBundleVersion</key>
41 <string>1</string> 41 <string>1</string>
42 <key>FacebookAppID</key> 42 <key>FacebookAppID</key>
43 <string>1401636950118536</string> 43 <string>1401636950118536</string>
44 <key>FacebookDisplayName</key> 44 <key>FacebookDisplayName</key>
45 <string>letsgameDemo</string> 45 <string>letsgameDemo</string>
46 <key>LSRequiresIPhoneOS</key> 46 <key>LSRequiresIPhoneOS</key>
47 <true/> 47 <true/>
48 <key>NSAppTransportSecurity</key> 48 <key>NSAppTransportSecurity</key>
49 <dict> 49 <dict>
50 <key>NSAllowsArbitraryLoads</key> 50 <key>NSAllowsArbitraryLoads</key>
51 <true/> 51 <false/>
52 </dict> 52 </dict>
53 <key>UIRequiredDeviceCapabilities</key> 53 <key>UIRequiredDeviceCapabilities</key>
54 <array> 54 <array>
55 <string>armv7</string> 55 <string>armv7</string>
56 </array> 56 </array>
57 <key>UIStatusBarHidden</key> 57 <key>UIStatusBarHidden</key>
58 <true/> 58 <true/>
59 <key>UISupportedInterfaceOrientations</key> 59 <key>UISupportedInterfaceOrientations</key>
60 <array> 60 <array>
61 <string>UIInterfaceOrientationLandscapeLeft</string> 61 <string>UIInterfaceOrientationLandscapeLeft</string>
62 <string>UIInterfaceOrientationLandscapeRight</string> 62 <string>UIInterfaceOrientationLandscapeRight</string>
63 </array> 63 </array>
64 </dict> 64 </dict>
65 </plist> 65 </plist>
66 66