| ... | @@ -466,7 +466,7 @@ | ... | @@ -466,7 +466,7 @@ |
| 466 | isa = XCBuildConfiguration; | 466 | isa = XCBuildConfiguration; |
| 467 | buildSettings = { | 467 | buildSettings = { |
| 468 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 468 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
| 469 | - CODE_SIGN_IDENTITY = "iPhone Developer: luo yuanyuan (82PEUDVHS9)"; | 469 | + CODE_SIGN_IDENTITY = "iPhone Developer: Yufeng Wang (N5VLW9NRUG)"; |
| 470 | DEAD_CODE_STRIPPING = NO; | 470 | DEAD_CODE_STRIPPING = NO; |
| 471 | ENABLE_BITCODE = NO; | 471 | ENABLE_BITCODE = NO; |
| 472 | FRAMEWORK_SEARCH_PATHS = ( | 472 | FRAMEWORK_SEARCH_PATHS = ( |
| ... | @@ -475,19 +475,20 @@ | ... | @@ -475,19 +475,20 @@ |
| 475 | "$(PROJECT_DIR)/poolsdk_file/poolsdk", | 475 | "$(PROJECT_DIR)/poolsdk_file/poolsdk", |
| 476 | ); | 476 | ); |
| 477 | INFOPLIST_FILE = poolsdk_file/poolsdk/Info.plist; | 477 | INFOPLIST_FILE = poolsdk_file/poolsdk/Info.plist; |
| 478 | - IPHONEOS_DEPLOYMENT_TARGET = 7.1; | 478 | + IPHONEOS_DEPLOYMENT_TARGET = 8.1; |
| 479 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | 479 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; |
| 480 | LIBRARY_SEARCH_PATHS = ( | 480 | LIBRARY_SEARCH_PATHS = ( |
| 481 | "$(inherited)", | 481 | "$(inherited)", |
| 482 | "$(PROJECT_DIR)/Demo", | 482 | "$(PROJECT_DIR)/Demo", |
| 483 | "$(PROJECT_DIR)/poolsdk_file/poolsdk", | 483 | "$(PROJECT_DIR)/poolsdk_file/poolsdk", |
| 484 | ); | 484 | ); |
| 485 | - ONLY_ACTIVE_ARCH = YES; | 485 | + ONLY_ACTIVE_ARCH = NO; |
| 486 | OTHER_LDFLAGS = ""; | 486 | OTHER_LDFLAGS = ""; |
| 487 | PRODUCT_BUNDLE_IDENTIFIER = com.jian.wuji; | 487 | PRODUCT_BUNDLE_IDENTIFIER = com.jian.wuji; |
| 488 | PRODUCT_NAME = "$(TARGET_NAME)"; | 488 | PRODUCT_NAME = "$(TARGET_NAME)"; |
| 489 | - PROVISIONING_PROFILE = ""; | 489 | + PROVISIONING_PROFILE = "e6d180fd-5532-4218-bf56-0c1afa8ea0b4"; |
| 490 | - VALID_ARCHS = "arm64 armv7"; | 490 | + TARGETED_DEVICE_FAMILY = 2; |
| 491 | + VALID_ARCHS = "arm64 armv7s"; | ||
| 491 | }; | 492 | }; |
| 492 | name = Debug; | 493 | name = Debug; |
| 493 | }; | 494 | }; |
| ... | @@ -495,7 +496,7 @@ | ... | @@ -495,7 +496,7 @@ |
| 495 | isa = XCBuildConfiguration; | 496 | isa = XCBuildConfiguration; |
| 496 | buildSettings = { | 497 | buildSettings = { |
| 497 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 498 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
| 498 | - CODE_SIGN_IDENTITY = "iPhone Developer: luo yuanyuan (82PEUDVHS9)"; | 499 | + CODE_SIGN_IDENTITY = "iPhone Developer: Yufeng Wang (N5VLW9NRUG)"; |
| 499 | DEAD_CODE_STRIPPING = NO; | 500 | DEAD_CODE_STRIPPING = NO; |
| 500 | ENABLE_BITCODE = NO; | 501 | ENABLE_BITCODE = NO; |
| 501 | FRAMEWORK_SEARCH_PATHS = ( | 502 | FRAMEWORK_SEARCH_PATHS = ( |
| ... | @@ -504,19 +505,20 @@ | ... | @@ -504,19 +505,20 @@ |
| 504 | "$(PROJECT_DIR)/poolsdk_file/poolsdk", | 505 | "$(PROJECT_DIR)/poolsdk_file/poolsdk", |
| 505 | ); | 506 | ); |
| 506 | INFOPLIST_FILE = poolsdk_file/poolsdk/Info.plist; | 507 | INFOPLIST_FILE = poolsdk_file/poolsdk/Info.plist; |
| 507 | - IPHONEOS_DEPLOYMENT_TARGET = 7.1; | 508 | + IPHONEOS_DEPLOYMENT_TARGET = 8.1; |
| 508 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | 509 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; |
| 509 | LIBRARY_SEARCH_PATHS = ( | 510 | LIBRARY_SEARCH_PATHS = ( |
| 510 | "$(inherited)", | 511 | "$(inherited)", |
| 511 | "$(PROJECT_DIR)/Demo", | 512 | "$(PROJECT_DIR)/Demo", |
| 512 | "$(PROJECT_DIR)/poolsdk_file/poolsdk", | 513 | "$(PROJECT_DIR)/poolsdk_file/poolsdk", |
| 513 | ); | 514 | ); |
| 514 | - ONLY_ACTIVE_ARCH = YES; | 515 | + ONLY_ACTIVE_ARCH = NO; |
| 515 | OTHER_LDFLAGS = ""; | 516 | OTHER_LDFLAGS = ""; |
| 516 | PRODUCT_BUNDLE_IDENTIFIER = com.jian.wuji; | 517 | PRODUCT_BUNDLE_IDENTIFIER = com.jian.wuji; |
| 517 | PRODUCT_NAME = "$(TARGET_NAME)"; | 518 | PRODUCT_NAME = "$(TARGET_NAME)"; |
| 518 | - PROVISIONING_PROFILE = ""; | 519 | + PROVISIONING_PROFILE = "e6d180fd-5532-4218-bf56-0c1afa8ea0b4"; |
| 519 | - VALID_ARCHS = "arm64 armv7"; | 520 | + TARGETED_DEVICE_FAMILY = 2; |
| 521 | + VALID_ARCHS = "arm64 armv7s"; | ||
| 520 | }; | 522 | }; |
| 521 | name = Release; | 523 | name = Release; |
| 522 | }; | 524 | }; | ... | ... |
| ... | @@ -37,11 +37,7 @@ | ... | @@ -37,11 +37,7 @@ |
| 37 | [[PoolSdk shareSDK]applicationDidEnterBackground:application]; | 37 | [[PoolSdk shareSDK]applicationDidEnterBackground:application]; |
| 38 | } | 38 | } |
| 39 | 39 | ||
| 40 | -- (void)applicationWillEnterForeground:(UIApplication *)application { | 40 | + |
| 41 | - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. | ||
| 42 | - NSLog(@"applicationWillEnterForeground1111111"); | ||
| 43 | - [[PoolSdk shareSDK] applicationWillEnterForeground:application]; | ||
| 44 | -} | ||
| 45 | 41 | ||
| 46 | - (void)applicationDidBecomeActive:(UIApplication *)application { | 42 | - (void)applicationDidBecomeActive:(UIApplication *)application { |
| 47 | // 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. | 43 | // 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. |
| ... | @@ -58,10 +54,22 @@ | ... | @@ -58,10 +54,22 @@ |
| 58 | return true; | 54 | return true; |
| 59 | } | 55 | } |
| 60 | 56 | ||
| 57 | +-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options | ||
| 58 | +{ | ||
| 59 | + [[PoolSdk shareSDK]application:app openURL:url options:options]; | ||
| 60 | + return YES; | ||
| 61 | +} | ||
| 62 | + | ||
| 61 | -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation | 63 | -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation |
| 62 | { | 64 | { |
| 63 | [[PoolSdk shareSDK] application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; | 65 | [[PoolSdk shareSDK] application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; |
| 64 | return YES; | 66 | return YES; |
| 65 | } | 67 | } |
| 66 | 68 | ||
| 69 | +- (void)applicationWillEnterForeground:(UIApplication *)application { | ||
| 70 | + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. | ||
| 71 | + [[PoolSdk shareSDK] applicationWillEnterForeground:application]; | ||
| 72 | +} | ||
| 73 | + | ||
| 74 | + | ||
| 67 | @end | 75 | @end | ... | ... |
| ... | @@ -154,4 +154,36 @@ | ... | @@ -154,4 +154,36 @@ |
| 154 | } | 154 | } |
| 155 | } | 155 | } |
| 156 | 156 | ||
| 157 | + | ||
| 158 | + | ||
| 159 | +#pragma mark - 截屏 | ||
| 160 | +- (void)screenShot:(UIView *)view{ | ||
| 161 | + UIImage* image = nil; | ||
| 162 | + UIGraphicsBeginImageContext(view.bounds.size); | ||
| 163 | + [view.layer renderInContext:UIGraphicsGetCurrentContext()]; | ||
| 164 | + image = UIGraphicsGetImageFromCurrentImageContext(); | ||
| 165 | + UIGraphicsEndImageContext(); | ||
| 166 | + UIGraphicsEndImageContext(); | ||
| 167 | + if (image != nil) { | ||
| 168 | + NSLog(@"截图成功!"); | ||
| 169 | + UIImageWriteToSavedPhotosAlbum(image,self,@selector(image:didFinishSavingWithError:contextInfo:),NULL); | ||
| 170 | + | ||
| 171 | + } | ||
| 172 | +} | ||
| 173 | + | ||
| 174 | + | ||
| 175 | +#pragma mark - 保存到相册 | ||
| 176 | +-(void)image:(UIImage *)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo | ||
| 177 | +{ | ||
| 178 | + if(!error){ | ||
| 179 | + NSLog(@"存到相册"); | ||
| 180 | + }else{ | ||
| 181 | + NSLog(@"存储失败"); | ||
| 182 | + | ||
| 183 | + } | ||
| 184 | +} | ||
| 185 | + | ||
| 186 | + | ||
| 187 | + | ||
| 188 | + | ||
| 157 | @end | 189 | @end | ... | ... |
| ... | @@ -9,7 +9,7 @@ | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 | ||
| 10 | #include "UnionInterface.h" | 10 | #include "UnionInterface.h" |
| 11 | #import <SafariServices/SafariServices.h> | 11 | #import <SafariServices/SafariServices.h> |
| 12 | -@interface Interface : NSObject <UnionInterface,SFSafariViewControllerDelegate> | 12 | +@interface Interface : NSObject <UnionInterface> |
| 13 | @property(nonatomic, strong)UIViewController *controller; | 13 | @property(nonatomic, strong)UIViewController *controller; |
| 14 | 14 | ||
| 15 | 15 | ... | ... |
| ... | @@ -29,5 +29,7 @@ | ... | @@ -29,5 +29,7 @@ |
| 29 | 29 | ||
| 30 | - (void)httpPostAsyncOpen:(NSString*)postUrl :(NSDictionary*)postDict; | 30 | - (void)httpPostAsyncOpen:(NSString*)postUrl :(NSDictionary*)postDict; |
| 31 | 31 | ||
| 32 | -- (NSString *)dicToString:(NSDictionary *) dict; | 32 | +-(void)httpGetAsync:(NSString *)url completionHandler:(void (^ __nullable)(NSURLResponse* __nullable response, NSData* __nullable data, NSError* __nullable connectionError)) handler; |
| 33 | + | ||
| 34 | +- (NSString * __nullable)dicToString:(NSDictionary * __nullable) dict; | ||
| 33 | @end | 35 | @end | ... | ... |
| ... | @@ -30,7 +30,10 @@ | ... | @@ -30,7 +30,10 @@ |
| 30 | 30 | ||
| 31 | @property(nonatomic, strong)NSString *openId; | 31 | @property(nonatomic, strong)NSString *openId; |
| 32 | 32 | ||
| 33 | -#define REPORT_URL @"https://statistic.public.sdk.gzyouai.com/sdk/statistic" //@http://public.sdk.gzyouai.com:9030/sdk/statistic"//@"http://10.200.201.230:9001/sdk/statistic"//@"https://statistic.public.sdk.gzyouai.com/sdk/statistic"// | 33 | +#define REPORT_URL @"https://statistic.public.sdk.gzyouai.com/sdk/statistic" //http://183.57.76.181:9030/sdk/statistic |
| 34 | + | ||
| 35 | +#define REPORT_IDFA_URL @"https://statistic.public.sdk.gzyouai.com/sdk/last_channel?idfa=" //@"http://183.57.76.181:9030/sdk/last_channel?idfa="// | ||
| 36 | + | ||
| 34 | #define REPORT_OPEN @"open" | 37 | #define REPORT_OPEN @"open" |
| 35 | #define REPORT_ENTER @"enter" | 38 | #define REPORT_ENTER @"enter" |
| 36 | #define REPORT_CREATEROLE @"createrole" | 39 | #define REPORT_CREATEROLE @"createrole" | ... | ... |
| ... | @@ -36,6 +36,8 @@ | ... | @@ -36,6 +36,8 @@ |
| 36 | 36 | ||
| 37 | -(void)viewDidAppear; | 37 | -(void)viewDidAppear; |
| 38 | 38 | ||
| 39 | +- (void)setViewController:(UIViewController *)viewController; | ||
| 40 | + | ||
| 39 | /** | 41 | /** |
| 40 | 登录SDK | 42 | 登录SDK |
| 41 | */ | 43 | */ |
| ... | @@ -185,6 +187,8 @@ | ... | @@ -185,6 +187,8 @@ |
| 185 | 187 | ||
| 186 | - (void)applicationWillResignActive:(UIApplication *)application; | 188 | - (void)applicationWillResignActive:(UIApplication *)application; |
| 187 | 189 | ||
| 190 | +-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options; | ||
| 191 | + | ||
| 188 | - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation; | 192 | - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation; |
| 189 | 193 | ||
| 190 | @end | 194 | @end | ... | ... |
| ... | @@ -19,6 +19,9 @@ | ... | @@ -19,6 +19,9 @@ |
| 19 | 19 | ||
| 20 | - (void)SDKinit:(UIViewController *) control; | 20 | - (void)SDKinit:(UIViewController *) control; |
| 21 | 21 | ||
| 22 | + | ||
| 23 | +- (void)setViewController:(UIViewController *) viewController; | ||
| 24 | + | ||
| 22 | /** | 25 | /** |
| 23 | 登录SDK | 26 | 登录SDK |
| 24 | */ | 27 | */ |
| ... | @@ -123,5 +126,7 @@ | ... | @@ -123,5 +126,7 @@ |
| 123 | 126 | ||
| 124 | - (void)applicationWillResignActive:(UIApplication *)application; | 127 | - (void)applicationWillResignActive:(UIApplication *)application; |
| 125 | 128 | ||
| 129 | +-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options; | ||
| 130 | + | ||
| 126 | - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation; | 131 | - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation; |
| 127 | @end | 132 | @end |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | +import shutil | ||
| 2 | +import os | ||
| 3 | +import plistlib | ||
| 4 | + | ||
| 5 | +import config | ||
| 6 | +import json | ||
| 7 | +import packageProj | ||
| 8 | + | ||
| 9 | +from mod_pbxproj import XcodeProject | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +gameProjName = config.gameProjName | ||
| 13 | +channelName = "bingxue" | ||
| 14 | +#copy dir xcodeproj | ||
| 15 | +copyNewDirName = gameProjName + '_' + channelName + '.xcodeproj' | ||
| 16 | +currentPath = os.path.abspath('.') | ||
| 17 | +currentPath += '/' + copyNewDirName | ||
| 18 | + | ||
| 19 | + | ||
| 20 | +if os.path.exists(currentPath): | ||
| 21 | + shutil.rmtree(currentPath) | ||
| 22 | + | ||
| 23 | +shutil.copytree(gameProjName + '.xcodeproj',currentPath) | ||
| 24 | + | ||
| 25 | +project = XcodeProject.Load(copyNewDirName + '/project.pbxproj') | ||
| 26 | + | ||
| 27 | +project.add_other_ldflags('-ObjC') | ||
| 28 | +#frameworks = project.add_folder('poolsdk_file/poolsdk_itools') | ||
| 29 | +#print(frameworks); | ||
| 30 | +#add search path | ||
| 31 | + | ||
| 32 | +channelRootPath = config.channelRootPath#'poolsdk_file' | ||
| 33 | + | ||
| 34 | +frameworksPath = '$(PROJECT_DIR)/' + channelRootPath + '/poolsdk_' + channelName + '/SDK' | ||
| 35 | +print(frameworksPath); | ||
| 36 | +#add header search path | ||
| 37 | +project.add_header_search_paths(frameworksPath, recursive=False) | ||
| 38 | +#add framework search path | ||
| 39 | +project.add_framework_search_paths(frameworksPath, recursive=False) | ||
| 40 | +#add library search path | ||
| 41 | +project.add_library_search_paths(frameworksPath, recursive=False) | ||
| 42 | + | ||
| 43 | +#add poolsdk_xy dir all file into project | ||
| 44 | +project.remove_group_by_name('poolsdk') | ||
| 45 | +frameworkRelativePath = project.add_folder(channelRootPath + '/poolsdk_' + channelName + '/SDK') | ||
| 46 | +#add sdk lib framework | ||
| 47 | +#project.add_file_if_doesnt_exist('XYPlatform.framework',parent=frameworkRelativePath, weak=True) | ||
| 48 | +#project.add_file_if_doesnt_exist('XYPlatformResources.bundle',parent=frameworkRelativePath, weak=True) | ||
| 49 | + | ||
| 50 | +#remove demo file and replace sdk file | ||
| 51 | +#project.remove_file_by_path('poolsdk_file/Demo') | ||
| 52 | +#project.remove_group_by_name('poolsdk_file') | ||
| 53 | +#project.add_file_if_doesnt_exist('PoolSdk.h',parent=frameworkRelativePath, weak=True) | ||
| 54 | +#project.add_file_if_doesnt_exist('PoolSdk.m',parent=frameworkRelativePath, weak=True) | ||
| 55 | +#project.add_file_if_doesnt_exist('SDKInterface.h',parent=frameworkRelativePath, weak=True) | ||
| 56 | +#project.add_file_if_doesnt_exist('SDKInterface.m',parent=frameworkRelativePath, weak=True) | ||
| 57 | +#ignore_unknown_type | ||
| 58 | +project.add_file_if_doesnt_exist('pool_setting',parent=frameworkRelativePath, weak=True,ignore_unknown_type=True) | ||
| 59 | + | ||
| 60 | + | ||
| 61 | +systemFrameworks = project.get_or_create_group('Frameworks') | ||
| 62 | +#add system framework | ||
| 63 | +project.add_file_if_doesnt_exist('System/Library/Frameworks/CoreTelephony.framework',parent=systemFrameworks, weak=True, tree='SDKROOT') | ||
| 64 | +project.add_file_if_doesnt_exist('System/Library/Frameworks/SystemConfiguration.framework',parent=systemFrameworks, weak=True, tree='SDKROOT') | ||
| 65 | + | ||
| 66 | + | ||
| 67 | +#add system dylib | ||
| 68 | +systemLibs = project.get_or_create_group('Libraries') | ||
| 69 | +project.add_file_if_doesnt_exist('/usr/lib/libsqlite3.dylib',parent=systemLibs, weak=True, tree='<absolute>')#absolute path | ||
| 70 | + | ||
| 71 | +#modify info.plist reference path | ||
| 72 | +project.add_single_valued_flag('INFOPLIST_FILE',channelRootPath + '/poolsdk_' + channelName + '/Info.plist') | ||
| 73 | + | ||
| 74 | +project.add_single_valued_flag('ENABLE_BITCODE', 'NO') | ||
| 75 | + | ||
| 76 | +readInfoPlistFilePath = channelRootPath + '/poolsdk/Info.plist' | ||
| 77 | +writeInfoFilePath = channelRootPath + '/poolsdk_' + channelName + '/Info.plist' | ||
| 78 | +infoContent = plistlib.readPlist(readInfoPlistFilePath) | ||
| 79 | + | ||
| 80 | +xyInfoPath = channelRootPath + '/poolsdk_' + channelName + '/Info_' + channelName + '.plist' | ||
| 81 | +xyInfoContent = plistlib.readPlist(xyInfoPath) | ||
| 82 | + | ||
| 83 | +#read pool_setting file | ||
| 84 | +settingFile = open(channelRootPath + '/poolsdk_' + channelName + '/SDK/pool_setting','rw') | ||
| 85 | +try: | ||
| 86 | + settingFileContent = settingFile.read( ) | ||
| 87 | +finally: | ||
| 88 | + settingFile.close( ) | ||
| 89 | +#json op | ||
| 90 | +jsonStr = json.loads(settingFileContent) | ||
| 91 | + | ||
| 92 | +#modify bundle id | ||
| 93 | +project.add_single_valued_flag('PRODUCT_BUNDLE_IDENTIFIER',jsonStr["appScheme"]) | ||
| 94 | + | ||
| 95 | +#update and add info.plist content | ||
| 96 | +infoContent.update(xyInfoContent) | ||
| 97 | +#write | ||
| 98 | +plistlib.writePlist(infoContent,writeInfoFilePath) | ||
| 99 | + | ||
| 100 | +project.save() | ||
| 101 | + | ||
| 102 | + | ||
| 103 | +packageProj.buildProjName = gameProjName + '_' + channelName | ||
| 104 | +packageProj.targetName = gameProjName | ||
| 105 | +packageProj.buildProj() |
| 1 | +import os | ||
| 2 | + | ||
| 3 | +import commands | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +buildProjName = '' | ||
| 7 | +targetName = '' | ||
| 8 | +import shutil | ||
| 9 | +import os | ||
| 10 | + | ||
| 11 | +def buildProj(): | ||
| 12 | + | ||
| 13 | + if buildProjName == '': | ||
| 14 | + print('buildProjName is not define') | ||
| 15 | + | ||
| 16 | + else: | ||
| 17 | + #build project | ||
| 18 | + print('start build proj') | ||
| 19 | + commands.getstatusoutput('xcodebuild -project ' + buildProjName + '.xcodeproj') | ||
| 20 | + releaseDir = os.path.abspath('.') + '/Release' | ||
| 21 | + if not os.path.exists(releaseDir): | ||
| 22 | + os.mkdir(releaseDir) | ||
| 23 | + | ||
| 24 | + ipaPath = releaseDir + '/' + buildProjName + '-Release.ipa' | ||
| 25 | + buildPath = os.path.abspath('.') + '/build' | ||
| 26 | + if os.path.exists(ipaPath): | ||
| 27 | + os.remove(ipaPath) | ||
| 28 | + | ||
| 29 | + resultStr = commands.getstatusoutput('xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/' + targetName + '.app -o ' +ipaPath) | ||
| 30 | + #print(resultStr) | ||
| 31 | + | ||
| 32 | + if os.path.exists(buildPath): | ||
| 33 | + shutil.rmtree(buildPath) | ||
| 34 | + |
| ... | @@ -33,6 +33,11 @@ | ... | @@ -33,6 +33,11 @@ |
| 33 | <string>1</string> | 33 | <string>1</string> |
| 34 | <key>LSRequiresIPhoneOS</key> | 34 | <key>LSRequiresIPhoneOS</key> |
| 35 | <true/> | 35 | <true/> |
| 36 | + <key>NSAppTransportSecurity</key> | ||
| 37 | + <dict> | ||
| 38 | + <key>NSAllowsArbitraryLoads</key> | ||
| 39 | + <true/> | ||
| 40 | + </dict> | ||
| 36 | <key>UILaunchStoryboardName</key> | 41 | <key>UILaunchStoryboardName</key> |
| 37 | <string>LaunchScreen</string> | 42 | <string>LaunchScreen</string> |
| 38 | <key>UIMainStoryboardFile</key> | 43 | <key>UIMainStoryboardFile</key> | ... | ... |
| 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>en</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>CFBundleSignature</key> | ||
| 20 | - <string>????</string> | ||
| 21 | - <key>CFBundleURLTypes</key> | ||
| 22 | - <array> | ||
| 23 | - <dict> | ||
| 24 | - <key>CFBundleTypeRole</key> | ||
| 25 | - <string>Editor</string> | ||
| 26 | - <key>CFBundleURLSchemes</key> | ||
| 27 | - <array> | ||
| 28 | - <string>com.youai.sdk</string> | ||
| 29 | - </array> | ||
| 30 | - </dict> | ||
| 31 | - </array> | ||
| 32 | - <key>CFBundleVersion</key> | ||
| 33 | - <string>1</string> | ||
| 34 | - <key>LSApplicationQueriesSchemes</key> | ||
| 35 | - <array> | ||
| 36 | - <string>mqq</string> | ||
| 37 | - </array> | ||
| 38 | - <key>LSRequiresIPhoneOS</key> | ||
| 39 | - <true/> | ||
| 40 | - <key>NSAppTransportSecurity</key> | ||
| 41 | - <dict> | ||
| 42 | - <key>NSAllowsArbitraryLoads</key> | ||
| 43 | - <true/> | ||
| 44 | - </dict> | ||
| 45 | - <key>UILaunchStoryboardName</key> | ||
| 46 | - <string>LaunchScreen</string> | ||
| 47 | - <key>UIMainStoryboardFile</key> | ||
| 48 | - <string>Main</string> | ||
| 49 | - <key>UIRequiredDeviceCapabilities</key> | ||
| 50 | - <array> | ||
| 51 | - <string>armv7</string> | ||
| 52 | - </array> | ||
| 53 | - <key>UISupportedInterfaceOrientations</key> | ||
| 54 | - <array> | ||
| 55 | - <string>UIInterfaceOrientationLandscapeLeft</string> | ||
| 56 | - <string>UIInterfaceOrientationLandscapeRight</string> | ||
| 57 | - </array> | ||
| 58 | -</dict> | ||
| 59 | -</plist> |
| 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>LSApplicationQueriesSchemes</key> | ||
| 6 | - <array> | ||
| 7 | - <string>mqq</string> | ||
| 8 | - </array> | ||
| 9 | - | ||
| 10 | - <key>NSAppTransportSecurity</key> | ||
| 11 | - <dict> | ||
| 12 | - <key>NSAllowsArbitraryLoads</key> | ||
| 13 | - <true/> | ||
| 14 | - </dict> | ||
| 15 | - | ||
| 16 | -</dict> | ||
| 17 | -</plist> |
25.4 KB
28.7 KB
25.1 KB
28.4 KB
1.58 KB
2.08 KB
| 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>StringsTable</key> | ||
| 6 | - <string>Root</string> | ||
| 7 | - <key>PreferenceSpecifiers</key> | ||
| 8 | - <array> | ||
| 9 | - <dict> | ||
| 10 | - <key>Type</key> | ||
| 11 | - <string>PSGroupSpecifier</string> | ||
| 12 | - <key>Title</key> | ||
| 13 | - <string>Group</string> | ||
| 14 | - </dict> | ||
| 15 | - <dict> | ||
| 16 | - <key>Type</key> | ||
| 17 | - <string>PSTextFieldSpecifier</string> | ||
| 18 | - <key>Title</key> | ||
| 19 | - <string>Name</string> | ||
| 20 | - <key>Key</key> | ||
| 21 | - <string>name_preference</string> | ||
| 22 | - <key>DefaultValue</key> | ||
| 23 | - <string></string> | ||
| 24 | - <key>IsSecure</key> | ||
| 25 | - <false/> | ||
| 26 | - <key>KeyboardType</key> | ||
| 27 | - <string>Alphabet</string> | ||
| 28 | - <key>AutocapitalizationType</key> | ||
| 29 | - <string>None</string> | ||
| 30 | - <key>AutocorrectionType</key> | ||
| 31 | - <string>No</string> | ||
| 32 | - </dict> | ||
| 33 | - <dict> | ||
| 34 | - <key>Type</key> | ||
| 35 | - <string>PSToggleSwitchSpecifier</string> | ||
| 36 | - <key>Title</key> | ||
| 37 | - <string>Enabled</string> | ||
| 38 | - <key>Key</key> | ||
| 39 | - <string>enabled_preference</string> | ||
| 40 | - <key>DefaultValue</key> | ||
| 41 | - <true/> | ||
| 42 | - </dict> | ||
| 43 | - <dict> | ||
| 44 | - <key>Type</key> | ||
| 45 | - <string>PSSliderSpecifier</string> | ||
| 46 | - <key>Key</key> | ||
| 47 | - <string>slider_preference</string> | ||
| 48 | - <key>DefaultValue</key> | ||
| 49 | - <real>0.5</real> | ||
| 50 | - <key>MinimumValue</key> | ||
| 51 | - <integer>0</integer> | ||
| 52 | - <key>MaximumValue</key> | ||
| 53 | - <integer>1</integer> | ||
| 54 | - <key>MinimumValueImage</key> | ||
| 55 | - <string></string> | ||
| 56 | - <key>MaximumValueImage</key> | ||
| 57 | - <string></string> | ||
| 58 | - </dict> | ||
| 59 | - </array> | ||
| 60 | -</dict> | ||
| 61 | -</plist> |
19.9 KB
23.5 KB
20.5 KB
24.3 KB
15.6 KB
16.4 KB
1.42 KB
1.65 KB
1.55 KB
1.91 KB
1.34 KB
1.48 KB
15.4 KB
20.5 KB
24.4 KB
1.58 KB
1.98 KB
1.57 KB
2.03 KB
1.17 KB
1.31 KB
2.07 KB
15.3 KB
2.22 KB
5.51 KB
7.77 KB
23.5 KB
30.2 KB
49.8 KB
16.9 KB
16.7 KB
15.6 KB
15.9 KB
| 1 | -// | ||
| 2 | -// DYUserAccountModel.h | ||
| 3 | -// JWSDKDemo | ||
| 4 | -// | ||
| 5 | -// Created by DovYoung on 16/9/26. | ||
| 6 | -// Copyright © 2016年 DovYoung. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import <UIKit/UIKit.h> | ||
| 10 | - | ||
| 11 | -@interface DYExtraMessageModel : UIView | ||
| 12 | - | ||
| 13 | -@property (nonatomic, copy) NSString *serverid; //!< 服务器ID(非常重要) | ||
| 14 | -@property (nonatomic, copy) NSString *roleid; //!< 角色id | ||
| 15 | -@property (nonatomic, copy) NSString *rolename; //!< 角色名字 | ||
| 16 | -@property (nonatomic, copy) NSString *rolelevel; //!< 角色等级 | ||
| 17 | -@property (nonatomic, copy) NSString *scenetype; //!< 场景类型 | ||
| 18 | -@property (nonatomic, copy) NSString *zonename; //!< 服务区名字 | ||
| 19 | -@property (nonatomic, copy) NSString *balance; //!< 游戏币金额 | ||
| 20 | -@property (nonatomic, copy) NSString *vip; //!< 玩家vip等级 | ||
| 21 | -@property (nonatomic, copy) NSString *partyname; //!< 用户所属帮派 | ||
| 22 | - | ||
| 23 | -/** | ||
| 24 | - * 根据字典创建模型 | ||
| 25 | - * | ||
| 26 | - * @param dic 字典 | ||
| 27 | - * | ||
| 28 | - * @return 模型 | ||
| 29 | - */ | ||
| 30 | -- (instancetype)initWithDic:(NSDictionary *)dic; | ||
| 31 | - | ||
| 32 | -@end |
| 1 | -// | ||
| 2 | -// DYInitModel.h | ||
| 3 | -// JWSDKDemo | ||
| 4 | -// | ||
| 5 | -// Created by DovYoung on 16/9/21. | ||
| 6 | -// Copyright © 2016年 DovYoung. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import <Foundation/Foundation.h> | ||
| 10 | - | ||
| 11 | -@interface DYInitModel : NSObject | ||
| 12 | - | ||
| 13 | -@property (nonatomic, copy) NSString *url; //!< 应用更新地址 | ||
| 14 | -@property (nonatomic, copy) NSString *ver; //!< 版本号 | ||
| 15 | -@property (nonatomic, copy) NSString *isForce; //!< 是否强制更新 | ||
| 16 | -@property (nonatomic, copy) NSString *msg; //!< 版本更新信息 | ||
| 17 | - | ||
| 18 | -/** | ||
| 19 | - * 根据字典创建模型 | ||
| 20 | - * | ||
| 21 | - * @param dic 字典 | ||
| 22 | - * | ||
| 23 | - * @return 模型 | ||
| 24 | - */ | ||
| 25 | -- (instancetype)initWithDic:(NSDictionary *)dic; | ||
| 26 | - | ||
| 27 | -@end |
| 1 | -// | ||
| 2 | -// DYLoginModel.h | ||
| 3 | -// JWSDKDemo | ||
| 4 | -// | ||
| 5 | -// Created by DovYoung on 16/9/21. | ||
| 6 | -// Copyright © 2016年 DovYoung. All rights reserved. | ||
| 7 | -// | ||
| 8 | - | ||
| 9 | -#import <Foundation/Foundation.h> | ||
| 10 | - | ||
| 11 | -@interface DYLoginDataModel : NSObject | ||
| 12 | - | ||
| 13 | -//@property (nonatomic, copy) NSString *username; //!< 用户名 | ||
| 14 | -@property (nonatomic, copy) NSString *uid; //!< 用户id | ||
| 15 | -@property (nonatomic, copy) NSString *token; //!< 令牌 | ||
| 16 | -@property (nonatomic, copy) NSString *timestamp; //!< 时间戳 | ||
| 17 | - | ||
| 18 | -- (instancetype)initWithDic:(NSDictionary *)dic; | ||
| 19 | - | ||
| 20 | -+ (instancetype)loginDataModelWithDic:(NSDictionary *)dic; | ||
| 21 | - | ||
| 22 | -@end |
623 Bytes
613 Bytes
1.8 KB
4.78 KB
8.12 KB
162 Bytes
173 Bytes
177 Bytes
1011 Bytes
463 Bytes
53.5 KB
52.8 KB
184 Bytes
306 Bytes
398 Bytes
320 Bytes
399 Bytes
52.7 KB
53.2 KB
365 Bytes
816 Bytes
1.17 KB
38.2 KB
546 Bytes
54.8 KB
54.8 KB
605 Bytes
1.78 KB
583 Bytes
391 Bytes
222 Bytes
1.29 KB
262 Bytes
462 Bytes
714 Bytes
98.2 KB
98.3 KB
1.8 KB
4.78 KB
8.12 KB
101 KB
102 KB
1011 Bytes
184 Bytes
306 Bytes
398 Bytes
365 Bytes
816 Bytes
1.17 KB
6.01 KB
7.62 KB
3.75 KB
6.31 KB
995 KB
605 Bytes
1.78 KB
326 Bytes
583 Bytes
222 Bytes
1.29 KB
262 Bytes
462 Bytes
714 Bytes
95.3 KB
95.3 KB
103 KB
102 KB
3.3 KB
1.88 KB
2.98 KB
2.29 KB
5.99 KB
3.08 KB
2.83 KB
3.16 KB
3.16 KB
2.75 KB
3.05 KB
3.05 KB
3.16 KB
3.2 KB
2.98 KB
3.43 KB
3.11 KB
33.4 KB
33.9 KB
4.46 KB
9.27 KB
9.27 KB
2.83 KB
6.49 KB
6.39 KB
6.21 KB
4.25 KB
6.01 KB
6.15 KB
5.85 KB
6.5 KB
7.32 KB
6.34 KB
4.52 KB
2 KB
5.04 KB
3.77 KB
3.69 KB
7.62 KB
7.63 KB
13.7 KB
7.1 KB
6.5 KB
2.73 KB
103 KB
109 KB
5.75 KB
866 Bytes
1.75 KB
913 Bytes
1.79 KB
1.82 KB
6.74 KB
3.41 KB
812 Bytes
4.12 KB
4.1 KB
756 Bytes
791 Bytes
1.62 KB
1.9 KB
6.02 KB
6.02 KB
18.3 KB
2.83 KB
2.03 KB
3.56 KB
3.63 KB
4.68 KB
4.66 KB
8.91 KB
2.73 KB
5.03 KB
3.9 KB
3.9 KB
5.42 KB
6.75 KB
5.55 KB
30.2 KB
7.04 KB
1.34 KB
8.56 KB
5.42 KB
5.32 KB
4.5 KB
5.91 KB
5.9 KB
12.9 KB
13.4 KB
11.7 KB
14.2 KB
13.4 KB
1.56 KB
2.24 KB
2.54 KB
2.68 KB
1.47 KB
1.65 KB
7.32 KB
7.3 KB
-
Please register or login to post a comment