From 66a4204c3b146e84e4b790f6b01e78b118072ac5 Mon Sep 17 00:00:00 2001 From: jenkins Date: Thu, 12 Nov 2020 14:46:25 +0800 Subject: [PATCH] Release SealTalk Demo version 4.0.4 --- ios-sealtalk/Podfile | 12 ++-- .../RCloudMessage.xcodeproj/project.pbxproj | 68 ++++++++++++------ ios-sealtalk/RCloudMessage/AppDelegate.m | 14 ++++ .../RCDLanguageSettingViewController.m | 46 +++++++++--- .../Sections/Me/RCDMeTableViewController.m | 2 +- .../RCloudMessage/Supporting Files/Info.plist | 6 +- .../LanguageUtility/RCDLanguageManager.m | 2 + .../RongContactCard.framework/Info.plist | Bin 757 -> 757 bytes .../RongContactCard.framework/RongContactCard | Bin 2412168 -> 2412168 bytes .../Info.plist" | 4 +- .../Info.plist" | 4 +- 11 files changed, 114 insertions(+), 44 deletions(-) diff --git a/ios-sealtalk/Podfile b/ios-sealtalk/Podfile index 01450176..1f7bb6d1 100644 --- a/ios-sealtalk/Podfile +++ b/ios-sealtalk/Podfile @@ -19,10 +19,10 @@ target 'SealTalk' do pod 'DoraemonKit/WithLoad', '~> 3.0.2', :configurations => ['Debug'] pod 'DoraemonKit/WithMLeaksFinder', '~> 3.0.2', :configurations => ['Debug'] - pod 'RongCloudIM/IMLib', '4.0.3' - pod 'RongCloudIM/IMKit', '4.0.3' - pod 'RongCloudIM/RongSticker', '4.0.3' - pod 'RongCloudIM/Sight', '4.0.3' - pod 'RongCloudRTC/RongCallLib', '4.0.3' - pod 'RongCloudRTC/RongCallKit', '4.0.3' + pod 'RongCloudIM/IMLib', '4.0.4' + pod 'RongCloudIM/IMKit', '4.0.4' + pod 'RongCloudIM/RongSticker', '4.0.4' + pod 'RongCloudIM/Sight', '4.0.4' + pod 'RongCloudRTC/RongCallLib', '4.0.4' + pod 'RongCloudRTC/RongCallKit', '4.0.4' end diff --git a/ios-sealtalk/RCloudMessage.xcodeproj/project.pbxproj b/ios-sealtalk/RCloudMessage.xcodeproj/project.pbxproj index 99349719..6f20c0a7 100755 --- a/ios-sealtalk/RCloudMessage.xcodeproj/project.pbxproj +++ b/ios-sealtalk/RCloudMessage.xcodeproj/project.pbxproj @@ -393,6 +393,27 @@ remoteGlobalIDString = 6EBDD19BFFFD954165D471F1A9163671; remoteInfo = ZXingObjC; }; + 3B7ED69525515BF300500319 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 276599A1229E87B20074FAB2 /* Pods.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2A1194AC019E1C497A170EE4AB725374; + remoteInfo = FBRetainCycleDetector; + }; + 3BACB0062500CED50001A92C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 276599A1229E87B20074FAB2 /* Pods.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D1896D9851F43425DB6409A9170E0354; + remoteInfo = DoraemonKit; + }; + 3BACB0082500CED50001A92C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 276599A1229E87B20074FAB2 /* Pods.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 0D3F3B6C7D4AD810C6DDF4A69D741EE2; + remoteInfo = "DoraemonKit-DoraemonKit"; + }; 3BC0C80F229F8F3B0079234F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 276599A1229E87B20074FAB2 /* Pods.xcodeproj */; @@ -758,8 +779,6 @@ 3BEB4F7222C380A7003923CC /* RCDContactNotificationMessage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RCDContactNotificationMessage.m; sourceTree = ""; }; 466684341B5DF36E000B7504 /* RCDUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = RCDUtilities.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 466684351B5DF36E000B7504 /* RCDUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = RCDUtilities.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; - 510624841AD63A9E00348452 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = framework/en.lproj/RongCloudKit.strings; sourceTree = SOURCE_ROOT; }; - 510624861AD63AA500348452 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "framework/zh-Hans.lproj/RongCloudKit.strings"; sourceTree = SOURCE_ROOT; }; 6E1C981F1F39C90C008F96D8 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; }; 79B029EA22D5FE8E0062CBA5 /* RCDChatConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCDChatConfig.m; sourceTree = ""; }; 79B029EB22D5FE8E0062CBA5 /* RCDChatConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCDChatConfig.h; sourceTree = ""; }; @@ -1244,6 +1263,9 @@ isa = PBXGroup; children = ( 3BC0C810229F8F3B0079234F /* AFNetworking.framework */, + 3BACB0072500CED50001A92C /* DoraemonKit.framework */, + 3BACB0092500CED50001A92C /* DoraemonKit.bundle */, + 3B7ED69625515BF300500319 /* FBRetainCycleDetector.framework */, 3BC0C812229F8F3B0079234F /* FMDB.framework */, 9C226D0F229FD5C800F49FC5 /* GCDWebServer.framework */, 276599A7229E87B20074FAB2 /* Masonry.framework */, @@ -1894,7 +1916,6 @@ 9C11945D229D3F86005407ED /* main.m */, A28C438F22E95818005BA7A0 /* InfoPlist.strings */, A28C439122E95818005BA7A0 /* SealTalk.strings */, - 510624831AD63A9E00348452 /* RongCloudKit.strings */, E4BFAE221A121839007165B1 /* Images.xcassets */, 987653621D796C5B008A6BF0 /* Launch Screen.storyboard */, 0A1DDD9F22169D7300A9FE21 /* PrefixHeader.pch */, @@ -2944,6 +2965,7 @@ en, Base, "zh-Hans", + ar, ); mainGroup = E4D40F1F1A031F460045097C; productRefGroup = E4D40F291A031F460045097C /* Products */; @@ -3001,6 +3023,27 @@ remoteRef = 3B47890222B78F1C00D33F10 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B7ED69625515BF300500319 /* FBRetainCycleDetector.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = FBRetainCycleDetector.framework; + remoteRef = 3B7ED69525515BF300500319 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3BACB0072500CED50001A92C /* DoraemonKit.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = DoraemonKit.framework; + remoteRef = 3BACB0062500CED50001A92C /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3BACB0092500CED50001A92C /* DoraemonKit.bundle */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = DoraemonKit.bundle; + remoteRef = 3BACB0082500CED50001A92C /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 3BC0C810229F8F3B0079234F /* AFNetworking.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; @@ -3120,6 +3163,7 @@ "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", "${BUILT_PRODUCTS_DIR}/DoraemonKit/DoraemonKit.framework", "${PODS_ROOT}/DoraemonKit/iOS/DoraemonKit/Framework/DoraemonLoadAnalyze.framework", + "${BUILT_PRODUCTS_DIR}/FBRetainCycleDetector/FBRetainCycleDetector.framework", "${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework", "${BUILT_PRODUCTS_DIR}/GCDWebServer/GCDWebServer.framework", "${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework", @@ -3133,6 +3177,7 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DoraemonKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DoraemonLoadAnalyze.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBRetainCycleDetector.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GCDWebServer.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework", @@ -3487,15 +3532,6 @@ name = MainInterface.storyboard; sourceTree = ""; }; - 510624831AD63A9E00348452 /* RongCloudKit.strings */ = { - isa = PBXVariantGroup; - children = ( - 510624841AD63A9E00348452 /* en */, - 510624861AD63AA500348452 /* zh-Hans */, - ); - name = RongCloudKit.strings; - sourceTree = ""; - }; 9B49C53F23C421720058D19F /* RealTimeLocation.strings */ = { isa = PBXVariantGroup; children = ( @@ -3687,7 +3723,6 @@ PROVISIONING_PROFILE = "$APP_PROFILE"; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "armv7 armv7s arm64"; }; name = AutoDebug; }; @@ -3743,7 +3778,6 @@ PRODUCT_BUNDLE_IDENTIFIER = cn.rongcloud.im; PRODUCT_NAME = SealTalk; PROVISIONING_PROFILE = "$APP_PROFILE"; - VALID_ARCHS = "armv7 armv7s arm64"; }; name = AutoDebug; }; @@ -3847,7 +3881,6 @@ SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; - VALID_ARCHS = "armv7 armv7s arm64"; }; name = AutoRelease; }; @@ -3903,7 +3936,6 @@ PRODUCT_BUNDLE_IDENTIFIER = cn.rongcloud.im; PRODUCT_NAME = SealTalk; PROVISIONING_PROFILE = "$APP_PROFILE"; - VALID_ARCHS = "armv7 armv7s arm64"; }; name = AutoRelease; }; @@ -4124,7 +4156,6 @@ PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - VALID_ARCHS = "armv7 armv7s arm64"; }; name = Debug; }; @@ -4166,7 +4197,6 @@ SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; - VALID_ARCHS = "armv7 armv7s arm64"; }; name = Release; }; @@ -4222,7 +4252,6 @@ PRODUCT_NAME = SealTalk; PROVISIONING_PROFILE = ""; RUN_CLANG_STATIC_ANALYZER = NO; - VALID_ARCHS = "armv7 armv7s arm64"; }; name = Debug; }; @@ -4277,7 +4306,6 @@ PRODUCT_BUNDLE_IDENTIFIER = cn.rongcloud.im; PRODUCT_NAME = SealTalk; PROVISIONING_PROFILE = ""; - VALID_ARCHS = "armv7 armv7s arm64"; }; name = Release; }; diff --git a/ios-sealtalk/RCloudMessage/AppDelegate.m b/ios-sealtalk/RCloudMessage/AppDelegate.m index 0a9c7146..843e5377 100644 --- a/ios-sealtalk/RCloudMessage/AppDelegate.m +++ b/ios-sealtalk/RCloudMessage/AppDelegate.m @@ -33,6 +33,7 @@ #import "RCDPokeMessage.h" #import "RCDPokeManager.h" #import "RCDClearMessage.h" +#import "RCDLanguageManager.h" #ifdef DEBUG #import @@ -60,6 +61,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [self configWeChatShare]; [self loginAndEnterMainPage]; [self configDoraemon]; + [self configCurrentLanguage]; return YES; } @@ -205,6 +207,18 @@ - (void)loginAndEnterMainPage { } } +- (void)configCurrentLanguage { + //设置当前语言 + NSString *language = [DEFAULTS valueForKey:@"RCDUserLanguageKey"]; + + // App 内切换语言时需要设置布局,不重启有部分视图有问题 + if ([language isEqualToString:@"ar"]) { + [UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft; + } else { + [UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceLeftToRight; + } +} + - (void)loginAppServer:(NSString *)userName password:(NSString *)password region:(NSString *)regionCode diff --git a/ios-sealtalk/RCloudMessage/Sections/Me/Language/RCDLanguageSettingViewController.m b/ios-sealtalk/RCloudMessage/Sections/Me/Language/RCDLanguageSettingViewController.m index 52a53cb8..3c59392d 100644 --- a/ios-sealtalk/RCloudMessage/Sections/Me/Language/RCDLanguageSettingViewController.m +++ b/ios-sealtalk/RCloudMessage/Sections/Me/Language/RCDLanguageSettingViewController.m @@ -14,6 +14,7 @@ #import "UIColor+RCColor.h" #import "RCDLanguageSettingTableViewCell.h" #import "RCDTableView.h" +#import "UIView+MBProgressHUD.h" @interface RCDLanguageSettingViewController () @property (nonatomic, strong) RCDTableView *tableView; @@ -30,7 +31,7 @@ - (void)viewDidLoad { [super viewDidLoad]; self.title = RCDLocalizedString(@"language"); - self.languageDic = @{ @"en" : @"English", @"zh-Hans" : @"简体中文" }; + self.languageDic = @{ @"en" : @"English", @"zh-Hans" : @"简体中文", @"ar" : @"العربية"}; self.language = [RCDLanguageManager sharedRCDLanguageManager].currentLanguage; self.currentLanguage = self.language; @@ -45,15 +46,40 @@ - (void)viewDidLayoutSubviews { #pragma mark - Target action - (void)save { - //设置当前语言 - [[RCDLanguageManager sharedRCDLanguageManager] setLocalizableLanguage:self.language]; - - //重置vc堆栈 - AppDelegate *app = (AppDelegate *)[UIApplication sharedApplication].delegate; - RCDMainTabBarViewController *mainTabBarVC = [[RCDMainTabBarViewController alloc] init]; - RCDNavigationViewController *nav = [[RCDNavigationViewController alloc] initWithRootViewController:mainTabBarVC]; - mainTabBarVC.selectedIndex = 3; - app.window.rootViewController = nav; + + RCPushLauguage lauguage = RCPushLauguage_EN_US; + if ([self.language isEqualToString:@"ar"]) { + lauguage = RCPushLauguage_AR_SA; + } else if ([self.language isEqualToString:@"zh-Hans"]) { + lauguage = RCPushLauguage_ZH_CN; + } else { + lauguage = RCPushLauguage_EN_US; + } + + [MBProgressHUD showHUDAddedTo:self.view animated:YES]; + [[RCIMClient sharedRCIMClient].pushProfile setPushLauguage:lauguage success:^{ + dispatch_async(dispatch_get_main_queue(), ^{ + [MBProgressHUD hideHUDForView:self.view animated:YES]; + if (lauguage== RCPushLauguage_AR_SA) { + [UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft; + } else { + [UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceLeftToRight; + } + //设置当前语言 + [[RCDLanguageManager sharedRCDLanguageManager] setLocalizableLanguage:self.language]; + //重置vc堆栈 + AppDelegate *app = (AppDelegate *)[UIApplication sharedApplication].delegate; + RCDMainTabBarViewController *mainTabBarVC = [[RCDMainTabBarViewController alloc] init]; + RCDNavigationViewController *nav = [[RCDNavigationViewController alloc] initWithRootViewController:mainTabBarVC]; + mainTabBarVC.selectedIndex = 3; + app.window.rootViewController = nav; + }); + } error:^(RCErrorCode status) { + dispatch_async(dispatch_get_main_queue(), ^{ + [MBProgressHUD hideHUDForView:self.view animated:YES]; + [self.view showHUDMessage:[NSString stringWithFormat:@"%@ %ld", RCDLocalizedString(@"Failed"), (long)status]]; + }); + }]; } #pragma mark - UITableView Delegate diff --git a/ios-sealtalk/RCloudMessage/Sections/Me/RCDMeTableViewController.m b/ios-sealtalk/RCloudMessage/Sections/Me/RCDMeTableViewController.m index d5477273..165dc332 100644 --- a/ios-sealtalk/RCloudMessage/Sections/Me/RCDMeTableViewController.m +++ b/ios-sealtalk/RCloudMessage/Sections/Me/RCDMeTableViewController.m @@ -36,7 +36,7 @@ - (instancetype)initWithStyle:(UITableViewStyle)style { - (void)viewDidLoad { [super viewDidLoad]; - self.languageDic = @{ @"en" : @"English", @"zh-Hans" : @"简体中文" }; + self.languageDic = @{ @"en" : @"English", @"zh-Hans" : @"简体中文", @"ar" : @"العربية"}; [self initUI]; } diff --git a/ios-sealtalk/RCloudMessage/Supporting Files/Info.plist b/ios-sealtalk/RCloudMessage/Supporting Files/Info.plist index b9ac8411..c4c65759 100644 --- a/ios-sealtalk/RCloudMessage/Supporting Files/Info.plist +++ b/ios-sealtalk/RCloudMessage/Supporting Files/Info.plist @@ -19,7 +19,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 4.0.3 Dev + 4.0.4 Dev CFBundleSignature ???? CFBundleURLTypes @@ -52,7 +52,7 @@ CFBundleVersion - 202009171046 + 202011112203 LSApplicationQueriesSchemes weixin @@ -77,7 +77,7 @@ NSPhotoLibraryUsageDescription 访问相册 SealTalk Version - 4.0.3 + 4.0.4 UIBackgroundModes audio diff --git a/ios-sealtalk/RCloudMessage/Utils/LanguageUtility/RCDLanguageManager.m b/ios-sealtalk/RCloudMessage/Utils/LanguageUtility/RCDLanguageManager.m index d58f5b3f..e0899e2b 100644 --- a/ios-sealtalk/RCloudMessage/Utils/LanguageUtility/RCDLanguageManager.m +++ b/ios-sealtalk/RCloudMessage/Utils/LanguageUtility/RCDLanguageManager.m @@ -50,6 +50,8 @@ - (NSString *)currentLanguage { userLanguage = @"en"; } else if ([userLanguage containsString:@"zh-Hans"]) { userLanguage = @"zh-Hans"; + } else if ([userLanguage containsString:@"ar"]) { + userLanguage = @"ar"; } } return userLanguage ? userLanguage : @"default"; diff --git a/ios-sealtalk/framework/RongContactCard/RongContactCard.framework/Info.plist b/ios-sealtalk/framework/RongContactCard/RongContactCard.framework/Info.plist index 58897182c5fff99583298a17ec6b585754d7333c..18ce14165974a30a08a501f63fe321e7f495ff19 100644 GIT binary patch delta 13 Ucmey$`jvG9Hxr}DWFDrM03vV%aR2}S delta 13 Ucmey$`jvG9Hxr}rWFDrM03vGyZ~y=R diff --git a/ios-sealtalk/framework/RongContactCard/RongContactCard.framework/RongContactCard b/ios-sealtalk/framework/RongContactCard/RongContactCard.framework/RongContactCard index 8b4eeda56e100fe53e6549ffe81d38402c280f41..34f8cca50d64b8811293c9b9db3d33a5aee4a2af 100644 GIT binary patch delta 195 zcmX}lDGtI=7{u|E?XeXoQ1%@R$rCJrqMty)X>j8ZUs?%4bAfvDj?gpVn1q1%sedLD zJs(a)w~N}XSKHvQxkBIwQi8M~BghJJ0wu@`3WB1bBq+b&F7Y^=Te u`CkpZ(4bBYYFY#Tefr&nCh@67ZR${$deo-@4QWJUn$VPHG`A*M9MuOSVnm<- delta 195 zcmX}lDGtI=7{u|E?XeXoQ1+!PhNOZQ2%w)p!D(>g5MNpeL34q6@{Z6m;h2Pg_^E#; z6F(nLOt*_#Z?x9??G*w?kP&1BIYC}f5GX-WP!f~{6+!g{cNKmoyF-+OF4d?`4V#4C v{rs;6US!au7PYN`|33ZhB9r>mp)U2PPXij#h{iObDFrm6IW4S7mq+yh5?Mri diff --git "a/ios-sealtalk/\350\236\215\344\272\221 Demo WatchKit App/Info.plist" "b/ios-sealtalk/\350\236\215\344\272\221 Demo WatchKit App/Info.plist" index 4fd067a4..6c3d17d4 100644 --- "a/ios-sealtalk/\350\236\215\344\272\221 Demo WatchKit App/Info.plist" +++ "b/ios-sealtalk/\350\236\215\344\272\221 Demo WatchKit App/Info.plist" @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 4.0.3 Dev + 4.0.4 Dev CFBundleSignature ???? CFBundleVersion - 202009171046 + 202011112203 UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git "a/ios-sealtalk/\350\236\215\344\272\221 Demo WatchKit Extension/Info.plist" "b/ios-sealtalk/\350\236\215\344\272\221 Demo WatchKit Extension/Info.plist" index ddb700a2..f1a0db8b 100644 --- "a/ios-sealtalk/\350\236\215\344\272\221 Demo WatchKit Extension/Info.plist" +++ "b/ios-sealtalk/\350\236\215\344\272\221 Demo WatchKit Extension/Info.plist" @@ -17,11 +17,11 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 4.0.3 Dev + 4.0.4 Dev CFBundleSignature ???? CFBundleVersion - 202009171046 + 202011112203 NSExtension NSExtensionAttributes