diff --git a/Group-Video/OpenVideoCall-Android/app/build.gradle b/Group-Video/OpenVideoCall-Android/app/build.gradle index 909fe9e2..36eb12ee 100644 --- a/Group-Video/OpenVideoCall-Android/app/build.gradle +++ b/Group-Video/OpenVideoCall-Android/app/build.gradle @@ -52,7 +52,7 @@ dependencies { exclude group: 'com.google.android', module: 'android' } - implementation 'io.agora.rtc:full-sdk:2.9.2' + implementation 'io.agora.rtc:full-sdk:3.1.0' androidTestImplementation 'com.android.support.test:rules:1.0.2' androidTestImplementation 'com.jayway.android.robotium:robotium-solo:5.6.3' } diff --git a/Group-Video/OpenVideoCall-Android/app/src/main/java/io/agora/openvcall/ui/BaseActivity.java b/Group-Video/OpenVideoCall-Android/app/src/main/java/io/agora/openvcall/ui/BaseActivity.java index d502a45c..6e0f833b 100644 --- a/Group-Video/OpenVideoCall-Android/app/src/main/java/io/agora/openvcall/ui/BaseActivity.java +++ b/Group-Video/OpenVideoCall-Android/app/src/main/java/io/agora/openvcall/ui/BaseActivity.java @@ -20,6 +20,7 @@ import io.agora.openvcall.model.*; import io.agora.propeller.Constant; import io.agora.rtc.RtcEngine; +import io.agora.rtc.internal.EncryptionConfig; import io.agora.rtc.video.VideoCanvas; import io.agora.rtc.video.VideoEncoderConfiguration; @@ -361,9 +362,18 @@ protected void disablePreProcessor() { } protected void configEngine(VideoEncoderConfiguration.VideoDimensions videoDimension, VideoEncoderConfiguration.FRAME_RATE fps, String encryptionKey, String encryptionMode) { + EncryptionConfig config = new EncryptionConfig(); if (!TextUtils.isEmpty(encryptionKey)) { - rtcEngine().setEncryptionMode(encryptionMode); - rtcEngine().setEncryptionSecret(encryptionKey); + config.encryptionKey = encryptionKey; + + if(TextUtils.equals(encryptionMode, "AES-128-XTS")) { + config.encryptionMode = EncryptionConfig.EncryptionMode.AES_128_XTS; + } else if(TextUtils.equals(encryptionMode, "AES-256-XTS")) { + config.encryptionMode = EncryptionConfig.EncryptionMode.AES_256_XTS; + } + rtcEngine().enableEncryption(true, config); + } else { + rtcEngine().enableEncryption(false, config); } log.debug("configEngine " + videoDimension + " " + fps + " " + encryptionMode); diff --git a/Group-Video/OpenVideoCall-Windows-MFC/Language/ChineseSimplified/ChineseSimplified.h b/Group-Video/OpenVideoCall-Windows-MFC/Language/ChineseSimplified/ChineseSimplified.h index b262678a..63158423 100644 --- a/Group-Video/OpenVideoCall-Windows-MFC/Language/ChineseSimplified/ChineseSimplified.h +++ b/Group-Video/OpenVideoCall-Windows-MFC/Language/ChineseSimplified/ChineseSimplified.h @@ -1,9 +1,9 @@ -// 下列 ifdef 块是创建使从 DLL 导出更简单的 -// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 CHINESESIMPLIFIED_EXPORTS -// 符号编译的。在使用此 DLL 的 -// 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将 -// CHINESESIMPLIFIED_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的 -// 符号视为是被导出的。 +// 涓嬪垪 ifdef 鍧楁槸鍒涘缓浣夸粠 DLL 瀵煎嚭鏇寸畝鍗曠殑 +// 瀹忕殑鏍囧噯鏂规硶銆傛 DLL 涓殑鎵鏈夋枃浠堕兘鏄敤鍛戒护琛屼笂瀹氫箟鐨 CHINESESIMPLIFIED_EXPORTS +// 绗﹀彿缂栬瘧鐨勩傚湪浣跨敤姝 DLL 鐨 +// 浠讳綍鍏朵粬椤圭洰涓婁笉搴斿畾涔夋绗﹀彿銆傝繖鏍凤紝婧愭枃浠朵腑鍖呭惈姝ゆ枃浠剁殑浠讳綍鍏朵粬椤圭洰閮戒細灏 +// CHINESESIMPLIFIED_API 鍑芥暟瑙嗕负鏄粠 DLL 瀵煎叆鐨勶紝鑰屾 DLL 鍒欏皢鐢ㄦ瀹忓畾涔夌殑 +// 绗﹀彿瑙嗕负鏄瀵煎嚭鐨勩 #ifdef CHINESESIMPLIFIED_EXPORTS #define CHINESESIMPLIFIED_API __declspec(dllexport) #else @@ -46,11 +46,13 @@ extern CHINESESIMPLIFIED_API LPCTSTR IDS_CHN_AES128CCM; extern CHINESESIMPLIFIED_API LPCTSTR IDS_CHN_AES128CTR ; extern CHINESESIMPLIFIED_API LPCTSTR IDS_CHN_AES256XTS; extern CHINESESIMPLIFIED_API LPCTSTR IDS_CHN_AES256GCM; + extern CHINESESIMPLIFIED_API LPCTSTR IDS_CHN_AES256CCM ; extern CHINESESIMPLIFIED_API LPCTSTR IDS_CHN_AES256CTR ; extern CHINESESIMPLIFIED_API LPCTSTR IDS_CHN_SM4_128ECB ; extern CHINESESIMPLIFIED_API LPCTSTR IDS_CHN_AES_128_ECB ; + extern CHINESESIMPLIFIED_API LPCTSTR IDS_SET_RESOLUTION; extern CHINESESIMPLIFIED_API LPCTSTR IDS_SET_MFR; extern CHINESESIMPLIFIED_API LPCTSTR IDS_SET_MR; diff --git a/Group-Video/OpenVideoCall-Windows-MFC/Language/ChineseSimplified/Source.def b/Group-Video/OpenVideoCall-Windows-MFC/Language/ChineseSimplified/Source.def index 5a6c7770..9aa8576d 100644 --- a/Group-Video/OpenVideoCall-Windows-MFC/Language/ChineseSimplified/Source.def +++ b/Group-Video/OpenVideoCall-Windows-MFC/Language/ChineseSimplified/Source.def @@ -41,6 +41,7 @@ IDS_CHN_AES256CTR DATA; IDS_CHN_SM4_128ECB DATA; IDS_CHN_AES_128_ECB DATA; + IDS_SET_RESOLUTION DATA; IDS_SET_MFR DATA; IDS_SET_MR DATA; diff --git a/Group-Video/OpenVideoCall-Windows-MFC/Language/English/English.h b/Group-Video/OpenVideoCall-Windows-MFC/Language/English/English.h index 4318a898..bcf583db 100644 --- a/Group-Video/OpenVideoCall-Windows-MFC/Language/English/English.h +++ b/Group-Video/OpenVideoCall-Windows-MFC/Language/English/English.h @@ -1,9 +1,9 @@ -// 下列 ifdef 块是创建使从 DLL 导出更简单的 -// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 ENGLISH_EXPORTS -// 符号编译的。在使用此 DLL 的 -// 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将 -// ENGLISH_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的 -// 符号视为是被导出的。 +// 涓嬪垪 ifdef 鍧楁槸鍒涘缓浣夸粠 DLL 瀵煎嚭鏇寸畝鍗曠殑 +// 瀹忕殑鏍囧噯鏂规硶銆傛 DLL 涓殑鎵鏈夋枃浠堕兘鏄敤鍛戒护琛屼笂瀹氫箟鐨 ENGLISH_EXPORTS +// 绗﹀彿缂栬瘧鐨勩傚湪浣跨敤姝 DLL 鐨 +// 浠讳綍鍏朵粬椤圭洰涓婁笉搴斿畾涔夋绗﹀彿銆傝繖鏍凤紝婧愭枃浠朵腑鍖呭惈姝ゆ枃浠剁殑浠讳綍鍏朵粬椤圭洰閮戒細灏 +// ENGLISH_API 鍑芥暟瑙嗕负鏄粠 DLL 瀵煎叆鐨勶紝鑰屾 DLL 鍒欏皢鐢ㄦ瀹忓畾涔夌殑 +// 绗﹀彿瑙嗕负鏄瀵煎嚭鐨勩 #ifdef ENGLISH_EXPORTS #define ENGLISH_API __declspec(dllexport) #else diff --git a/Group-Video/OpenVideoCall-Windows-MFC/Language/English/Source.def b/Group-Video/OpenVideoCall-Windows-MFC/Language/English/Source.def index 737ca855..0e10f5f9 100644 --- a/Group-Video/OpenVideoCall-Windows-MFC/Language/English/Source.def +++ b/Group-Video/OpenVideoCall-Windows-MFC/Language/English/Source.def @@ -42,6 +42,7 @@ IDS_CHN_SM4_128ECB DATA; IDS_CHN_AES_128_ECB DATA; + IDS_SET_RESOLUTION DATA; IDS_SET_MFR DATA; IDS_SET_MR DATA; diff --git a/Group-Video/OpenVideoCall-Windows-MFC/OpenVideoCall/EnterChannelDlg.cpp b/Group-Video/OpenVideoCall-Windows-MFC/OpenVideoCall/EnterChannelDlg.cpp index 7caf88de..70bb3395 100644 --- a/Group-Video/OpenVideoCall-Windows-MFC/OpenVideoCall/EnterChannelDlg.cpp +++ b/Group-Video/OpenVideoCall-Windows-MFC/OpenVideoCall/EnterChannelDlg.cpp @@ -1,4 +1,4 @@ -// EnterChannelDlg.cpp : 实现文件 +// EnterChannelDlg.cpp : 瀹炵幇鏂囦欢 // #include "stdafx.h" @@ -9,7 +9,7 @@ #include "afxdialogex.h" -// CEnterChannelDlg 对话框 +// CEnterChannelDlg 瀵硅瘽妗 IMPLEMENT_DYNAMIC(CEnterChannelDlg, CDialogEx) @@ -43,7 +43,7 @@ BEGIN_MESSAGE_MAP(CEnterChannelDlg, CDialogEx) END_MESSAGE_MAP() -// CEnterChannelDlg 消息处理程序 +// CEnterChannelDlg 娑堟伅澶勭悊绋嬪簭 BOOL CEnterChannelDlg::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN){ @@ -63,7 +63,7 @@ BOOL CEnterChannelDlg::OnInitDialog() { CDialogEx::OnInitDialog(); - // TODO: 在此添加额外的初始化 + // TODO: 鍦ㄦ娣诲姞棰濆鐨勫垵濮嬪寲 m_ftEncy.CreateFont(17, 0, 0, 0, FW_BOLD, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, _T("Arial")); m_ftHead.CreateFont(15, 0, 0, 0, FW_NORMAL, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, _T("Arial")); m_ftDesc.CreateFont(15, 0, 0, 0, FW_NORMAL, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, _T("Arial")); @@ -193,19 +193,17 @@ void CEnterChannelDlg::OnBnClickedBtnjoinChannel() { // CString str = CAgoraObject::GetAgoraObject()->GetCallID(); CString strKey; - m_ctrEncKey.GetWindowText(strKey); if (strKey.GetLength() > 0) { - - char szEncryptKey[2 * MAX_PATH] = { 0 }; - WideCharToMultiByte(CP_UTF8, 0, strKey.GetBuffer(0), strKey.GetLength(), szEncryptKey, 2 * MAX_PATH, NULL, NULL); // configuration of encrypt EncryptionConfig config; // set encrypt mode - config.encryptionMode = (agora::rtc::ENCRYPTION_MODE)m_cmbEncType.GetCurSel(); + config.encryptionMode = ENCRYPTION_MODE(m_cmbEncType.GetCurSel() + 1); // set encrypt key - config.encryptionKey = szEncryptKey; + char szKey[520] = { 0 }; + WideCharToMultiByte(CP_UTF8, 0, strKey.GetBuffer(0), strKey.GetLength(), szKey, 520, NULL, NULL); + config.encryptionKey = szKey; // EnableEncryption of engine. CAgoraObject::GetAgoraObject()->EnableEncryption(true, config); } diff --git a/Group-Video/OpenVideoCall-iOS-Objective-C/OpenVideoCall.xcodeproj/project.pbxproj b/Group-Video/OpenVideoCall-iOS-Objective-C/OpenVideoCall.xcodeproj/project.pbxproj index dde75c4b..fba33740 100644 --- a/Group-Video/OpenVideoCall-iOS-Objective-C/OpenVideoCall.xcodeproj/project.pbxproj +++ b/Group-Video/OpenVideoCall-iOS-Objective-C/OpenVideoCall.xcodeproj/project.pbxproj @@ -292,7 +292,7 @@ TargetAttributes = { 076C59711DDDBC3500F813E2 = { CreatedOnToolsVersion = 8.1; - DevelopmentTeam = SW3CA7M752; + DevelopmentTeam = GM72UGLGZW; ProvisioningStyle = Manual; }; }; @@ -495,9 +495,9 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = SW3CA7M752; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -513,7 +513,7 @@ PRODUCT_BUNDLE_IDENTIFIER = io.agora.OpenVideoCall; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = "dc253ab3-71e4-40a3-a57c-a3a763407202"; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -522,9 +522,9 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = SW3CA7M752; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -540,7 +540,7 @@ PRODUCT_BUNDLE_IDENTIFIER = io.agora.OpenVideoCall; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = "dc253ab3-71e4-40a3-a57c-a3a763407202"; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; diff --git a/Group-Video/OpenVideoCall-iOS-Objective-C/OpenVideoCall/Encryption.h b/Group-Video/OpenVideoCall-iOS-Objective-C/OpenVideoCall/Encryption.h index f0b98a4a..05db14e9 100644 --- a/Group-Video/OpenVideoCall-iOS-Objective-C/OpenVideoCall/Encryption.h +++ b/Group-Video/OpenVideoCall-iOS-Objective-C/OpenVideoCall/Encryption.h @@ -7,6 +7,7 @@ // #import +#import typedef NS_ENUM(int, EncryptionType) { EncryptionTypeXTS128, @@ -16,7 +17,7 @@ typedef NS_ENUM(int, EncryptionType) { @interface Encryption : NSObject @property (nonatomic, copy, readonly) NSString *modeString; -@property (nonatomic, copy, readonly) AgoraEncryptionMode modeValue; +@property (nonatomic, readonly) AgoraEncryptionMode modeValue; @property (nonatomic, copy, readonly) NSString *description; @property (nonatomic, assign) EncryptionType type; @property (nonatomic, copy) NSString *secret; diff --git a/Group-Video/OpenVideoCall-iOS-Objective-C/exportPlist.plist b/Group-Video/OpenVideoCall-iOS-Objective-C/exportPlist.plist index 0b85fe99..f5b3f00e 100644 --- a/Group-Video/OpenVideoCall-iOS-Objective-C/exportPlist.plist +++ b/Group-Video/OpenVideoCall-iOS-Objective-C/exportPlist.plist @@ -9,7 +9,7 @@ provisioningProfiles io.agora.OpenVideoCall - AgoraAppsDevProfile + App diff --git a/Group-Video/OpenVideoCall-iOS/OpenVideoCall.xcodeproj/project.pbxproj b/Group-Video/OpenVideoCall-iOS/OpenVideoCall.xcodeproj/project.pbxproj index 84c32693..fa9c1a09 100644 --- a/Group-Video/OpenVideoCall-iOS/OpenVideoCall.xcodeproj/project.pbxproj +++ b/Group-Video/OpenVideoCall-iOS/OpenVideoCall.xcodeproj/project.pbxproj @@ -276,7 +276,7 @@ TargetAttributes = { 07F52EB01D62F39D006DDCD4 = { CreatedOnToolsVersion = 7.3.1; - DevelopmentTeam = SW3CA7M752; + DevelopmentTeam = GM72UGLGZW; LastSwiftMigration = 1000; ProvisioningStyle = Manual; SystemCapabilities = { @@ -490,9 +490,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; - DEVELOPMENT_TEAM = SW3CA7M752; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: Qianze Zhang (3C9KJFP729)"; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -508,7 +508,7 @@ PRODUCT_BUNDLE_IDENTIFIER = io.agora.OpenVideoCall; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; @@ -522,9 +522,9 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; - DEVELOPMENT_TEAM = SW3CA7M752; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: Qianze Zhang (3C9KJFP729)"; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -540,7 +540,7 @@ PRODUCT_BUNDLE_IDENTIFIER = io.agora.OpenVideoCall; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.2; diff --git a/Group-Video/OpenVideoCall-iOS/OpenVideoCall/RoomViewController.swift b/Group-Video/OpenVideoCall-iOS/OpenVideoCall/RoomViewController.swift index 4bba5fa0..ae9c9041 100644 --- a/Group-Video/OpenVideoCall-iOS/OpenVideoCall/RoomViewController.swift +++ b/Group-Video/OpenVideoCall-iOS/OpenVideoCall/RoomViewController.swift @@ -223,7 +223,7 @@ private extension RoomViewController { // Step 4, enable encryption mode if let type = settings.encryptionType, let text = type.text, !text.isEmpty { let config = AgoraEncryptionConfig() - config.encryptionKey = NSString(utf8String: text) + config.encryptionKey = text config.encryptionMode = type.modeValue() agoraKit.enableEncryption(true, encryptionConfig: config) } diff --git a/Group-Video/OpenVideoCall-iOS/exportPlist.plist b/Group-Video/OpenVideoCall-iOS/exportPlist.plist index 0b85fe99..f5b3f00e 100644 --- a/Group-Video/OpenVideoCall-iOS/exportPlist.plist +++ b/Group-Video/OpenVideoCall-iOS/exportPlist.plist @@ -9,7 +9,7 @@ provisioningProfiles io.agora.OpenVideoCall - AgoraAppsDevProfile + App diff --git a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/Agora-iOS-Tutorial-Objective-C.xcodeproj/project.pbxproj b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/Agora-iOS-Tutorial-Objective-C.xcodeproj/project.pbxproj index ff50fde6..7d4f99c4 100755 --- a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/Agora-iOS-Tutorial-Objective-C.xcodeproj/project.pbxproj +++ b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/Agora-iOS-Tutorial-Objective-C.xcodeproj/project.pbxproj @@ -168,7 +168,7 @@ TargetAttributes = { 1A8E8D371D396CAA002FA67C = { CreatedOnToolsVersion = 7.3.1; - DevelopmentTeam = SW3CA7M752; + DevelopmentTeam = GM72UGLGZW; ProvisioningStyle = Manual; SystemCapabilities = { com.apple.BackgroundModes = { @@ -354,9 +354,9 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = SW3CA7M752; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_BITCODE = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -371,7 +371,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "io.agora.Agora-iOS-Tutorial-Objective-C"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; }; name = Debug; }; @@ -379,9 +379,9 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = SW3CA7M752; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_BITCODE = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -396,7 +396,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "io.agora.Agora-iOS-Tutorial-Objective-C"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; }; name = Release; }; diff --git a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/Agora-iOS-Tutorial-Objective-C/VideoChatViewController.m b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/Agora-iOS-Tutorial-Objective-C/VideoChatViewController.m index af5d19ec..9fbd2d14 100755 --- a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/Agora-iOS-Tutorial-Objective-C/VideoChatViewController.m +++ b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/Agora-iOS-Tutorial-Objective-C/VideoChatViewController.m @@ -97,6 +97,11 @@ - (void)rtcEngine:(AgoraRtcEngineKit *)engine firstRemoteVideoDecodedOfUid:(NSUI // Bind remote video stream to view } +- (void)rtcEngine:(AgoraRtcEngineKit *)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteStateReason)reason elapsed:(NSInteger)elapsed +{ + NSLog(@"remoteVideoStateChangedOfUid %@ %@ %@", @(uid), @(state), @(reason)); +} + - (IBAction)hangUpButton:(UIButton *)sender { [self leaveChannel]; } diff --git a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/README.md b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/README.md index 9a1c07b0..5acf0632 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/README.md +++ b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/README.md @@ -43,7 +43,6 @@ To build and run the sample application, get an App ID: 1. Download the [Agora Video SDK](https://www.agora.io/en/download/). Unzip the downloaded SDK package and copy the following files from the SDK `libs` folder into the sample application `Agora iOS Tutorial Objective-C` folder. - `AograRtcEngineKit.framework` - `AgoraRtcCryptoLoader.framework` - - `libcrypto.a` 2. Connect your iPhone or iPad device and run the project. Ensure a valid provisioning profile is applied or your project will not run. diff --git a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/README.zh.md b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/README.zh.md index dcc5c12a..09cabe9a 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/README.zh.md +++ b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/README.zh.md @@ -44,7 +44,6 @@ - AgoraRtcEngineKit.framework - AgoraRtcCryptoLoader.framework - - libcrypto.a 2. 鏈鍚庝娇鐢 XCode 鎵撳紑 Agora iOS Tutorial Objective-C.xcodeproj锛岃繛鎺 iPhone锛廼Pad 娴嬭瘯璁惧锛岃缃湁鏁堢殑寮鍙戣呯鍚嶅悗鍗冲彲杩愯銆 diff --git a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/exportPlist.plist b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/exportPlist.plist index 68797c7b..2d4ed12d 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/exportPlist.plist +++ b/One-to-One-Video/Agora-iOS-Tutorial-Objective-C-1to1/exportPlist.plist @@ -9,7 +9,7 @@ provisioningProfiles io.agora.Agora-iOS-Tutorial-Objective-C - AgoraAppsDevProfile + App diff --git a/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/Agora-iOS-Tutorial.xcodeproj/project.pbxproj b/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/Agora-iOS-Tutorial.xcodeproj/project.pbxproj index 7a971591..6ddcf872 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/Agora-iOS-Tutorial.xcodeproj/project.pbxproj +++ b/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/Agora-iOS-Tutorial.xcodeproj/project.pbxproj @@ -195,7 +195,7 @@ TargetAttributes = { 1ABDEE3D1D383BE4007DE451 = { CreatedOnToolsVersion = 7.3.1; - DevelopmentTeam = SW3CA7M752; + DevelopmentTeam = GM72UGLGZW; LastSwiftMigration = 1130; ProvisioningStyle = Manual; SystemCapabilities = { @@ -416,9 +416,9 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; - DEVELOPMENT_TEAM = ""; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: Qianze Zhang (3C9KJFP729)"; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_BITCODE = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -435,7 +435,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "io.agora.Agora-iOS-Tutorial"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 5.0; @@ -446,9 +446,9 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; - DEVELOPMENT_TEAM = ""; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: Qianze Zhang (3C9KJFP729)"; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_BITCODE = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -465,7 +465,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "io.agora.Agora-iOS-Tutorial"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 5.0; diff --git a/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/README.md b/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/README.md index d0b05dd8..5cd42caf 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/README.md +++ b/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/README.md @@ -45,7 +45,6 @@ To build and run the sample application, get an App Id: - `AograRtcEngineKit.framework` - `AgoraRtcCryptoLoader.framework` - - `libcrypto.a` 2. Connect your iPhone or iPad device and run the project. Ensure a valid provisioning profile is applied or your project will not run. diff --git a/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/README.zh.md b/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/README.zh.md index 39175cf4..35a93e0d 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/README.zh.md +++ b/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/README.zh.md @@ -44,7 +44,6 @@ - AgoraRtcEngineKit.framework - AgoraRtcCryptoLoader.framework - - libcrypto.a 2. 鏈鍚庝娇鐢 Xcode 鎵撳紑 Agora iOS Tutorial.xcodeproj锛岃繛鎺 iPhone锛廼Pad 娴嬭瘯璁惧锛岃缃湁鏁堢殑寮鍙戣呯鍚嶅悗鍗冲彲杩愯銆 diff --git a/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/exportPlist.plist b/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/exportPlist.plist index 770fae52..d2f1d1cb 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/exportPlist.plist +++ b/One-to-One-Video/Agora-iOS-Tutorial-Swift-1to1/exportPlist.plist @@ -9,7 +9,7 @@ provisioningProfiles io.agora.Agora-iOS-Tutorial - AgoraAppsDevProfile + App diff --git a/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/Agora-iOS-Tutorial-SwiftUI-1to1.xcodeproj/project.pbxproj b/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/Agora-iOS-Tutorial-SwiftUI-1to1.xcodeproj/project.pbxproj index 92630969..1c52b470 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/Agora-iOS-Tutorial-SwiftUI-1to1.xcodeproj/project.pbxproj +++ b/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/Agora-iOS-Tutorial-SwiftUI-1to1.xcodeproj/project.pbxproj @@ -362,10 +362,10 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_ASSET_PATHS = "\"Agora-iOS-Tutorial-SwiftUI-1to1/Preview Content\""; - DEVELOPMENT_TEAM = SW3CA7M752; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -379,7 +379,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "io.agora.Agora-iOS-Tutorial-SwiftUI-1to1"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -389,10 +389,10 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_IDENTITY = "iPhone Developer: Yuhua Gong (YBKA3W5TF4)"; + CODE_SIGN_IDENTITY = "Apple Development: Qianze Zhang (3C9KJFP729)"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_ASSET_PATHS = "\"Agora-iOS-Tutorial-SwiftUI-1to1/Preview Content\""; - DEVELOPMENT_TEAM = SW3CA7M752; + DEVELOPMENT_TEAM = GM72UGLGZW; ENABLE_PREVIEWS = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -406,7 +406,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "io.agora.Agora-iOS-Tutorial-SwiftUI-1to1"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = AgoraAppsDevProfile; + PROVISIONING_PROFILE_SPECIFIER = App; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; diff --git a/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/README.md b/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/README.md index 8876b349..a990897d 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/README.md +++ b/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/README.md @@ -42,7 +42,6 @@ To build and run the sample application, get an App Id: 1. Download the [Agora Video SDK](https://www.agora.io/en/download/). Unzip the downloaded SDK package and copy the following files from the SDK `libs` folder into the sample application `Agora-iOS-Tutorial-SwiftUI-1to1` folder. - `AograRtcEngineKit.framework` - `AgoraRtcCryptoLoader.framework` - - `libcrypto.a` 2. Connect your iPhone or iPad device and run the project. Ensure a valid provisioning profile is applied or your project will not run. diff --git a/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/README.zh.md b/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/README.zh.md index cc62883b..4d1529ab 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/README.zh.md +++ b/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/README.zh.md @@ -44,7 +44,6 @@ - AgoraRtcEngineKit.framework - AgoraRtcCryptoLoader.framework - - libcrypto.a 2. 鏈鍚庝娇鐢 XCode 鎵撳紑 Agora-iOS-Tutorial-SwiftUI-1to1.xcodeproj锛岃繛鎺 iPhone锛廼Pad 娴嬭瘯璁惧锛岃缃湁鏁堢殑寮鍙戣呯鍚嶅悗鍗冲彲杩愯銆 diff --git a/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/exportPlist.plist b/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/exportPlist.plist index e09d1821..75d7e222 100644 --- a/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/exportPlist.plist +++ b/One-to-One-Video/Agora-iOS-Tutorial-SwiftUI-1to1/exportPlist.plist @@ -9,7 +9,7 @@ provisioningProfiles io.agora.Agora-iOS-Tutorial-SwiftUI-1to1 - AgoraAppsDevProfile + App diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8595a2af..fcb04de0 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,8 +1,8 @@ variables: - iOSRTCSDK: 'https://download.agora.io/sdk/release/Agora_Native_SDK_for_iOS_v3_0_1_FULL.zip?_ga=2.217080854.1429354637.1591107319-5559409.1503304822' - MacRTCSDK: 'https://download.agora.io/sdk/release/Agora_Native_SDK_for_Mac_v3_0_1_FULL.zip?_ga=2.45223076.1429354637.1591107319-5559409.1503304822' - WindowsRTCSDK: 'https://download.agora.io/sdk/release/Agora_Native_SDK_for_Windows_v3_0_1_FULL.zip' - AndroidRTCSDKVer: '3.0.1' + iOSRTCSDK: 'https://download.agora.io/sdk/release/Agora_Native_SDK_for_iOS_v3_1_0_FULL.zip?_ga=2.221003672.1493357375.1597372715-269570672.1596526126' + MacRTCSDK: 'https://download.agora.io/sdk/release/Agora_Native_SDK_for_Mac_v3_1_0_FULL.zip?_ga=2.221003672.1493357375.1597372715-269570672.1596526126' + WindowsRTCSDK: 'https://download.agora.io/sdk/release/Agora_Native_SDK_for_Windows_v3_1_0_FULL.zip?_ga=2.221003672.1493357375.1597372715-269570672.1596526126' + AndroidRTCSDKVer: '3.1.0' jobs: