├── Android ├── Android.iml ├── app │ ├── .gitignore │ ├── app.iml │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── aliyun │ │ │ └── apsaravideo │ │ │ └── sophon │ │ │ ├── base │ │ │ ├── AliRtcApplication.java │ │ │ └── BaseActivity.java │ │ │ ├── bean │ │ │ ├── ChartUserBean.java │ │ │ ├── RTCAuthInfo.java │ │ │ └── RTCMeetingInfo.java │ │ │ ├── listener │ │ │ ├── ChannelTextWatchListener.java │ │ │ ├── TextChangeListener.java │ │ │ └── TextWatcherListener.java │ │ │ ├── login │ │ │ ├── NetWorkErrorActivity.java │ │ │ └── VideoCallJoinActivity.java │ │ │ ├── network │ │ │ └── RequestRTCAuthInfo.java │ │ │ ├── rtc │ │ │ ├── BaseRTCBeaconTower.java │ │ │ ├── RTCBeaconTowerCallback.java │ │ │ └── RTCBeaconTowerImpl.java │ │ │ ├── utils │ │ │ ├── AliRtcConstants.java │ │ │ ├── ApplicationContextUtil.java │ │ │ ├── DensityUtil.java │ │ │ ├── DensityUtils.java │ │ │ ├── FastClickUtil.java │ │ │ ├── MockAliRtcAuthInfo.java │ │ │ ├── NetWatchdog.java │ │ │ ├── NetworkUtils.java │ │ │ ├── ParserJsonUtils.java │ │ │ ├── PatternUtils.java │ │ │ ├── PermissionUtils.java │ │ │ ├── SharedPreferenceUtils.java │ │ │ ├── SpHistoryUtils.java │ │ │ ├── StringUtil.java │ │ │ ├── ThreadUtils.java │ │ │ ├── ToastUtils.java │ │ │ └── Utils.java │ │ │ ├── videocall │ │ │ ├── AlivcVideoCallView.java │ │ │ ├── VideoCallActivity.java │ │ │ ├── adapter │ │ │ │ ├── BaseRecyclerViewAdapter.java │ │ │ │ └── ChartUserAdapter.java │ │ │ └── view │ │ │ │ ├── AlivcControlView.java │ │ │ │ ├── AlivcTimeTextView.java │ │ │ │ └── BaseAlivcView.java │ │ │ └── widget │ │ │ ├── CircleImageView.java │ │ │ └── SophonContainer.java │ │ └── res │ │ ├── drawable-xhdpi │ │ ├── alivc_icon_mute.png │ │ ├── alivc_video_call_handsfree.png │ │ ├── alivc_video_call_handsfree_checked.png │ │ ├── alivc_video_call_hang_up.png │ │ ├── alivc_video_call_mute.png │ │ ├── alivc_video_call_mute_checked.png │ │ ├── alivc_video_call_mute_local_camera.png │ │ ├── alivc_video_call_mute_local_camera_checked.png │ │ ├── alivc_video_call_switch_camera.png │ │ ├── alivc_video_call_switch_camera_checked.png │ │ ├── alivc_video_call_voice_mode.png │ │ ├── alivc_video_call_voice_mode_checked.png │ │ ├── alivc_video_icon_error.png │ │ ├── alivc_video_pic_net_error.png │ │ ├── face.png │ │ ├── icon_back.png │ │ ├── icon_default_header.png │ │ ├── icon_default_header_bg.png │ │ ├── right_arrow.png │ │ ├── user_avatar_bg_01.png │ │ ├── user_avatar_bg_02.png │ │ └── user_setting_bg_lines.png │ │ ├── drawable │ │ ├── alirtc_bg_bt_create_shape.xml │ │ ├── alirtc_bg_bt_create_shape_radius.xml │ │ ├── alirtc_bg_channel_selected_shape.xml │ │ ├── alirtc_bg_channel_un_selected_shape.xml │ │ ├── alirtc_bg_close_camera_radius.xml │ │ ├── alirtc_bg_create_channel_selector.xml │ │ ├── alirtc_bg_create_nickname_selector.xml │ │ ├── alirtc_bg_enter_left_bottom_selecetd_shape.xml │ │ ├── alirtc_bg_enter_left_bottom_un_selected_shape.xml │ │ ├── alirtc_bg_enter_shape.xml │ │ ├── alirtc_video_call_handsfree_shape.xml │ │ ├── alivc_btn_bg_selector.xml │ │ ├── alivc_button_bg_selector.xml │ │ ├── alivc_oval_bg_checked.xml │ │ ├── alivc_oval_bg_normal.xml │ │ ├── alivc_record_round_bkg.xml │ │ ├── alivc_record_round_rect_checked.xml │ │ ├── alivc_record_round_rect_focused.xml │ │ ├── alivc_record_round_rect_unfocused.xml │ │ ├── alivc_round_bg_selector.xml │ │ ├── alivc_video_call_handsfree_selector.xml │ │ ├── alivc_video_call_mute_local_camera_selector.xml │ │ ├── alivc_video_call_mute_selector.xml │ │ ├── alivc_video_call_switch_camera_selector.xml │ │ ├── alivc_video_call_voice_mode_selector.xml │ │ ├── chart_content_userlist_item_divider.xml │ │ ├── chart_control_call.xml │ │ ├── chart_control_camera.xml │ │ ├── chart_control_mute_bgcolor.xml │ │ ├── chart_control_mutemic.xml │ │ ├── chart_control_sound.xml │ │ ├── chart_userlist_item_tv_bg.xml │ │ └── chart_userlist_item_video_layout_bg.xml │ │ ├── layout │ │ ├── activity_join.xml │ │ ├── activity_net_work_error.xml │ │ ├── activity_user_setting.xml │ │ ├── aliyun_video_call_control_panel.xml │ │ ├── aliyun_video_call_main.xml │ │ ├── aliyun_video_call_small_window_item.xml │ │ ├── aliyun_video_call_toast_view.xml │ │ ├── aliyun_video_call_view.xml │ │ └── chart_content_userlist_item.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ ├── chart_control_call_off.png │ │ ├── chart_control_call_on.png │ │ ├── chart_control_camera_off.png │ │ ├── chart_control_camera_on.png │ │ ├── chart_control_mutecamera_off.png │ │ ├── chart_control_mutecamera_on.png │ │ ├── chart_control_mutemic_off.png │ │ ├── chart_control_mutemic_on.png │ │ ├── chart_control_sound_off.png │ │ ├── chart_control_sound_on.png │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-v19 │ │ └── styles.xml │ │ ├── values-v21 │ │ └── styles.xml │ │ ├── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── network_security_config.xml ├── build.gradle ├── dependencies.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── LICENSE ├── iOS └── RTCSolution │ ├── .DS_Store │ ├── AliRtcSDK_iOS │ ├── .DS_Store │ ├── AliRTCSdk.framework │ │ ├── AliRTCSdk │ │ ├── Headers │ │ │ ├── AliRTCSdk.h │ │ │ └── AliRtcEngine.h │ │ ├── Info.plist │ │ └── Modules │ │ │ └── module.modulemap │ ├── AliRTCSdk.podspec │ ├── LICENSE │ └── README.md │ ├── Podfile │ ├── Podfile.lock │ ├── Pods │ ├── AFNetworking │ │ ├── AFNetworking │ │ │ ├── AFCompatibilityMacros.h │ │ │ ├── AFHTTPSessionManager.h │ │ │ ├── AFHTTPSessionManager.m │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ ├── AFNetworkReachabilityManager.m │ │ │ ├── AFNetworking.h │ │ │ ├── AFSecurityPolicy.h │ │ │ ├── AFSecurityPolicy.m │ │ │ ├── AFURLRequestSerialization.h │ │ │ ├── AFURLRequestSerialization.m │ │ │ ├── AFURLResponseSerialization.h │ │ │ ├── AFURLResponseSerialization.m │ │ │ ├── AFURLSessionManager.h │ │ │ └── AFURLSessionManager.m │ │ ├── LICENSE │ │ ├── README.md │ │ └── UIKit+AFNetworking │ │ │ ├── AFAutoPurgingImageCache.h │ │ │ ├── AFAutoPurgingImageCache.m │ │ │ ├── AFImageDownloader.h │ │ │ ├── AFImageDownloader.m │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ ├── AFNetworkActivityIndicatorManager.m │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ ├── UIActivityIndicatorView+AFNetworking.m │ │ │ ├── UIButton+AFNetworking.h │ │ │ ├── UIButton+AFNetworking.m │ │ │ ├── UIImageView+AFNetworking.h │ │ │ ├── UIImageView+AFNetworking.m │ │ │ ├── UIKit+AFNetworking.h │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ ├── UIProgressView+AFNetworking.m │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ ├── UIRefreshControl+AFNetworking.m │ │ │ ├── WKWebView+AFNetworking.h │ │ │ └── WKWebView+AFNetworking.m │ ├── Headers │ │ ├── Private │ │ │ ├── AFNetworking │ │ │ │ ├── AFAutoPurgingImageCache.h │ │ │ │ ├── AFCompatibilityMacros.h │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ ├── AFImageDownloader.h │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ ├── AFNetworking.h │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ └── WKWebView+AFNetworking.h │ │ │ ├── MBProgressHUD │ │ │ │ └── MBProgressHUD.h │ │ │ ├── Masonry │ │ │ │ ├── MASCompositeConstraint.h │ │ │ │ ├── MASConstraint+Private.h │ │ │ │ ├── MASConstraint.h │ │ │ │ ├── MASConstraintMaker.h │ │ │ │ ├── MASLayoutConstraint.h │ │ │ │ ├── MASUtilities.h │ │ │ │ ├── MASViewAttribute.h │ │ │ │ ├── MASViewConstraint.h │ │ │ │ ├── Masonry.h │ │ │ │ ├── NSArray+MASAdditions.h │ │ │ │ ├── NSArray+MASShorthandAdditions.h │ │ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ │ │ ├── View+MASAdditions.h │ │ │ │ ├── View+MASShorthandAdditions.h │ │ │ │ └── ViewController+MASAdditions.h │ │ │ ├── RTCBeaconTower │ │ │ │ ├── AliBaseViewController.h │ │ │ │ ├── AliRTCBeaconTower.h │ │ │ │ ├── BeaconHeader.h │ │ │ │ ├── BottomControlView.h │ │ │ │ ├── CKHash.h │ │ │ │ ├── ChatRoomViewController.h │ │ │ │ ├── CustomNavView.h │ │ │ │ ├── GeneralMacro.h │ │ │ │ ├── KNotify.h │ │ │ │ ├── MainViewController.h │ │ │ │ ├── NSArray+Safe.h │ │ │ │ ├── NSBundle+RTCBeaconTower.h │ │ │ │ ├── NSDictionary+Safe.h │ │ │ │ ├── NSMutableArray+Safe.h │ │ │ │ ├── NSMutableDictionary+Safe.h │ │ │ │ ├── NSObject+CKNotify.h │ │ │ │ ├── NSString+SHA256.h │ │ │ │ ├── NoNetworkView.h │ │ │ │ ├── RemoteView.h │ │ │ │ ├── TableViewBaseView.h │ │ │ │ ├── TableViewBaseViewController.h │ │ │ │ ├── Toast.h │ │ │ │ ├── Tool.h │ │ │ │ ├── UIControl+Time.h │ │ │ │ ├── UIView+Frame.h │ │ │ │ └── UIView+Loading.h │ │ │ ├── RTCCommon │ │ │ │ ├── AppConfig.h │ │ │ │ ├── NetworkManager.h │ │ │ │ ├── RTCCommon.h │ │ │ │ ├── RTCMacro.h │ │ │ │ ├── Reachability.h │ │ │ │ ├── UIColor+Hex.h │ │ │ │ └── UIImage+Color.h │ │ │ ├── RTCCommonView │ │ │ │ ├── CALayer+Sublayer.h │ │ │ │ ├── CodeInputView.h │ │ │ │ ├── LoadingButton.h │ │ │ │ ├── NSBundle+RTCCommonView.h │ │ │ │ ├── RTCCommonView.h │ │ │ │ ├── RTCDoubleActionsAlertController.h │ │ │ │ ├── RTCHUD.h │ │ │ │ ├── RTCOffLineController.h │ │ │ │ └── RTCSingleActionAlertController.h │ │ │ └── ReactiveObjC │ │ │ │ ├── MKAnnotationView+RACSignalSupport.h │ │ │ │ ├── NSArray+RACSequenceAdditions.h │ │ │ │ ├── NSData+RACSupport.h │ │ │ │ ├── NSDictionary+RACSequenceAdditions.h │ │ │ │ ├── NSEnumerator+RACSequenceAdditions.h │ │ │ │ ├── NSFileHandle+RACSupport.h │ │ │ │ ├── NSIndexSet+RACSequenceAdditions.h │ │ │ │ ├── NSInvocation+RACTypeParsing.h │ │ │ │ ├── NSNotificationCenter+RACSupport.h │ │ │ │ ├── NSObject+RACDeallocating.h │ │ │ │ ├── NSObject+RACDescription.h │ │ │ │ ├── NSObject+RACKVOWrapper.h │ │ │ │ ├── NSObject+RACLifting.h │ │ │ │ ├── NSObject+RACPropertySubscribing.h │ │ │ │ ├── NSObject+RACSelectorSignal.h │ │ │ │ ├── NSOrderedSet+RACSequenceAdditions.h │ │ │ │ ├── NSSet+RACSequenceAdditions.h │ │ │ │ ├── NSString+RACKeyPathUtilities.h │ │ │ │ ├── NSString+RACSequenceAdditions.h │ │ │ │ ├── NSString+RACSupport.h │ │ │ │ ├── NSURLConnection+RACSupport.h │ │ │ │ ├── NSUserDefaults+RACSupport.h │ │ │ │ ├── RACAnnotations.h │ │ │ │ ├── RACArraySequence.h │ │ │ │ ├── RACBehaviorSubject.h │ │ │ │ ├── RACBlockTrampoline.h │ │ │ │ ├── RACChannel.h │ │ │ │ ├── RACCommand.h │ │ │ │ ├── RACCompoundDisposable.h │ │ │ │ ├── RACDelegateProxy.h │ │ │ │ ├── RACDisposable.h │ │ │ │ ├── RACDynamicSequence.h │ │ │ │ ├── RACDynamicSignal.h │ │ │ │ ├── RACEXTKeyPathCoding.h │ │ │ │ ├── RACEXTRuntimeExtensions.h │ │ │ │ ├── RACEXTScope.h │ │ │ │ ├── RACEagerSequence.h │ │ │ │ ├── RACEmptySequence.h │ │ │ │ ├── RACEmptySignal.h │ │ │ │ ├── RACErrorSignal.h │ │ │ │ ├── RACEvent.h │ │ │ │ ├── RACGroupedSignal.h │ │ │ │ ├── RACImmediateScheduler.h │ │ │ │ ├── RACIndexSetSequence.h │ │ │ │ ├── RACKVOChannel.h │ │ │ │ ├── RACKVOProxy.h │ │ │ │ ├── RACKVOTrampoline.h │ │ │ │ ├── RACMulticastConnection+Private.h │ │ │ │ ├── RACMulticastConnection.h │ │ │ │ ├── RACPassthroughSubscriber.h │ │ │ │ ├── RACQueueScheduler+Subclass.h │ │ │ │ ├── RACQueueScheduler.h │ │ │ │ ├── RACReplaySubject.h │ │ │ │ ├── RACReturnSignal.h │ │ │ │ ├── RACScheduler+Private.h │ │ │ │ ├── RACScheduler+Subclass.h │ │ │ │ ├── RACScheduler.h │ │ │ │ ├── RACScopedDisposable.h │ │ │ │ ├── RACSequence.h │ │ │ │ ├── RACSerialDisposable.h │ │ │ │ ├── RACSignal+Operations.h │ │ │ │ ├── RACSignal.h │ │ │ │ ├── RACSignalSequence.h │ │ │ │ ├── RACStream+Private.h │ │ │ │ ├── RACStream.h │ │ │ │ ├── RACStringSequence.h │ │ │ │ ├── RACSubject.h │ │ │ │ ├── RACSubscriber+Private.h │ │ │ │ ├── RACSubscriber.h │ │ │ │ ├── RACSubscriptingAssignmentTrampoline.h │ │ │ │ ├── RACSubscriptionScheduler.h │ │ │ │ ├── RACTargetQueueScheduler.h │ │ │ │ ├── RACTestScheduler.h │ │ │ │ ├── RACTuple.h │ │ │ │ ├── RACTupleSequence.h │ │ │ │ ├── RACUnarySequence.h │ │ │ │ ├── RACUnit.h │ │ │ │ ├── RACValueTransformer.h │ │ │ │ ├── RACmetamacros.h │ │ │ │ ├── ReactiveObjC.h │ │ │ │ ├── UIActionSheet+RACSignalSupport.h │ │ │ │ ├── UIAlertView+RACSignalSupport.h │ │ │ │ ├── UIBarButtonItem+RACCommandSupport.h │ │ │ │ ├── UIButton+RACCommandSupport.h │ │ │ │ ├── UICollectionReusableView+RACSignalSupport.h │ │ │ │ ├── UIControl+RACSignalSupport.h │ │ │ │ ├── UIControl+RACSignalSupportPrivate.h │ │ │ │ ├── UIDatePicker+RACSignalSupport.h │ │ │ │ ├── UIGestureRecognizer+RACSignalSupport.h │ │ │ │ ├── UIImagePickerController+RACSignalSupport.h │ │ │ │ ├── UIRefreshControl+RACCommandSupport.h │ │ │ │ ├── UISegmentedControl+RACSignalSupport.h │ │ │ │ ├── UISlider+RACSignalSupport.h │ │ │ │ ├── UIStepper+RACSignalSupport.h │ │ │ │ ├── UISwitch+RACSignalSupport.h │ │ │ │ ├── UITableViewCell+RACSignalSupport.h │ │ │ │ ├── UITableViewHeaderFooterView+RACSignalSupport.h │ │ │ │ ├── UITextField+RACSignalSupport.h │ │ │ │ └── UITextView+RACSignalSupport.h │ │ └── Public │ │ │ ├── AFNetworking │ │ │ ├── AFAutoPurgingImageCache.h │ │ │ ├── AFCompatibilityMacros.h │ │ │ ├── AFHTTPSessionManager.h │ │ │ ├── AFImageDownloader.h │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ ├── AFNetworking.h │ │ │ ├── AFSecurityPolicy.h │ │ │ ├── AFURLRequestSerialization.h │ │ │ ├── AFURLResponseSerialization.h │ │ │ ├── AFURLSessionManager.h │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ ├── UIButton+AFNetworking.h │ │ │ ├── UIImageView+AFNetworking.h │ │ │ ├── UIKit+AFNetworking.h │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ └── WKWebView+AFNetworking.h │ │ │ ├── AliRTCSdk │ │ │ └── AliRTCSdk │ │ │ │ ├── AliRTCSdk.h │ │ │ │ └── AliRtcEngine.h │ │ │ ├── MBProgressHUD │ │ │ └── MBProgressHUD.h │ │ │ ├── Masonry │ │ │ ├── MASCompositeConstraint.h │ │ │ ├── MASConstraint+Private.h │ │ │ ├── MASConstraint.h │ │ │ ├── MASConstraintMaker.h │ │ │ ├── MASLayoutConstraint.h │ │ │ ├── MASUtilities.h │ │ │ ├── MASViewAttribute.h │ │ │ ├── MASViewConstraint.h │ │ │ ├── Masonry.h │ │ │ ├── NSArray+MASAdditions.h │ │ │ ├── NSArray+MASShorthandAdditions.h │ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ │ ├── View+MASAdditions.h │ │ │ ├── View+MASShorthandAdditions.h │ │ │ └── ViewController+MASAdditions.h │ │ │ ├── RTCBeaconTower │ │ │ ├── AliBaseViewController.h │ │ │ ├── AliRTCBeaconTower.h │ │ │ ├── BeaconHeader.h │ │ │ ├── BottomControlView.h │ │ │ ├── CKHash.h │ │ │ ├── ChatRoomViewController.h │ │ │ ├── CustomNavView.h │ │ │ ├── GeneralMacro.h │ │ │ ├── KNotify.h │ │ │ ├── MainViewController.h │ │ │ ├── NSArray+Safe.h │ │ │ ├── NSBundle+RTCBeaconTower.h │ │ │ ├── NSDictionary+Safe.h │ │ │ ├── NSMutableArray+Safe.h │ │ │ ├── NSMutableDictionary+Safe.h │ │ │ ├── NSObject+CKNotify.h │ │ │ ├── NSString+SHA256.h │ │ │ ├── NoNetworkView.h │ │ │ ├── RemoteView.h │ │ │ ├── TableViewBaseView.h │ │ │ ├── TableViewBaseViewController.h │ │ │ ├── Toast.h │ │ │ ├── Tool.h │ │ │ ├── UIControl+Time.h │ │ │ ├── UIView+Frame.h │ │ │ └── UIView+Loading.h │ │ │ ├── RTCCommon │ │ │ ├── AppConfig.h │ │ │ ├── NetworkManager.h │ │ │ ├── RTCCommon.h │ │ │ ├── RTCMacro.h │ │ │ ├── Reachability.h │ │ │ ├── UIColor+Hex.h │ │ │ └── UIImage+Color.h │ │ │ ├── RTCCommonView │ │ │ ├── CALayer+Sublayer.h │ │ │ ├── CodeInputView.h │ │ │ ├── LoadingButton.h │ │ │ ├── NSBundle+RTCCommonView.h │ │ │ ├── RTCCommonView.h │ │ │ ├── RTCDoubleActionsAlertController.h │ │ │ ├── RTCHUD.h │ │ │ ├── RTCOffLineController.h │ │ │ └── RTCSingleActionAlertController.h │ │ │ └── ReactiveObjC │ │ │ ├── MKAnnotationView+RACSignalSupport.h │ │ │ ├── NSArray+RACSequenceAdditions.h │ │ │ ├── NSData+RACSupport.h │ │ │ ├── NSDictionary+RACSequenceAdditions.h │ │ │ ├── NSEnumerator+RACSequenceAdditions.h │ │ │ ├── NSFileHandle+RACSupport.h │ │ │ ├── NSIndexSet+RACSequenceAdditions.h │ │ │ ├── NSInvocation+RACTypeParsing.h │ │ │ ├── NSNotificationCenter+RACSupport.h │ │ │ ├── NSObject+RACDeallocating.h │ │ │ ├── NSObject+RACDescription.h │ │ │ ├── NSObject+RACKVOWrapper.h │ │ │ ├── NSObject+RACLifting.h │ │ │ ├── NSObject+RACPropertySubscribing.h │ │ │ ├── NSObject+RACSelectorSignal.h │ │ │ ├── NSOrderedSet+RACSequenceAdditions.h │ │ │ ├── NSSet+RACSequenceAdditions.h │ │ │ ├── NSString+RACKeyPathUtilities.h │ │ │ ├── NSString+RACSequenceAdditions.h │ │ │ ├── NSString+RACSupport.h │ │ │ ├── NSURLConnection+RACSupport.h │ │ │ ├── NSUserDefaults+RACSupport.h │ │ │ ├── RACAnnotations.h │ │ │ ├── RACArraySequence.h │ │ │ ├── RACBehaviorSubject.h │ │ │ ├── RACBlockTrampoline.h │ │ │ ├── RACChannel.h │ │ │ ├── RACCommand.h │ │ │ ├── RACCompoundDisposable.h │ │ │ ├── RACDelegateProxy.h │ │ │ ├── RACDisposable.h │ │ │ ├── RACDynamicSequence.h │ │ │ ├── RACDynamicSignal.h │ │ │ ├── RACEXTKeyPathCoding.h │ │ │ ├── RACEXTScope.h │ │ │ ├── RACEagerSequence.h │ │ │ ├── RACErrorSignal.h │ │ │ ├── RACEvent.h │ │ │ ├── RACGroupedSignal.h │ │ │ ├── RACImmediateScheduler.h │ │ │ ├── RACIndexSetSequence.h │ │ │ ├── RACKVOChannel.h │ │ │ ├── RACKVOProxy.h │ │ │ ├── RACKVOTrampoline.h │ │ │ ├── RACMulticastConnection.h │ │ │ ├── RACPassthroughSubscriber.h │ │ │ ├── RACQueueScheduler+Subclass.h │ │ │ ├── RACQueueScheduler.h │ │ │ ├── RACReplaySubject.h │ │ │ ├── RACReturnSignal.h │ │ │ ├── RACScheduler+Subclass.h │ │ │ ├── RACScheduler.h │ │ │ ├── RACScopedDisposable.h │ │ │ ├── RACSequence.h │ │ │ ├── RACSerialDisposable.h │ │ │ ├── RACSignal+Operations.h │ │ │ ├── RACSignal.h │ │ │ ├── RACSignalSequence.h │ │ │ ├── RACStream.h │ │ │ ├── RACStringSequence.h │ │ │ ├── RACSubject.h │ │ │ ├── RACSubscriber.h │ │ │ ├── RACSubscriptingAssignmentTrampoline.h │ │ │ ├── RACSubscriptionScheduler.h │ │ │ ├── RACTargetQueueScheduler.h │ │ │ ├── RACTestScheduler.h │ │ │ ├── RACTuple.h │ │ │ ├── RACTupleSequence.h │ │ │ ├── RACUnarySequence.h │ │ │ ├── RACUnit.h │ │ │ ├── RACValueTransformer.h │ │ │ ├── RACmetamacros.h │ │ │ ├── ReactiveObjC.h │ │ │ ├── UIActionSheet+RACSignalSupport.h │ │ │ ├── UIAlertView+RACSignalSupport.h │ │ │ ├── UIBarButtonItem+RACCommandSupport.h │ │ │ ├── UIButton+RACCommandSupport.h │ │ │ ├── UICollectionReusableView+RACSignalSupport.h │ │ │ ├── UIControl+RACSignalSupport.h │ │ │ ├── UIDatePicker+RACSignalSupport.h │ │ │ ├── UIGestureRecognizer+RACSignalSupport.h │ │ │ ├── UIImagePickerController+RACSignalSupport.h │ │ │ ├── UIRefreshControl+RACCommandSupport.h │ │ │ ├── UISegmentedControl+RACSignalSupport.h │ │ │ ├── UISlider+RACSignalSupport.h │ │ │ ├── UIStepper+RACSignalSupport.h │ │ │ ├── UISwitch+RACSignalSupport.h │ │ │ ├── UITableViewCell+RACSignalSupport.h │ │ │ ├── UITableViewHeaderFooterView+RACSignalSupport.h │ │ │ ├── UITextField+RACSignalSupport.h │ │ │ └── UITextView+RACSignalSupport.h │ ├── Local Podspecs │ │ ├── AFNetworking.podspec.json │ │ ├── AliPlayerSDK_iOS.podspec.json │ │ ├── AliRTCSdk.podspec.json │ │ ├── RTCAudioLiveRoom.podspec.json │ │ ├── RTCBeaconTower.podspec.json │ │ ├── RTCCommon.podspec.json │ │ ├── RTCCommonView.podspec.json │ │ ├── RTCInteractiveLiveClass.podspec.json │ │ ├── RTCSmallClass.podspec.json │ │ ├── RTCVideoLiveRoom.podspec.json │ │ ├── RTCVoiceCall.podspec.json │ │ └── RtcMultiplayerVideo.podspec.json │ ├── MBProgressHUD │ │ ├── LICENSE │ │ ├── MBProgressHUD.h │ │ ├── MBProgressHUD.m │ │ └── README.mdown │ ├── Manifest.lock │ ├── Masonry │ │ ├── LICENSE │ │ ├── Masonry │ │ │ ├── MASCompositeConstraint.h │ │ │ ├── MASCompositeConstraint.m │ │ │ ├── MASConstraint+Private.h │ │ │ ├── MASConstraint.h │ │ │ ├── MASConstraint.m │ │ │ ├── MASConstraintMaker.h │ │ │ ├── MASConstraintMaker.m │ │ │ ├── MASLayoutConstraint.h │ │ │ ├── MASLayoutConstraint.m │ │ │ ├── MASUtilities.h │ │ │ ├── MASViewAttribute.h │ │ │ ├── MASViewAttribute.m │ │ │ ├── MASViewConstraint.h │ │ │ ├── MASViewConstraint.m │ │ │ ├── Masonry.h │ │ │ ├── NSArray+MASAdditions.h │ │ │ ├── NSArray+MASAdditions.m │ │ │ ├── NSArray+MASShorthandAdditions.h │ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ │ ├── NSLayoutConstraint+MASDebugAdditions.m │ │ │ ├── View+MASAdditions.h │ │ │ ├── View+MASAdditions.m │ │ │ ├── View+MASShorthandAdditions.h │ │ │ ├── ViewController+MASAdditions.h │ │ │ └── ViewController+MASAdditions.m │ │ └── README.md │ ├── Pods.xcodeproj │ │ ├── project.pbxproj │ │ └── xcuserdata │ │ │ └── sunzhen.xcuserdatad │ │ │ └── xcschemes │ │ │ ├── AFNetworking.xcscheme │ │ │ ├── MBProgressHUD.xcscheme │ │ │ ├── Masonry.xcscheme │ │ │ ├── Pods-RTCSolution.xcscheme │ │ │ ├── RTCBeaconTower.xcscheme │ │ │ ├── RTCCommon.xcscheme │ │ │ ├── RTCCommonView.xcscheme │ │ │ ├── ReactiveObjC.xcscheme │ │ │ └── xcschememanagement.plist │ ├── ReactiveObjC │ │ ├── LICENSE.md │ │ ├── README.md │ │ └── ReactiveObjC │ │ │ ├── MKAnnotationView+RACSignalSupport.h │ │ │ ├── MKAnnotationView+RACSignalSupport.m │ │ │ ├── NSArray+RACSequenceAdditions.h │ │ │ ├── NSArray+RACSequenceAdditions.m │ │ │ ├── NSData+RACSupport.h │ │ │ ├── NSData+RACSupport.m │ │ │ ├── NSDictionary+RACSequenceAdditions.h │ │ │ ├── NSDictionary+RACSequenceAdditions.m │ │ │ ├── NSEnumerator+RACSequenceAdditions.h │ │ │ ├── NSEnumerator+RACSequenceAdditions.m │ │ │ ├── NSFileHandle+RACSupport.h │ │ │ ├── NSFileHandle+RACSupport.m │ │ │ ├── NSIndexSet+RACSequenceAdditions.h │ │ │ ├── NSIndexSet+RACSequenceAdditions.m │ │ │ ├── NSInvocation+RACTypeParsing.h │ │ │ ├── NSInvocation+RACTypeParsing.m │ │ │ ├── NSNotificationCenter+RACSupport.h │ │ │ ├── NSNotificationCenter+RACSupport.m │ │ │ ├── NSObject+RACDeallocating.h │ │ │ ├── NSObject+RACDeallocating.m │ │ │ ├── NSObject+RACDescription.h │ │ │ ├── NSObject+RACDescription.m │ │ │ ├── NSObject+RACKVOWrapper.h │ │ │ ├── NSObject+RACKVOWrapper.m │ │ │ ├── NSObject+RACLifting.h │ │ │ ├── NSObject+RACLifting.m │ │ │ ├── NSObject+RACPropertySubscribing.h │ │ │ ├── NSObject+RACPropertySubscribing.m │ │ │ ├── NSObject+RACSelectorSignal.h │ │ │ ├── NSObject+RACSelectorSignal.m │ │ │ ├── NSOrderedSet+RACSequenceAdditions.h │ │ │ ├── NSOrderedSet+RACSequenceAdditions.m │ │ │ ├── NSSet+RACSequenceAdditions.h │ │ │ ├── NSSet+RACSequenceAdditions.m │ │ │ ├── NSString+RACKeyPathUtilities.h │ │ │ ├── NSString+RACKeyPathUtilities.m │ │ │ ├── NSString+RACSequenceAdditions.h │ │ │ ├── NSString+RACSequenceAdditions.m │ │ │ ├── NSString+RACSupport.h │ │ │ ├── NSString+RACSupport.m │ │ │ ├── NSURLConnection+RACSupport.h │ │ │ ├── NSURLConnection+RACSupport.m │ │ │ ├── NSUserDefaults+RACSupport.h │ │ │ ├── NSUserDefaults+RACSupport.m │ │ │ ├── RACAnnotations.h │ │ │ ├── RACArraySequence.h │ │ │ ├── RACArraySequence.m │ │ │ ├── RACBehaviorSubject.h │ │ │ ├── RACBehaviorSubject.m │ │ │ ├── RACBlockTrampoline.h │ │ │ ├── RACBlockTrampoline.m │ │ │ ├── RACChannel.h │ │ │ ├── RACChannel.m │ │ │ ├── RACCommand.h │ │ │ ├── RACCommand.m │ │ │ ├── RACCompoundDisposable.h │ │ │ ├── RACCompoundDisposable.m │ │ │ ├── RACCompoundDisposableProvider.d │ │ │ ├── RACDelegateProxy.h │ │ │ ├── RACDelegateProxy.m │ │ │ ├── RACDisposable.h │ │ │ ├── RACDisposable.m │ │ │ ├── RACDynamicSequence.h │ │ │ ├── RACDynamicSequence.m │ │ │ ├── RACDynamicSignal.h │ │ │ ├── RACDynamicSignal.m │ │ │ ├── RACEagerSequence.h │ │ │ ├── RACEagerSequence.m │ │ │ ├── RACEmptySequence.h │ │ │ ├── RACEmptySequence.m │ │ │ ├── RACEmptySignal.h │ │ │ ├── RACEmptySignal.m │ │ │ ├── RACErrorSignal.h │ │ │ ├── RACErrorSignal.m │ │ │ ├── RACEvent.h │ │ │ ├── RACEvent.m │ │ │ ├── RACGroupedSignal.h │ │ │ ├── RACGroupedSignal.m │ │ │ ├── RACImmediateScheduler.h │ │ │ ├── RACImmediateScheduler.m │ │ │ ├── RACIndexSetSequence.h │ │ │ ├── RACIndexSetSequence.m │ │ │ ├── RACKVOChannel.h │ │ │ ├── RACKVOChannel.m │ │ │ ├── RACKVOProxy.h │ │ │ ├── RACKVOProxy.m │ │ │ ├── RACKVOTrampoline.h │ │ │ ├── RACKVOTrampoline.m │ │ │ ├── RACMulticastConnection+Private.h │ │ │ ├── RACMulticastConnection.h │ │ │ ├── RACMulticastConnection.m │ │ │ ├── RACPassthroughSubscriber.h │ │ │ ├── RACPassthroughSubscriber.m │ │ │ ├── RACQueueScheduler+Subclass.h │ │ │ ├── RACQueueScheduler.h │ │ │ ├── RACQueueScheduler.m │ │ │ ├── RACReplaySubject.h │ │ │ ├── RACReplaySubject.m │ │ │ ├── RACReturnSignal.h │ │ │ ├── RACReturnSignal.m │ │ │ ├── RACScheduler+Private.h │ │ │ ├── RACScheduler+Subclass.h │ │ │ ├── RACScheduler.h │ │ │ ├── RACScheduler.m │ │ │ ├── RACScopedDisposable.h │ │ │ ├── RACScopedDisposable.m │ │ │ ├── RACSequence.h │ │ │ ├── RACSequence.m │ │ │ ├── RACSerialDisposable.h │ │ │ ├── RACSerialDisposable.m │ │ │ ├── RACSignal+Operations.h │ │ │ ├── RACSignal+Operations.m │ │ │ ├── RACSignal.h │ │ │ ├── RACSignal.m │ │ │ ├── RACSignalProvider.d │ │ │ ├── RACSignalSequence.h │ │ │ ├── RACSignalSequence.m │ │ │ ├── RACStream+Private.h │ │ │ ├── RACStream.h │ │ │ ├── RACStream.m │ │ │ ├── RACStringSequence.h │ │ │ ├── RACStringSequence.m │ │ │ ├── RACSubject.h │ │ │ ├── RACSubject.m │ │ │ ├── RACSubscriber+Private.h │ │ │ ├── RACSubscriber.h │ │ │ ├── RACSubscriber.m │ │ │ ├── RACSubscriptingAssignmentTrampoline.h │ │ │ ├── RACSubscriptingAssignmentTrampoline.m │ │ │ ├── RACSubscriptionScheduler.h │ │ │ ├── RACSubscriptionScheduler.m │ │ │ ├── RACTargetQueueScheduler.h │ │ │ ├── RACTargetQueueScheduler.m │ │ │ ├── RACTestScheduler.h │ │ │ ├── RACTestScheduler.m │ │ │ ├── RACTuple.h │ │ │ ├── RACTuple.m │ │ │ ├── RACTupleSequence.h │ │ │ ├── RACTupleSequence.m │ │ │ ├── RACUnarySequence.h │ │ │ ├── RACUnarySequence.m │ │ │ ├── RACUnit.h │ │ │ ├── RACUnit.m │ │ │ ├── RACValueTransformer.h │ │ │ ├── RACValueTransformer.m │ │ │ ├── ReactiveObjC.h │ │ │ ├── UIActionSheet+RACSignalSupport.h │ │ │ ├── UIActionSheet+RACSignalSupport.m │ │ │ ├── UIAlertView+RACSignalSupport.h │ │ │ ├── UIAlertView+RACSignalSupport.m │ │ │ ├── UIBarButtonItem+RACCommandSupport.h │ │ │ ├── UIBarButtonItem+RACCommandSupport.m │ │ │ ├── UIButton+RACCommandSupport.h │ │ │ ├── UIButton+RACCommandSupport.m │ │ │ ├── UICollectionReusableView+RACSignalSupport.h │ │ │ ├── UICollectionReusableView+RACSignalSupport.m │ │ │ ├── UIControl+RACSignalSupport.h │ │ │ ├── UIControl+RACSignalSupport.m │ │ │ ├── UIControl+RACSignalSupportPrivate.h │ │ │ ├── UIControl+RACSignalSupportPrivate.m │ │ │ ├── UIDatePicker+RACSignalSupport.h │ │ │ ├── UIDatePicker+RACSignalSupport.m │ │ │ ├── UIGestureRecognizer+RACSignalSupport.h │ │ │ ├── UIGestureRecognizer+RACSignalSupport.m │ │ │ ├── UIImagePickerController+RACSignalSupport.h │ │ │ ├── UIImagePickerController+RACSignalSupport.m │ │ │ ├── UIRefreshControl+RACCommandSupport.h │ │ │ ├── UIRefreshControl+RACCommandSupport.m │ │ │ ├── UISegmentedControl+RACSignalSupport.h │ │ │ ├── UISegmentedControl+RACSignalSupport.m │ │ │ ├── UISlider+RACSignalSupport.h │ │ │ ├── UISlider+RACSignalSupport.m │ │ │ ├── UIStepper+RACSignalSupport.h │ │ │ ├── UIStepper+RACSignalSupport.m │ │ │ ├── UISwitch+RACSignalSupport.h │ │ │ ├── UISwitch+RACSignalSupport.m │ │ │ ├── UITableViewCell+RACSignalSupport.h │ │ │ ├── UITableViewCell+RACSignalSupport.m │ │ │ ├── UITableViewHeaderFooterView+RACSignalSupport.h │ │ │ ├── UITableViewHeaderFooterView+RACSignalSupport.m │ │ │ ├── UITextField+RACSignalSupport.h │ │ │ ├── UITextField+RACSignalSupport.m │ │ │ ├── UITextView+RACSignalSupport.h │ │ │ ├── UITextView+RACSignalSupport.m │ │ │ └── extobjc │ │ │ ├── RACEXTKeyPathCoding.h │ │ │ ├── RACEXTRuntimeExtensions.h │ │ │ ├── RACEXTRuntimeExtensions.m │ │ │ ├── RACEXTScope.h │ │ │ └── RACmetamacros.h │ └── Target Support Files │ │ ├── AFNetworking │ │ ├── AFNetworking-dummy.m │ │ ├── AFNetworking-prefix.pch │ │ └── AFNetworking.xcconfig │ │ ├── MBProgressHUD │ │ ├── MBProgressHUD-dummy.m │ │ ├── MBProgressHUD-prefix.pch │ │ └── MBProgressHUD.xcconfig │ │ ├── Masonry │ │ ├── Masonry-dummy.m │ │ ├── Masonry-prefix.pch │ │ └── Masonry.xcconfig │ │ ├── Pods-RTCSolution │ │ ├── Pods-RTCSolution-acknowledgements.markdown │ │ ├── Pods-RTCSolution-acknowledgements.plist │ │ ├── Pods-RTCSolution-dummy.m │ │ ├── Pods-RTCSolution-frameworks.sh │ │ ├── Pods-RTCSolution-resources.sh │ │ ├── Pods-RTCSolution.debug.xcconfig │ │ └── Pods-RTCSolution.release.xcconfig │ │ ├── RTCBeaconTower │ │ ├── RTCBeaconTower-dummy.m │ │ ├── RTCBeaconTower-prefix.pch │ │ └── RTCBeaconTower.xcconfig │ │ ├── RTCCommon │ │ ├── RTCCommon-dummy.m │ │ ├── RTCCommon-prefix.pch │ │ └── RTCCommon.xcconfig │ │ ├── RTCCommonView │ │ ├── RTCCommonView-dummy.m │ │ ├── RTCCommonView-prefix.pch │ │ └── RTCCommonView.xcconfig │ │ └── ReactiveObjC │ │ ├── ReactiveObjC-dummy.m │ │ ├── ReactiveObjC-prefix.pch │ │ └── ReactiveObjC.xcconfig │ ├── RTCBeaconTower │ ├── .DS_Store │ ├── LICENSE │ ├── README.md │ ├── RTCBeaconTower.podspec │ └── RTCBeaconTower │ │ ├── .DS_Store │ │ ├── BottomControlView.h │ │ ├── BottomControlView.m │ │ ├── Categories │ │ ├── Array │ │ │ ├── NSArray+Safe.h │ │ │ ├── NSArray+Safe.m │ │ │ ├── NSMutableArray+Safe.h │ │ │ └── NSMutableArray+Safe.m │ │ ├── Dictionary │ │ │ ├── NSDictionary+Safe.h │ │ │ ├── NSDictionary+Safe.m │ │ │ ├── NSMutableDictionary+Safe.h │ │ │ └── NSMutableDictionary+Safe.m │ │ ├── NSObject │ │ │ ├── NSObject+CKNotify.h │ │ │ └── NSObject+CKNotify.m │ │ ├── NSString │ │ │ ├── NSString+SHA256.h │ │ │ └── NSString+SHA256.m │ │ ├── UIControl │ │ │ ├── UIControl+Time.h │ │ │ └── UIControl+Time.m │ │ └── UIView │ │ │ ├── UIView+Frame.h │ │ │ ├── UIView+Frame.m │ │ │ ├── UIView+Loading.h │ │ │ └── UIView+Loading.m │ │ ├── ChatRoomViewController.h │ │ ├── ChatRoomViewController.m │ │ ├── Config │ │ ├── Macro │ │ │ ├── BeaconHeader.h │ │ │ ├── GeneralMacro.h │ │ │ └── KNotify.h │ │ └── .DS_Store │ │ ├── Helpers │ │ ├── .DS_Store │ │ ├── Base │ │ │ ├── AliBaseViewController.h │ │ │ ├── AliBaseViewController.m │ │ │ ├── TableViewBaseView.h │ │ │ ├── TableViewBaseView.m │ │ │ ├── TableViewBaseViewController.h │ │ │ └── TableViewBaseViewController.m │ │ ├── CKHash │ │ │ ├── CKHash.h │ │ │ └── CKHash.m │ │ └── Tool │ │ │ ├── .DS_Store │ │ │ ├── Tool.h │ │ │ └── Tool.m │ │ ├── MainViewController.h │ │ ├── MainViewController.m │ │ ├── NSBundle │ │ ├── NSBundle+RTCBeaconTower.h │ │ └── NSBundle+RTCBeaconTower.m │ │ ├── NoNetworkView.h │ │ ├── NoNetworkView.m │ │ ├── RTC │ │ ├── AliRTCBeaconTower.h │ │ └── AliRTCBeaconTower.m │ │ ├── RemoteView.h │ │ ├── RemoteView.m │ │ ├── Resources │ │ ├── .DS_Store │ │ ├── RTCBeaconTower.bundle │ │ │ ├── alivc_icon_mute@2x.png │ │ │ ├── alivc_video_call_handsfree@2x.png │ │ │ ├── alivc_video_call_handsfree_checked@2x.png │ │ │ ├── alivc_video_call_mute@2x.png │ │ │ ├── alivc_video_call_mute_checked@2x.png │ │ │ ├── alivc_video_call_mute_local_camera@2x.png │ │ │ ├── alivc_video_call_mute_local_camera_checked@2x.png │ │ │ ├── alivc_video_call_switch_camera@2x.png │ │ │ ├── alivc_video_call_switch_camera_checked@2x.png │ │ │ ├── alivc_video_call_voice_mode@2x.png │ │ │ ├── alivc_video_call_voice_mode_checked@2x.png │ │ │ ├── alivc_video_icon_error@2x.png │ │ │ ├── alivc_video_pic_net_error@2x.png │ │ │ ├── back@2x.png │ │ │ ├── face@2x.png │ │ │ ├── hangup@2x.png │ │ │ ├── headbg@2x.png │ │ │ ├── topg@2x.png │ │ │ ├── video_head@2x.png │ │ │ ├── video_head@3x.png │ │ │ └── video_head_bg@2x.png │ │ └── RTCBeaconTower.storyboard │ │ └── Utilites │ │ ├── CustomNavView.h │ │ ├── CustomNavView.m │ │ ├── Toast.h │ │ └── Toast.m │ ├── RTCCommon │ ├── .DS_Store │ ├── AppConfig.h │ ├── Color │ │ ├── UIColor+Hex.h │ │ └── UIColor+Hex.m │ ├── Image │ │ ├── UIImage+Color.h │ │ └── UIImage+Color.m │ ├── Network │ │ ├── .DS_Store │ │ ├── NetworkManager.h │ │ ├── NetworkManager.m │ │ ├── Reachability.h │ │ └── Reachability.m │ ├── RTCCommon.h │ ├── RTCCommon.podspec │ └── RTCMacro.h │ ├── RTCCommonView │ ├── .DS_Store │ ├── Alert │ │ ├── .DS_Store │ │ ├── RTCDoubleActionsAlertController.h │ │ ├── RTCDoubleActionsAlertController.m │ │ ├── RTCSingleActionAlertController.h │ │ └── RTCSingleActionAlertController.m │ ├── CodeView │ │ ├── CALayer+Sublayer.h │ │ ├── CALayer+Sublayer.m │ │ ├── CodeInputView.h │ │ └── CodeInputView.m │ ├── HUD │ │ ├── RTCHUD.h │ │ └── RTCHUD.m │ ├── LoadingButton │ │ ├── LoadingButton.h │ │ └── LoadingButton.m │ ├── OffLine │ │ ├── RTCOffLineController.h │ │ └── RTCOffLineController.m │ ├── RTCCommonView.h │ ├── RTCCommonView.podspec │ ├── Resources │ │ ├── .DS_Store │ │ ├── RTCCommonView.bundle │ │ │ ├── 1@2x.png │ │ │ ├── 1@3x.png │ │ │ ├── Action Epic.mp3 │ │ │ ├── Clapping.mp3 │ │ │ ├── Ice Cream with you.mp3 │ │ │ ├── PSD_microphoneOff.png │ │ │ ├── PSD_microphoneOn.png │ │ │ ├── RTC_MPV_BG.png │ │ │ ├── RTC_exit@2x.png │ │ │ ├── RTC_exit@3x.png │ │ │ ├── RTC_sel_no.png │ │ │ ├── RTC_sel_yes.png │ │ │ ├── Yippee.mp3 │ │ │ ├── angle_left@2x.png │ │ │ ├── angle_left@3x.png │ │ │ ├── background@2x.png │ │ │ ├── background@3x.png │ │ │ ├── bg_seven.png │ │ │ ├── bg_three.png │ │ │ ├── close.png │ │ │ ├── close@2x.png │ │ │ ├── close@3x.png │ │ │ ├── lostConnection@2x.png │ │ │ ├── lostConnection@3x.png │ │ │ ├── pause@2x.png │ │ │ ├── pause@3x.png │ │ │ ├── play@2x.png │ │ │ ├── play@3x.png │ │ │ ├── reverb0@2x.png │ │ │ ├── reverb0@3x.png │ │ │ ├── reverb1.png │ │ │ ├── reverb1@2x.png │ │ │ ├── reverb1@3x.png │ │ │ ├── reverb2.png │ │ │ ├── reverb2@2x.png │ │ │ ├── reverb2@3x.png │ │ │ ├── reverb3.png │ │ │ ├── reverb3@2x.png │ │ │ ├── reverb3@3x.png │ │ │ ├── reverb4.png │ │ │ ├── reverb4@2x.png │ │ │ ├── reverb4@3x.png │ │ │ ├── reverb5.png │ │ │ ├── reverb5@2x.png │ │ │ ├── reverb5@3x.png │ │ │ ├── reverb6.png │ │ │ ├── reverb6@2x.png │ │ │ ├── reverb6@3x.png │ │ │ ├── reverb7.png │ │ │ ├── reverb7@2x.png │ │ │ ├── reverb7@3x.png │ │ │ ├── reverb8.png │ │ │ ├── reverb8@2x.png │ │ │ ├── reverb8@3x.png │ │ │ ├── reverb9.png │ │ │ ├── reverb9@2x.png │ │ │ ├── reverb9@3x.png │ │ │ ├── smile.mp3 │ │ │ ├── test@2x.png │ │ │ └── test@3x.png │ │ └── RTCCommonView.storyboard │ └── Utils │ │ ├── NSBundle+RTCCommonView.h │ │ └── NSBundle+RTCCommonView.m │ ├── RTCSolution.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── sunzhen.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ ├── xcshareddata │ │ └── xcschemes │ │ │ └── RTCSolution.xcscheme │ └── xcuserdata │ │ └── sunzhen.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RTCSolution.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ └── xcuserdata │ │ └── sunzhen.xcuserdatad │ │ ├── UserInterfaceState.xcuserstate │ │ ├── WorkspaceSettings.xcsettings │ │ └── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ └── RTCSolution │ ├── .DS_Store │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ ├── .DS_Store │ ├── 1v1.imageset │ │ ├── 1v1@2x.png │ │ ├── 1v1@3x.png │ │ ├── Contents.json │ │ └── 一对一语聊icon.png │ ├── AppIcon.appiconset │ │ ├── 100.png │ │ ├── 1024.png │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 144.png │ │ ├── 152.png │ │ ├── 167.png │ │ ├── 180.png │ │ ├── 20.png │ │ ├── 29.png │ │ ├── 40.png │ │ ├── 50.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 60.png │ │ ├── 72.png │ │ ├── 76.png │ │ ├── 80.png │ │ ├── 87.png │ │ └── Contents.json │ ├── Contents.json │ ├── beacon.imageset │ │ ├── .DS_Store │ │ ├── Contents.json │ │ ├── beacon@2x.png │ │ └── beacon@3x.png │ ├── chatRoom.imageset │ │ ├── Contents.json │ │ ├── chatRoom@2x.png │ │ ├── chatRoom@3x.png │ │ └── 语音聊天室icon.png │ ├── interactiveLiveClass.imageset │ │ ├── Contents.json │ │ ├── 互动直播课.png │ │ ├── 互动直播课@2x.png │ │ └── 互动直播课@3x.png │ ├── launch.imageset │ │ ├── Contents.json │ │ └── launch.png │ ├── logo.imageset │ │ ├── Contents.json │ │ ├── logo@2x.png │ │ └── logo@3x.png │ ├── smallClass.imageset │ │ ├── Contents.json │ │ ├── smallClass@2x.png │ │ └── smallClass@3x.png │ └── videoliveClass.imageset │ │ ├── .DS_Store │ │ ├── Contents.json │ │ ├── liveClass@2x.png │ │ ├── liveClass@3x.png │ │ └── 互动直播课icon.png │ ├── Base.lproj │ └── LaunchScreen.storyboard │ ├── Home │ ├── .DS_Store │ ├── Controller │ │ ├── AlivcHomeViewController.m │ │ ├── RTCHomeViewController.h │ │ ├── RTCHomeViewController.m │ │ ├── RTCNavigationController.h │ │ └── RTCNavigationController.m │ ├── Model │ │ ├── AVC_ET_ModuleDefine.m │ │ ├── RTCModuleDefine.h │ │ └── RTCModuleDefine.m │ └── View │ │ ├── AVC_ET_ModuleItemCCell.m │ │ ├── RTCHomeFlowLayout.h │ │ ├── RTCHomeFlowLayout.m │ │ ├── RTCModuleItemCCell.h │ │ ├── RTCModuleItemCCell.m │ │ └── RTCModuleItemCCell.xib │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m └── web ├── .browserslistrc ├── .eslintignore ├── .eslintrc.js ├── README.md ├── babel.config.js ├── package.json ├── postcss.config.js ├── public ├── css │ └── basic.css ├── favicon.ico ├── index.html └── js │ ├── basic.js │ └── sha256.js ├── src ├── App.vue ├── assets │ ├── icon │ │ ├── bg.png │ │ ├── camera-2x.png │ │ ├── camera-on-2x.png │ │ ├── camera-on.png │ │ ├── camera.png │ │ ├── full-on.png │ │ ├── full.png │ │ ├── loading.png │ │ ├── mic-2x.png │ │ ├── mic-on-2x.png │ │ ├── mic-on.png │ │ ├── mic.png │ │ ├── micList-off.png │ │ ├── micList.png │ │ ├── muteall-2x.png │ │ ├── muteall-on-2x.png │ │ ├── muteall-on.png │ │ ├── muteall.png │ │ ├── off-2x.png │ │ ├── off.png │ │ ├── screen-2x.png │ │ ├── screen-on-2x.png │ │ ├── screen-on.png │ │ ├── screen.png │ │ ├── setting-2x.png │ │ └── setting.png │ ├── js │ │ └── filter.js │ ├── logo.png │ └── scss │ │ └── base.scss ├── components │ ├── global.js │ ├── hvideo.vue │ └── userlist.vue ├── core │ ├── data │ │ └── config.js │ ├── http │ │ └── http.js │ ├── rtc-client.js │ └── utils │ │ └── utils.js ├── main.js ├── plugins │ └── element.js ├── router │ └── index.js ├── views │ ├── home │ │ └── index.vue │ └── login │ │ └── login.vue └── vuex │ ├── actions │ ├── index.js │ └── widgetUi.js │ ├── index.js │ ├── mutations.js │ └── state.js └── vue.config.js /Android/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Android/app/src/main/java/com/aliyun/apsaravideo/sophon/base/AliRtcApplication.java: -------------------------------------------------------------------------------- 1 | package com.aliyun.apsaravideo.sophon.base; 2 | 3 | import android.app.Application; 4 | 5 | /** 6 | * 程序入口 7 | */ 8 | public class AliRtcApplication extends Application { 9 | 10 | private static AliRtcApplication sInstance; 11 | 12 | 13 | public static AliRtcApplication getInstance(){ 14 | return sInstance; 15 | } 16 | 17 | @Override 18 | public void onCreate() { 19 | super.onCreate(); 20 | sInstance = this; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Android/app/src/main/java/com/aliyun/apsaravideo/sophon/bean/ChartUserBean.java: -------------------------------------------------------------------------------- 1 | package com.aliyun.apsaravideo.sophon.bean; 2 | 3 | import org.webrtc.sdk.SophonSurfaceView; 4 | 5 | public class ChartUserBean { 6 | 7 | public String mUserId; 8 | public boolean mIsLocal; 9 | 10 | public SophonSurfaceView mCameraSurface; 11 | 12 | public SophonSurfaceView mScreenSurface; 13 | 14 | public String mUserName; 15 | //是否相机镜像 16 | public boolean mIsCameraFlip; 17 | //是否屏幕镜像 18 | public boolean mIsScreenFlip; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /Android/app/src/main/java/com/aliyun/apsaravideo/sophon/listener/TextChangeListener.java: -------------------------------------------------------------------------------- 1 | package com.aliyun.apsaravideo.sophon.listener; 2 | 3 | import android.view.View; 4 | 5 | public interface TextChangeListener { 6 | 7 | int TYPE_NICK =1; 8 | int TYPE_CHANNEL =2; 9 | /** 10 | * 格式错误 11 | */ 12 | void onFormatError(int i); 13 | 14 | /** 15 | * 格式正确 16 | */ 17 | void onFormatRight(int i); 18 | 19 | /** 20 | * 创建会议按钮是否可以点击 21 | * @param text 22 | */ 23 | void onEnableBtn(String text); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /Android/app/src/main/java/com/aliyun/apsaravideo/sophon/utils/AliRtcConstants.java: -------------------------------------------------------------------------------- 1 | package com.aliyun.apsaravideo.sophon.utils; 2 | 3 | 4 | 5 | /** 6 | * 常量类。包含网络请求,错误码 7 | */ 8 | public class AliRtcConstants { 9 | 10 | /** 11 | * aliRtc请求基础请求鉴权信息baseUrl路径 12 | */ 13 | public static final String SERVER_URL = ""; 14 | 15 | /** 16 | * 创建会议码的路径 17 | */ 18 | public static final String CHANNEL_ID_URL = ""; 19 | } 20 | 21 | -------------------------------------------------------------------------------- /Android/app/src/main/java/com/aliyun/apsaravideo/sophon/utils/DensityUtil.java: -------------------------------------------------------------------------------- 1 | package com.aliyun.apsaravideo.sophon.utils; 2 | 3 | import android.content.Context; 4 | 5 | public class DensityUtil { 6 | 7 | public static int dip2px(Context context ,float dp){ 8 | float scale = context.getResources().getDisplayMetrics().density; 9 | return (int) (dp * scale + 0.5f); 10 | } 11 | 12 | public static int px2dip(Context context,float px){ 13 | float scale = context.getResources().getDisplayMetrics().density; 14 | return (int) (px / scale + 0.5f); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_icon_mute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_icon_mute.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_handsfree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_handsfree.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_handsfree_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_handsfree_checked.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_hang_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_hang_up.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_mute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_mute.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_mute_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_mute_checked.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_mute_local_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_mute_local_camera.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_mute_local_camera_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_mute_local_camera_checked.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_switch_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_switch_camera.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_switch_camera_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_switch_camera_checked.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_voice_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_voice_mode.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_call_voice_mode_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_call_voice_mode_checked.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_icon_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_icon_error.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/alivc_video_pic_net_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/alivc_video_pic_net_error.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/face.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/icon_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/icon_back.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/icon_default_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/icon_default_header.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/icon_default_header_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/icon_default_header_bg.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/right_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/right_arrow.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/user_avatar_bg_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/user_avatar_bg_01.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/user_avatar_bg_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/user_avatar_bg_02.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable-xhdpi/user_setting_bg_lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/drawable-xhdpi/user_setting_bg_lines.png -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_bg_bt_create_shape_radius.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_bg_channel_selected_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_bg_channel_un_selected_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_bg_close_camera_radius.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_bg_create_channel_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_bg_create_nickname_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_bg_enter_left_bottom_selecetd_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_bg_enter_left_bottom_un_selected_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_bg_enter_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alirtc_video_call_handsfree_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alivc_button_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alivc_oval_bg_checked.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 13 | 14 | 18 | 19 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alivc_oval_bg_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 13 | 14 | 18 | 19 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alivc_record_round_bkg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alivc_record_round_rect_checked.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alivc_record_round_rect_focused.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/alivc_record_round_rect_unfocused.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/chart_content_userlist_item_divider.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/chart_control_call.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/chart_control_camera.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/chart_control_mute_bgcolor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/chart_control_mutemic.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/chart_control_sound.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/chart_userlist_item_tv_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Android/app/src/main/res/drawable/chart_userlist_item_video_layout_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_call_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_call_off.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_call_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_call_on.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_camera_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_camera_off.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_camera_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_camera_on.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_mutecamera_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_mutecamera_off.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_mutecamera_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_mutecamera_on.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_mutemic_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_mutemic_off.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_mutemic_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_mutemic_on.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_sound_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_sound_off.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/chart_control_sound_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/chart_control_sound_on.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Android/app/src/main/res/values-v19/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | -------------------------------------------------------------------------------- /Android/app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | -------------------------------------------------------------------------------- /Android/app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Android/app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/Android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Dec 22 15:40:18 CST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 7 | -------------------------------------------------------------------------------- /Android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /iOS/RTCSolution/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/AliRtcSDK_iOS/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/AliRtcSDK_iOS/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/AliRtcSDK_iOS/AliRTCSdk.framework/AliRTCSdk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/AliRtcSDK_iOS/AliRTCSdk.framework/AliRTCSdk -------------------------------------------------------------------------------- /iOS/RTCSolution/AliRtcSDK_iOS/AliRTCSdk.framework/Headers/AliRTCSdk.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #include "AliRtcEngine.h" 4 | -------------------------------------------------------------------------------- /iOS/RTCSolution/AliRtcSDK_iOS/AliRTCSdk.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/AliRtcSDK_iOS/AliRTCSdk.framework/Info.plist -------------------------------------------------------------------------------- /iOS/RTCSolution/AliRtcSDK_iOS/AliRTCSdk.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module AliRTCSdk { 2 | umbrella header "AliRTCSdk.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /iOS/RTCSolution/AliRtcSDK_iOS/README.md: -------------------------------------------------------------------------------- 1 | # AliRtcSDK_iOS 2 | AliRtcSDK(iOS) 3 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * When you are debugging or printing the constraints attached to a view this subclass 13 | * makes it easier to identify which constraints have been created via Masonry 14 | */ 15 | @interface MASLayoutConstraint : NSLayoutConstraint 16 | 17 | /** 18 | * a key to associate with this constraint 19 | */ 20 | @property (nonatomic, strong) id mas_key; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSLayoutConstraint+MASDebugAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * makes debug and log output of NSLayoutConstraints more readable 13 | */ 14 | @interface NSLayoutConstraint (MASDebugAdditions) 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/AliBaseViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AliBaseViewController.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/26. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CustomNavView.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface AliBaseViewController : UIViewController 15 | 16 | @property (nonatomic, strong)CustomNavView *navView; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/ChatRoomViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ChatRoomViewController.h 3 | // RtcVideo 4 | // 5 | // Created by 黄浩 on 2020/2/19. 6 | // Copyright © 2020 RtcVideo. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface ChatRoomViewController : UIViewController 14 | 15 | @property (nonatomic, copy) NSString *channelNumber; 16 | @property (nonatomic, copy) NSString *userName; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/CustomNavView.h: -------------------------------------------------------------------------------- 1 | // 2 | // CustomNavView.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/2/7. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface CustomNavView : UIView 14 | 15 | @property (nonatomic, strong) UILabel *titleLabel; 16 | @property (nonatomic, strong) UIButton *backBtn; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/KNotify.h: -------------------------------------------------------------------------------- 1 | // 2 | // KNotify.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/1/6. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #ifndef KNotify_h 10 | #define KNotify_h 11 | 12 | //开始推流通知 13 | #define kPublishNotify @"publishAction" 14 | 15 | //本地镜像改变通知 16 | #define kLocalMirrorChangeNotify @"localMirrorChange" 17 | 18 | //清晰度修改 19 | #define kSetVideoProfileNotify @"setVideoProfile" 20 | 21 | 22 | #endif /* KNotify_h */ 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/MainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MainViewController.h 3 | // RtcVideo 4 | // 5 | // Created by 黄浩 on 2020/2/18. 6 | // Copyright © 2020 RtcVideo. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MainViewController : UIViewController 12 | 13 | 14 | 15 | 16 | 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/NSBundle+RTCBeaconTower.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+RTCBeaconTower 3 | // RTCBeaconTower 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface NSBundle (RTCBeaconTower) 13 | 14 | + (instancetype)RTC_BeaconTowerBundle; 15 | 16 | + (UIImage *)RBT_imageWithName:(NSString *)name type:(NSString *)type; 17 | 18 | + (UIImage *)RBT_pngImageWithName:(NSString *)name; 19 | 20 | + (UIStoryboard *)RBT_storyboard; 21 | 22 | + (NSString *)RBT_musicPathForResource:(NSString *)name; 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/NSDictionary+Safe.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionary+Safe.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/14. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface NSDictionary (Safe) 14 | 15 | - (id)safeObjectForKey:(NSString *)key; 16 | - (void)safeSetObject:(id)object forKey:(id)key; 17 | - (id)objectForKeyCustom:(id)aKey; 18 | - (id)safeKeyForValue:(id)value; 19 | 20 | - (NSString *)toJSONStringForDictionary; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/NSMutableDictionary+Safe.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSMutableDictionary+Safe.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/14. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface NSMutableDictionary (Safe) 15 | 16 | - (void)safeSetObject:(id)aObj forKey:(id)aKey; 17 | - (id)safeObjectForKey:(id)aKey; 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/NSString+SHA256.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+SHA256.h 3 | // RtcSample 4 | // 5 | // Created by gaoyu on 2019/12/9. 6 | // Copyright © 2019 tiantian. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSString (SHA256) 12 | 13 | - (NSString *)SHA256; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/TableViewBaseView.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewBaseView.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/1/2. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CKHash.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface TableViewBaseView : UIView 15 | 16 | @property (nonatomic, strong) UITableView *tableView; 17 | @property (nonatomic, strong) NSMutableArray *dataArray; 18 | 19 | - (void)createUITableView; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/Tool.h: -------------------------------------------------------------------------------- 1 | // 2 | // Tool.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/1/2. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Tool : NSObject 14 | 15 | + (UIViewController *)currentViewController; 16 | 17 | + (BOOL)isPhoneX; 18 | 19 | + (BOOL)haveNetwork; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/UIControl+Time.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIControl+Time.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/27. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface UIControl (Time) 14 | 15 | // 可以用这个给重复点击加间隔 16 | @property (nonatomic, assign) NSTimeInterval filterTime; 17 | 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCBeaconTower/UIView+Loading.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Loading.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/20. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface UIView (Loading) 15 | 16 | @property (nonatomic, strong) UIActivityIndicatorView *loadView; 17 | 18 | 19 | - (void)startLoadingAnimation; 20 | - (void)stopLoadingAnimation; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommon/RTCCommon.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCCommon.h 3 | // RTCCommon 4 | // 5 | // Created by Aliyun on 2020/7/1. 6 | // 7 | 8 | #ifndef RTCCommon_h 9 | #define RTCCommon_h 10 | #import "RTCMacro.h" 11 | #import "UIColor+Hex.h" 12 | #import "UIImage+Color.h" 13 | #import "AppConfig.h" 14 | #import "NetworkManager.h" 15 | 16 | #endif /* RTCCommon_h */ 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommon/UIColor+Hex.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+Hex.h 3 | // Pods 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface UIColor (Hex) 13 | 14 | + (UIColor *)colorWithHex:(NSInteger)hex; 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommon/UIImage+Color.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Color.h 3 | // VoiceCall 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface UIImage (Color) 13 | 14 | + (UIImage *)imageWithColor:(UIColor *)color; 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommonView/CALayer+Sublayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // CALayer+Category.h 3 | // 4 | 5 | #import 6 | #import 7 | 8 | @interface CALayer (Sublayer) 9 | 10 | + (CALayer *)addSubLayerWithFrame:(CGRect)frame 11 | backgroundColor:(UIColor *)color 12 | backView:(UIView *)baseView; 13 | @end 14 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommonView/CodeInputView.h: -------------------------------------------------------------------------------- 1 | // 2 | // CodeInputView.h 3 | // 4 | // 5 | 6 | #import 7 | 8 | typedef void(^SelectCodeBlock)(NSString *); 9 | 10 | @interface CodeInputView : UIView 11 | 12 | @property(nonatomic,copy) SelectCodeBlock CodeBlock; 13 | 14 | @property(nonatomic,assign) NSInteger inputNum;//验证码输入个数(4或6个) 15 | 16 | @property (nonatomic,copy) NSString *text; 17 | 18 | - (instancetype)initWithFrame:(CGRect)frame inputType:(NSInteger)inputNum selectCodeBlock:(SelectCodeBlock)CodeBlock; 19 | 20 | - (void)endEdit; 21 | 22 | - (void)beginEdit; 23 | 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommonView/LoadingButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // LoadingButton.h 3 | // VoiceCall 4 | // 5 | // Created by aliyun on 2020/4/20. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface LoadingButton : UIButton 13 | 14 | - (void)setBackgroundColor:(nullable UIColor *)color forState:(UIControlState)state; 15 | 16 | - (void)startLoading; 17 | 18 | - (void)stopLoading; 19 | 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommonView/NSBundle+RTCCommonView.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+RTCCommonView.h 3 | // Pods 4 | // 5 | // Created by aliyun on 2020/8/6. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface NSBundle (RTCCommonView) 13 | 14 | + (instancetype)RTCCommonViewBundle; 15 | 16 | + (UIImage *)RCV_imageWithName:(NSString *)name type:(NSString *)type; 17 | 18 | + (UIImage *)RCV_pngImageWithName:(NSString *)name; 19 | 20 | + (UIStoryboard *)RCV_storyboard; 21 | 22 | + (NSString *)RCV_pathForResource:(NSString *)name; 23 | 24 | @end 25 | 26 | NS_ASSUME_NONNULL_END 27 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommonView/RTCCommonView.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCCommonView.h 3 | // RTCCommonView 4 | // 5 | // Created by Aliyun on 2020/7/1. 6 | // 7 | 8 | #ifndef RTCCommonView_h 9 | #define RTCCommonView_h 10 | 11 | #import "RTCHUD.h" 12 | #import "CodeInputView.h" 13 | #import "LoadingButton.h" 14 | #import "NSBundle+RTCCommonView.h" 15 | #import "RTCSingleActionAlertController.h" 16 | #import "RTCDoubleActionsAlertController.h" 17 | #import "RTCOffLineController.h" 18 | 19 | #endif /* RTCCommonView_h */ 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommonView/RTCHUD.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCHUD.h 3 | // RTCInteractiveLiveClass 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface RTCHUD : NSObject 13 | + (void)showHud:(NSString*)msg inView:(UIView*)view; 14 | + (void)showHUDInView:(UIView *)view; 15 | + (void)hideHUDInView:(UIView *)view; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommonView/RTCOffLineController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCOffLineController.h 3 | // RTCCommonView 4 | // 5 | // Created by aliyun on 2020/8/19. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface RTCOffLineController : UIViewController 13 | 14 | - (instancetype)initWithcloseAction:(void(^)(void))closeAction 15 | retryAction:(void(^)(void))retryAction; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/RTCCommonView/RTCSingleActionAlertController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCSingleActionAlertController.h 3 | // RTCVideoLiveRoom 4 | // 5 | // Created by aliyun on 2020/8/19. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface RTCSingleActionAlertController : UIViewController 13 | 14 | - (instancetype)initWithTitle:(NSString *)title 15 | message:(NSString *)message 16 | actionTitle:(NSString *)actionTitle 17 | action:(void(^)(void))action; 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/NSFileHandle+RACSupport.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSFileHandle+RACSupport.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 5/10/12. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal<__covariant ValueType>; 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface NSFileHandle (RACSupport) 16 | 17 | // Read any available data in the background and send it. Completes when data 18 | // length is <= 0. 19 | - (RACSignal *)rac_readInBackground; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/NSObject+RACDescription.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+RACDescription.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-13. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | // A simplified description of the object, which does not invoke -description 12 | // (and thus should be much faster in many cases). 13 | // 14 | // This is for debugging purposes only, and will return a constant string 15 | // unless the RAC_DEBUG_SIGNAL_NAMES environment variable is set. 16 | NSString *RACDescription(id object); 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACAnnotations.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACAnnotations.h 3 | // ReactiveObjC 4 | // 5 | // Created by Eric Horacek on 3/31/17. 6 | // Copyright © 2017 GitHub. All rights reserved. 7 | // 8 | 9 | #ifndef RAC_WARN_UNUSED_RESULT 10 | #define RAC_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 11 | #endif 12 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACArraySequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACArraySequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-10-29. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class that adapts an array to the RACSequence interface. 12 | @interface RACArraySequence : RACSequence 13 | 14 | // Returns a sequence for enumerating over the given array, starting from the 15 | // given offset. The array will be copied to prevent mutation. 16 | + (RACSequence *)sequenceWithArray:(NSArray *)array offset:(NSUInteger)offset; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACDynamicSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACDynamicSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclasses that implements its subscription behavior 12 | // using a block. 13 | @interface RACDynamicSignal : RACSignal 14 | 15 | + (RACSignal *)createSignal:(RACDisposable * (^)(id subscriber))didSubscribe; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACEagerSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACEagerSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Uri Baghin on 02/01/2013. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACArraySequence.h" 10 | 11 | // Private class that implements an eager sequence. 12 | @interface RACEagerSequence : RACArraySequence 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACEmptySequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACEmptySequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-10-29. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class representing an empty sequence. 12 | @interface RACEmptySequence : RACSequence 13 | 14 | + (RACEmptySequence *)empty; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACEmptySignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACEmptySignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclasses that synchronously sends completed to any 12 | // subscribers. 13 | @interface RACEmptySignal<__covariant ValueType> : RACSignal 14 | 15 | + (RACSignal *)empty; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACErrorSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACErrorSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclass that synchronously sends an error to any 12 | // subscriber. 13 | @interface RACErrorSignal : RACSignal 14 | 15 | + (RACSignal *)error:(NSError *)error; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACGroupedSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACGroupedSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 5/2/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSubject.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// A grouped signal is used by -[RACSignal groupBy:transform:]. 14 | @interface RACGroupedSignal : RACSubject 15 | 16 | /// The key shared by the group. 17 | @property (nonatomic, readonly, copy) id key; 18 | 19 | + (instancetype)signalWithKey:(id)key; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACImmediateScheduler.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACImmediateScheduler.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 11/30/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACScheduler.h" 10 | 11 | // A private scheduler which immediately executes its scheduled blocks. 12 | @interface RACImmediateScheduler : RACScheduler 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACIndexSetSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACIndexSetSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Sergey Gavrilyuk on 12/18/13. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class that adapts an array to the RACSequence interface. 12 | @interface RACIndexSetSequence : RACSequence 13 | 14 | + (RACSequence *)sequenceWithIndexSet:(NSIndexSet *)indexSet; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACMulticastConnection+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACMulticastConnection+Private.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 4/11/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACMulticastConnection.h" 10 | 11 | @class RACSubject; 12 | 13 | @interface RACMulticastConnection<__covariant ValueType> () 14 | 15 | - (instancetype)initWithSourceSignal:(RACSignal *)source subject:(RACSubject *)subject; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACReturnSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACReturnSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclasses that synchronously sends a value to any 12 | // subscribers, then completes. 13 | @interface RACReturnSignal<__covariant ValueType> : RACSignal 14 | 15 | + (RACSignal *)return:(ValueType)value; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACSignalSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACSignalSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-11-09. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | @class RACSignal<__covariant ValueType>; 12 | 13 | // Private class that adapts a RACSignal to the RACSequence interface. 14 | @interface RACSignalSequence : RACSequence 15 | 16 | // Returns a sequence for enumerating over the given signal. 17 | + (RACSequence *)sequenceWithSignal:(RACSignal *)signal; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACSubscriber+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACSubscriber+Private.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-06-13. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSubscriber.h" 10 | 11 | // A simple block-based subscriber. 12 | @interface RACSubscriber : NSObject 13 | 14 | // Creates a new subscriber with the given blocks. 15 | + (instancetype)subscriberWithNext:(void (^)(id x))next error:(void (^)(NSError *error))error completed:(void (^)(void))completed; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACSubscriptionScheduler.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACSubscriptionScheduler.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 11/30/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACScheduler.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | // A private scheduler used only for subscriptions. See the private 14 | // +[RACScheduler subscriptionScheduler] method for more information. 15 | @interface RACSubscriptionScheduler : RACScheduler 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACTupleSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACTupleSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-01. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class that adapts a RACTuple to the RACSequence interface. 12 | @interface RACTupleSequence : RACSequence 13 | 14 | // Returns a sequence for enumerating over the given backing array (from a 15 | // RACTuple), starting from the given offset. 16 | + (RACSequence *)sequenceWithTupleBackingArray:(NSArray *)backingArray offset:(NSUInteger)offset; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACUnarySequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACUnarySequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-01. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class representing a sequence of exactly one value. 12 | @interface RACUnarySequence : RACSequence 13 | 14 | + (RACUnarySequence *)return:(id)value; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACUnit.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACUnit.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 3/27/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// A unit represents an empty value. 14 | /// 15 | /// It should never be necessary to create a unit yourself. Just use +defaultUnit. 16 | @interface RACUnit : NSObject 17 | 18 | /// A singleton instance. 19 | + (RACUnit *)defaultUnit; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/RACValueTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACValueTransformer.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 3/6/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | // A private block based transformer. 12 | @interface RACValueTransformer : NSValueTransformer 13 | 14 | + (instancetype)transformerWithBlock:(id (^)(id value))block; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Private/ReactiveObjC/UIGestureRecognizer+RACSignalSupport.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIGestureRecognizer+RACSignalSupport.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Vera on 5/5/13. 6 | // Copyright (c) 2013 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal<__covariant ValueType>; 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface UIGestureRecognizer (RACSignalSupport) 16 | 17 | /// Returns a signal that sends the receiver when its gesture occurs. 18 | - (RACSignal<__kindof UIGestureRecognizer *> *)rac_gestureSignal; 19 | 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/AliRTCSdk/AliRTCSdk/AliRTCSdk.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #include "AliRtcEngine.h" 4 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * When you are debugging or printing the constraints attached to a view this subclass 13 | * makes it easier to identify which constraints have been created via Masonry 14 | */ 15 | @interface MASLayoutConstraint : NSLayoutConstraint 16 | 17 | /** 18 | * a key to associate with this constraint 19 | */ 20 | @property (nonatomic, strong) id mas_key; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSLayoutConstraint+MASDebugAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * makes debug and log output of NSLayoutConstraints more readable 13 | */ 14 | @interface NSLayoutConstraint (MASDebugAdditions) 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/AliBaseViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AliBaseViewController.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/26. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CustomNavView.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface AliBaseViewController : UIViewController 15 | 16 | @property (nonatomic, strong)CustomNavView *navView; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/ChatRoomViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ChatRoomViewController.h 3 | // RtcVideo 4 | // 5 | // Created by 黄浩 on 2020/2/19. 6 | // Copyright © 2020 RtcVideo. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface ChatRoomViewController : UIViewController 14 | 15 | @property (nonatomic, copy) NSString *channelNumber; 16 | @property (nonatomic, copy) NSString *userName; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/CustomNavView.h: -------------------------------------------------------------------------------- 1 | // 2 | // CustomNavView.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/2/7. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface CustomNavView : UIView 14 | 15 | @property (nonatomic, strong) UILabel *titleLabel; 16 | @property (nonatomic, strong) UIButton *backBtn; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/KNotify.h: -------------------------------------------------------------------------------- 1 | // 2 | // KNotify.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/1/6. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #ifndef KNotify_h 10 | #define KNotify_h 11 | 12 | //开始推流通知 13 | #define kPublishNotify @"publishAction" 14 | 15 | //本地镜像改变通知 16 | #define kLocalMirrorChangeNotify @"localMirrorChange" 17 | 18 | //清晰度修改 19 | #define kSetVideoProfileNotify @"setVideoProfile" 20 | 21 | 22 | #endif /* KNotify_h */ 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/MainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MainViewController.h 3 | // RtcVideo 4 | // 5 | // Created by 黄浩 on 2020/2/18. 6 | // Copyright © 2020 RtcVideo. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MainViewController : UIViewController 12 | 13 | 14 | 15 | 16 | 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/NSBundle+RTCBeaconTower.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+RTCBeaconTower 3 | // RTCBeaconTower 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface NSBundle (RTCBeaconTower) 13 | 14 | + (instancetype)RTC_BeaconTowerBundle; 15 | 16 | + (UIImage *)RBT_imageWithName:(NSString *)name type:(NSString *)type; 17 | 18 | + (UIImage *)RBT_pngImageWithName:(NSString *)name; 19 | 20 | + (UIStoryboard *)RBT_storyboard; 21 | 22 | + (NSString *)RBT_musicPathForResource:(NSString *)name; 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/NSDictionary+Safe.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionary+Safe.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/14. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface NSDictionary (Safe) 14 | 15 | - (id)safeObjectForKey:(NSString *)key; 16 | - (void)safeSetObject:(id)object forKey:(id)key; 17 | - (id)objectForKeyCustom:(id)aKey; 18 | - (id)safeKeyForValue:(id)value; 19 | 20 | - (NSString *)toJSONStringForDictionary; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/NSMutableDictionary+Safe.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSMutableDictionary+Safe.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/14. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface NSMutableDictionary (Safe) 15 | 16 | - (void)safeSetObject:(id)aObj forKey:(id)aKey; 17 | - (id)safeObjectForKey:(id)aKey; 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/NSString+SHA256.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+SHA256.h 3 | // RtcSample 4 | // 5 | // Created by gaoyu on 2019/12/9. 6 | // Copyright © 2019 tiantian. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSString (SHA256) 12 | 13 | - (NSString *)SHA256; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/TableViewBaseView.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewBaseView.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/1/2. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CKHash.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface TableViewBaseView : UIView 15 | 16 | @property (nonatomic, strong) UITableView *tableView; 17 | @property (nonatomic, strong) NSMutableArray *dataArray; 18 | 19 | - (void)createUITableView; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/Tool.h: -------------------------------------------------------------------------------- 1 | // 2 | // Tool.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/1/2. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Tool : NSObject 14 | 15 | + (UIViewController *)currentViewController; 16 | 17 | + (BOOL)isPhoneX; 18 | 19 | + (BOOL)haveNetwork; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/UIControl+Time.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIControl+Time.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/27. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface UIControl (Time) 14 | 15 | // 可以用这个给重复点击加间隔 16 | @property (nonatomic, assign) NSTimeInterval filterTime; 17 | 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCBeaconTower/UIView+Loading.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Loading.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/20. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface UIView (Loading) 15 | 16 | @property (nonatomic, strong) UIActivityIndicatorView *loadView; 17 | 18 | 19 | - (void)startLoadingAnimation; 20 | - (void)stopLoadingAnimation; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommon/RTCCommon.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCCommon.h 3 | // RTCCommon 4 | // 5 | // Created by Aliyun on 2020/7/1. 6 | // 7 | 8 | #ifndef RTCCommon_h 9 | #define RTCCommon_h 10 | #import "RTCMacro.h" 11 | #import "UIColor+Hex.h" 12 | #import "UIImage+Color.h" 13 | #import "AppConfig.h" 14 | #import "NetworkManager.h" 15 | 16 | #endif /* RTCCommon_h */ 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommon/UIColor+Hex.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+Hex.h 3 | // Pods 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface UIColor (Hex) 13 | 14 | + (UIColor *)colorWithHex:(NSInteger)hex; 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommon/UIImage+Color.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Color.h 3 | // VoiceCall 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface UIImage (Color) 13 | 14 | + (UIImage *)imageWithColor:(UIColor *)color; 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommonView/CALayer+Sublayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // CALayer+Category.h 3 | // 4 | 5 | #import 6 | #import 7 | 8 | @interface CALayer (Sublayer) 9 | 10 | + (CALayer *)addSubLayerWithFrame:(CGRect)frame 11 | backgroundColor:(UIColor *)color 12 | backView:(UIView *)baseView; 13 | @end 14 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommonView/CodeInputView.h: -------------------------------------------------------------------------------- 1 | // 2 | // CodeInputView.h 3 | // 4 | // 5 | 6 | #import 7 | 8 | typedef void(^SelectCodeBlock)(NSString *); 9 | 10 | @interface CodeInputView : UIView 11 | 12 | @property(nonatomic,copy) SelectCodeBlock CodeBlock; 13 | 14 | @property(nonatomic,assign) NSInteger inputNum;//验证码输入个数(4或6个) 15 | 16 | @property (nonatomic,copy) NSString *text; 17 | 18 | - (instancetype)initWithFrame:(CGRect)frame inputType:(NSInteger)inputNum selectCodeBlock:(SelectCodeBlock)CodeBlock; 19 | 20 | - (void)endEdit; 21 | 22 | - (void)beginEdit; 23 | 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommonView/LoadingButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // LoadingButton.h 3 | // VoiceCall 4 | // 5 | // Created by aliyun on 2020/4/20. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface LoadingButton : UIButton 13 | 14 | - (void)setBackgroundColor:(nullable UIColor *)color forState:(UIControlState)state; 15 | 16 | - (void)startLoading; 17 | 18 | - (void)stopLoading; 19 | 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommonView/NSBundle+RTCCommonView.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+RTCCommonView.h 3 | // Pods 4 | // 5 | // Created by aliyun on 2020/8/6. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface NSBundle (RTCCommonView) 13 | 14 | + (instancetype)RTCCommonViewBundle; 15 | 16 | + (UIImage *)RCV_imageWithName:(NSString *)name type:(NSString *)type; 17 | 18 | + (UIImage *)RCV_pngImageWithName:(NSString *)name; 19 | 20 | + (UIStoryboard *)RCV_storyboard; 21 | 22 | + (NSString *)RCV_pathForResource:(NSString *)name; 23 | 24 | @end 25 | 26 | NS_ASSUME_NONNULL_END 27 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommonView/RTCCommonView.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCCommonView.h 3 | // RTCCommonView 4 | // 5 | // Created by Aliyun on 2020/7/1. 6 | // 7 | 8 | #ifndef RTCCommonView_h 9 | #define RTCCommonView_h 10 | 11 | #import "RTCHUD.h" 12 | #import "CodeInputView.h" 13 | #import "LoadingButton.h" 14 | #import "NSBundle+RTCCommonView.h" 15 | #import "RTCSingleActionAlertController.h" 16 | #import "RTCDoubleActionsAlertController.h" 17 | #import "RTCOffLineController.h" 18 | 19 | #endif /* RTCCommonView_h */ 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommonView/RTCHUD.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCHUD.h 3 | // RTCInteractiveLiveClass 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface RTCHUD : NSObject 13 | + (void)showHud:(NSString*)msg inView:(UIView*)view; 14 | + (void)showHUDInView:(UIView *)view; 15 | + (void)hideHUDInView:(UIView *)view; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommonView/RTCOffLineController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCOffLineController.h 3 | // RTCCommonView 4 | // 5 | // Created by aliyun on 2020/8/19. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface RTCOffLineController : UIViewController 13 | 14 | - (instancetype)initWithcloseAction:(void(^)(void))closeAction 15 | retryAction:(void(^)(void))retryAction; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/RTCCommonView/RTCSingleActionAlertController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCSingleActionAlertController.h 3 | // RTCVideoLiveRoom 4 | // 5 | // Created by aliyun on 2020/8/19. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface RTCSingleActionAlertController : UIViewController 13 | 14 | - (instancetype)initWithTitle:(NSString *)title 15 | message:(NSString *)message 16 | actionTitle:(NSString *)actionTitle 17 | action:(void(^)(void))action; 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/NSFileHandle+RACSupport.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSFileHandle+RACSupport.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 5/10/12. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal<__covariant ValueType>; 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface NSFileHandle (RACSupport) 16 | 17 | // Read any available data in the background and send it. Completes when data 18 | // length is <= 0. 19 | - (RACSignal *)rac_readInBackground; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/NSObject+RACDescription.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+RACDescription.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-13. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | // A simplified description of the object, which does not invoke -description 12 | // (and thus should be much faster in many cases). 13 | // 14 | // This is for debugging purposes only, and will return a constant string 15 | // unless the RAC_DEBUG_SIGNAL_NAMES environment variable is set. 16 | NSString *RACDescription(id object); 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACAnnotations.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACAnnotations.h 3 | // ReactiveObjC 4 | // 5 | // Created by Eric Horacek on 3/31/17. 6 | // Copyright © 2017 GitHub. All rights reserved. 7 | // 8 | 9 | #ifndef RAC_WARN_UNUSED_RESULT 10 | #define RAC_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 11 | #endif 12 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACArraySequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACArraySequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-10-29. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class that adapts an array to the RACSequence interface. 12 | @interface RACArraySequence : RACSequence 13 | 14 | // Returns a sequence for enumerating over the given array, starting from the 15 | // given offset. The array will be copied to prevent mutation. 16 | + (RACSequence *)sequenceWithArray:(NSArray *)array offset:(NSUInteger)offset; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACDynamicSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACDynamicSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclasses that implements its subscription behavior 12 | // using a block. 13 | @interface RACDynamicSignal : RACSignal 14 | 15 | + (RACSignal *)createSignal:(RACDisposable * (^)(id subscriber))didSubscribe; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACEagerSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACEagerSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Uri Baghin on 02/01/2013. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACArraySequence.h" 10 | 11 | // Private class that implements an eager sequence. 12 | @interface RACEagerSequence : RACArraySequence 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACErrorSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACErrorSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclass that synchronously sends an error to any 12 | // subscriber. 13 | @interface RACErrorSignal : RACSignal 14 | 15 | + (RACSignal *)error:(NSError *)error; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACGroupedSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACGroupedSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 5/2/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSubject.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// A grouped signal is used by -[RACSignal groupBy:transform:]. 14 | @interface RACGroupedSignal : RACSubject 15 | 16 | /// The key shared by the group. 17 | @property (nonatomic, readonly, copy) id key; 18 | 19 | + (instancetype)signalWithKey:(id)key; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACImmediateScheduler.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACImmediateScheduler.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 11/30/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACScheduler.h" 10 | 11 | // A private scheduler which immediately executes its scheduled blocks. 12 | @interface RACImmediateScheduler : RACScheduler 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACIndexSetSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACIndexSetSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Sergey Gavrilyuk on 12/18/13. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class that adapts an array to the RACSequence interface. 12 | @interface RACIndexSetSequence : RACSequence 13 | 14 | + (RACSequence *)sequenceWithIndexSet:(NSIndexSet *)indexSet; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACReturnSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACReturnSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclasses that synchronously sends a value to any 12 | // subscribers, then completes. 13 | @interface RACReturnSignal<__covariant ValueType> : RACSignal 14 | 15 | + (RACSignal *)return:(ValueType)value; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACSignalSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACSignalSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-11-09. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | @class RACSignal<__covariant ValueType>; 12 | 13 | // Private class that adapts a RACSignal to the RACSequence interface. 14 | @interface RACSignalSequence : RACSequence 15 | 16 | // Returns a sequence for enumerating over the given signal. 17 | + (RACSequence *)sequenceWithSignal:(RACSignal *)signal; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACSubscriptionScheduler.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACSubscriptionScheduler.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 11/30/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACScheduler.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | // A private scheduler used only for subscriptions. See the private 14 | // +[RACScheduler subscriptionScheduler] method for more information. 15 | @interface RACSubscriptionScheduler : RACScheduler 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACTupleSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACTupleSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-01. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class that adapts a RACTuple to the RACSequence interface. 12 | @interface RACTupleSequence : RACSequence 13 | 14 | // Returns a sequence for enumerating over the given backing array (from a 15 | // RACTuple), starting from the given offset. 16 | + (RACSequence *)sequenceWithTupleBackingArray:(NSArray *)backingArray offset:(NSUInteger)offset; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACUnarySequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACUnarySequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-01. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class representing a sequence of exactly one value. 12 | @interface RACUnarySequence : RACSequence 13 | 14 | + (RACUnarySequence *)return:(id)value; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACUnit.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACUnit.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 3/27/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// A unit represents an empty value. 14 | /// 15 | /// It should never be necessary to create a unit yourself. Just use +defaultUnit. 16 | @interface RACUnit : NSObject 17 | 18 | /// A singleton instance. 19 | + (RACUnit *)defaultUnit; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/RACValueTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACValueTransformer.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 3/6/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | // A private block based transformer. 12 | @interface RACValueTransformer : NSValueTransformer 13 | 14 | + (instancetype)transformerWithBlock:(id (^)(id value))block; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Headers/Public/ReactiveObjC/UIGestureRecognizer+RACSignalSupport.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIGestureRecognizer+RACSignalSupport.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Vera on 5/5/13. 6 | // Copyright (c) 2013 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal<__covariant ValueType>; 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface UIGestureRecognizer (RACSignalSupport) 16 | 17 | /// Returns a signal that sends the receiver when its gesture occurs. 18 | - (RACSignal<__kindof UIGestureRecognizer *> *)rac_gestureSignal; 19 | 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Masonry/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASCompositeConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | #import "MASUtilities.h" 11 | 12 | /** 13 | * A group of MASConstraint objects 14 | */ 15 | @interface MASCompositeConstraint : MASConstraint 16 | 17 | /** 18 | * Creates a composite with a predefined array of children 19 | * 20 | * @param children child MASConstraints 21 | * 22 | * @return a composite constraint 23 | */ 24 | - (id)initWithChildren:(NSArray *)children; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Masonry/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * When you are debugging or printing the constraints attached to a view this subclass 13 | * makes it easier to identify which constraints have been created via Masonry 14 | */ 15 | @interface MASLayoutConstraint : NSLayoutConstraint 16 | 17 | /** 18 | * a key to associate with this constraint 19 | */ 20 | @property (nonatomic, strong) id mas_key; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Masonry/Masonry/MASLayoutConstraint.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASLayoutConstraint.h" 10 | 11 | @implementation MASLayoutConstraint 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSLayoutConstraint+MASDebugAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * makes debug and log output of NSLayoutConstraints more readable 13 | */ 14 | @interface NSLayoutConstraint (MASDebugAdditions) 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/NSArray+RACSequenceAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+RACSequenceAdditions.m 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-10-29. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "NSArray+RACSequenceAdditions.h" 10 | #import "RACArraySequence.h" 11 | 12 | @implementation NSArray (RACSequenceAdditions) 13 | 14 | - (RACSequence *)rac_sequence { 15 | return [RACArraySequence sequenceWithArray:self offset:0]; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/NSEnumerator+RACSequenceAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSEnumerator+RACSequenceAdditions.m 3 | // ReactiveObjC 4 | // 5 | // Created by Uri Baghin on 07/01/2013. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "NSEnumerator+RACSequenceAdditions.h" 10 | #import "RACSequence.h" 11 | 12 | @implementation NSEnumerator (RACSequenceAdditions) 13 | 14 | - (RACSequence *)rac_sequence { 15 | return [RACSequence sequenceWithHeadBlock:^{ 16 | return [self nextObject]; 17 | } tailBlock:^{ 18 | return self.rac_sequence; 19 | }]; 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/NSFileHandle+RACSupport.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSFileHandle+RACSupport.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 5/10/12. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal<__covariant ValueType>; 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface NSFileHandle (RACSupport) 16 | 17 | // Read any available data in the background and send it. Completes when data 18 | // length is <= 0. 19 | - (RACSignal *)rac_readInBackground; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/NSIndexSet+RACSequenceAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSIndexSet+RACSequenceAdditions.m 3 | // ReactiveObjC 4 | // 5 | // Created by Sergey Gavrilyuk on 12/17/13. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "NSIndexSet+RACSequenceAdditions.h" 10 | #import "RACIndexSetSequence.h" 11 | 12 | @implementation NSIndexSet (RACSequenceAdditions) 13 | 14 | - (RACSequence *)rac_sequence { 15 | return [RACIndexSetSequence sequenceWithIndexSet:self]; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/NSObject+RACDescription.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+RACDescription.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-13. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | // A simplified description of the object, which does not invoke -description 12 | // (and thus should be much faster in many cases). 13 | // 14 | // This is for debugging purposes only, and will return a constant string 15 | // unless the RAC_DEBUG_SIGNAL_NAMES environment variable is set. 16 | NSString *RACDescription(id object); 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/NSOrderedSet+RACSequenceAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSOrderedSet+RACSequenceAdditions.m 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-10-29. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "NSOrderedSet+RACSequenceAdditions.h" 10 | #import "NSArray+RACSequenceAdditions.h" 11 | 12 | @implementation NSOrderedSet (RACSequenceAdditions) 13 | 14 | - (RACSequence *)rac_sequence { 15 | // TODO: First class support for ordered set sequences. 16 | return self.array.rac_sequence; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/NSSet+RACSequenceAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSSet+RACSequenceAdditions.m 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-10-29. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "NSSet+RACSequenceAdditions.h" 10 | #import "NSArray+RACSequenceAdditions.h" 11 | 12 | @implementation NSSet (RACSequenceAdditions) 13 | 14 | - (RACSequence *)rac_sequence { 15 | // TODO: First class support for set sequences. 16 | return self.allObjects.rac_sequence; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/NSString+RACSequenceAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+RACSequenceAdditions.m 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-10-29. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "NSString+RACSequenceAdditions.h" 10 | #import "RACStringSequence.h" 11 | 12 | @implementation NSString (RACSequenceAdditions) 13 | 14 | - (RACSequence *)rac_sequence { 15 | return [RACStringSequence sequenceWithString:self offset:0]; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACAnnotations.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACAnnotations.h 3 | // ReactiveObjC 4 | // 5 | // Created by Eric Horacek on 3/31/17. 6 | // Copyright © 2017 GitHub. All rights reserved. 7 | // 8 | 9 | #ifndef RAC_WARN_UNUSED_RESULT 10 | #define RAC_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 11 | #endif 12 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACArraySequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACArraySequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-10-29. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class that adapts an array to the RACSequence interface. 12 | @interface RACArraySequence : RACSequence 13 | 14 | // Returns a sequence for enumerating over the given array, starting from the 15 | // given offset. The array will be copied to prevent mutation. 16 | + (RACSequence *)sequenceWithArray:(NSArray *)array offset:(NSUInteger)offset; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACCompoundDisposableProvider.d: -------------------------------------------------------------------------------- 1 | provider RACCompoundDisposable { 2 | probe added(char *compoundDisposable, char *disposable, long newTotal); 3 | probe removed(char *compoundDisposable, char *disposable, long newTotal); 4 | }; 5 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACDynamicSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACDynamicSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclasses that implements its subscription behavior 12 | // using a block. 13 | @interface RACDynamicSignal : RACSignal 14 | 15 | + (RACSignal *)createSignal:(RACDisposable * (^)(id subscriber))didSubscribe; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACEagerSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACEagerSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Uri Baghin on 02/01/2013. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACArraySequence.h" 10 | 11 | // Private class that implements an eager sequence. 12 | @interface RACEagerSequence : RACArraySequence 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACEmptySequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACEmptySequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-10-29. 6 | // Copyright (c) 2012 GitHub. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class representing an empty sequence. 12 | @interface RACEmptySequence : RACSequence 13 | 14 | + (RACEmptySequence *)empty; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACEmptySignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACEmptySignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclasses that synchronously sends completed to any 12 | // subscribers. 13 | @interface RACEmptySignal<__covariant ValueType> : RACSignal 14 | 15 | + (RACSignal *)empty; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACErrorSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACErrorSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclass that synchronously sends an error to any 12 | // subscriber. 13 | @interface RACErrorSignal : RACSignal 14 | 15 | + (RACSignal *)error:(NSError *)error; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACGroupedSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACGroupedSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 5/2/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSubject.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// A grouped signal is used by -[RACSignal groupBy:transform:]. 14 | @interface RACGroupedSignal : RACSubject 15 | 16 | /// The key shared by the group. 17 | @property (nonatomic, readonly, copy) id key; 18 | 19 | + (instancetype)signalWithKey:(id)key; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACGroupedSignal.m: -------------------------------------------------------------------------------- 1 | // 2 | // RACGroupedSignal.m 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 5/2/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACGroupedSignal.h" 10 | 11 | @interface RACGroupedSignal () 12 | @property (nonatomic, copy) id key; 13 | @end 14 | 15 | @implementation RACGroupedSignal 16 | 17 | #pragma mark API 18 | 19 | + (instancetype)signalWithKey:(id)key { 20 | RACGroupedSignal *subject = [self subject]; 21 | subject.key = key; 22 | return subject; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACImmediateScheduler.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACImmediateScheduler.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 11/30/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACScheduler.h" 10 | 11 | // A private scheduler which immediately executes its scheduled blocks. 12 | @interface RACImmediateScheduler : RACScheduler 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACIndexSetSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACIndexSetSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Sergey Gavrilyuk on 12/18/13. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class that adapts an array to the RACSequence interface. 12 | @interface RACIndexSetSequence : RACSequence 13 | 14 | + (RACSequence *)sequenceWithIndexSet:(NSIndexSet *)indexSet; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACMulticastConnection+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACMulticastConnection+Private.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 4/11/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACMulticastConnection.h" 10 | 11 | @class RACSubject; 12 | 13 | @interface RACMulticastConnection<__covariant ValueType> () 14 | 15 | - (instancetype)initWithSourceSignal:(RACSignal *)source subject:(RACSubject *)subject; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACReturnSignal.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACReturnSignal.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-10-10. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSignal.h" 10 | 11 | // A private `RACSignal` subclasses that synchronously sends a value to any 12 | // subscribers, then completes. 13 | @interface RACReturnSignal<__covariant ValueType> : RACSignal 14 | 15 | + (RACSignal *)return:(ValueType)value; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACSignalProvider.d: -------------------------------------------------------------------------------- 1 | provider RACSignal { 2 | probe next(char *signal, char *subscriber, char *valueDescription); 3 | probe completed(char *signal, char *subscriber); 4 | probe error(char *signal, char *subscriber, char *errorDescription); 5 | }; 6 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACSignalSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACSignalSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2012-11-09. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | @class RACSignal<__covariant ValueType>; 12 | 13 | // Private class that adapts a RACSignal to the RACSequence interface. 14 | @interface RACSignalSequence : RACSequence 15 | 16 | // Returns a sequence for enumerating over the given signal. 17 | + (RACSequence *)sequenceWithSignal:(RACSignal *)signal; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACSubscriber+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACSubscriber+Private.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-06-13. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSubscriber.h" 10 | 11 | // A simple block-based subscriber. 12 | @interface RACSubscriber : NSObject 13 | 14 | // Creates a new subscriber with the given blocks. 15 | + (instancetype)subscriberWithNext:(void (^)(id x))next error:(void (^)(NSError *error))error completed:(void (^)(void))completed; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACSubscriptionScheduler.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACSubscriptionScheduler.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 11/30/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACScheduler.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | // A private scheduler used only for subscriptions. See the private 14 | // +[RACScheduler subscriptionScheduler] method for more information. 15 | @interface RACSubscriptionScheduler : RACScheduler 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACTupleSequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACTupleSequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-01. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class that adapts a RACTuple to the RACSequence interface. 12 | @interface RACTupleSequence : RACSequence 13 | 14 | // Returns a sequence for enumerating over the given backing array (from a 15 | // RACTuple), starting from the given offset. 16 | + (RACSequence *)sequenceWithTupleBackingArray:(NSArray *)backingArray offset:(NSUInteger)offset; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACUnarySequence.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACUnarySequence.h 3 | // ReactiveObjC 4 | // 5 | // Created by Justin Spahr-Summers on 2013-05-01. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACSequence.h" 10 | 11 | // Private class representing a sequence of exactly one value. 12 | @interface RACUnarySequence : RACSequence 13 | 14 | + (RACUnarySequence *)return:(id)value; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACUnit.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACUnit.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 3/27/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// A unit represents an empty value. 14 | /// 15 | /// It should never be necessary to create a unit yourself. Just use +defaultUnit. 16 | @interface RACUnit : NSObject 17 | 18 | /// A singleton instance. 19 | + (RACUnit *)defaultUnit; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACUnit.m: -------------------------------------------------------------------------------- 1 | // 2 | // RACUnit.m 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 3/27/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "RACUnit.h" 10 | 11 | @implementation RACUnit 12 | 13 | #pragma mark API 14 | 15 | + (RACUnit *)defaultUnit { 16 | static dispatch_once_t onceToken; 17 | static RACUnit *defaultUnit = nil; 18 | dispatch_once(&onceToken, ^{ 19 | defaultUnit = [[self alloc] init]; 20 | }); 21 | 22 | return defaultUnit; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/RACValueTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // RACValueTransformer.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Abernathy on 3/6/12. 6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | // A private block based transformer. 12 | @interface RACValueTransformer : NSValueTransformer 13 | 14 | + (instancetype)transformerWithBlock:(id (^)(id value))block; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/UIGestureRecognizer+RACSignalSupport.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIGestureRecognizer+RACSignalSupport.h 3 | // ReactiveObjC 4 | // 5 | // Created by Josh Vera on 5/5/13. 6 | // Copyright (c) 2013 GitHub. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal<__covariant ValueType>; 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface UIGestureRecognizer (RACSignalSupport) 16 | 17 | /// Returns a signal that sends the receiver when its gesture occurs. 18 | - (RACSignal<__kindof UIGestureRecognizer *> *)rac_gestureSignal; 19 | 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/ReactiveObjC/ReactiveObjC/UISwitch+RACSignalSupport.m: -------------------------------------------------------------------------------- 1 | // 2 | // UISwitch+RACSignalSupport.m 3 | // ReactiveObjC 4 | // 5 | // Created by Uri Baghin on 20/07/2013. 6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved. 7 | // 8 | 9 | #import "UISwitch+RACSignalSupport.h" 10 | #import 11 | #import "UIControl+RACSignalSupportPrivate.h" 12 | 13 | @implementation UISwitch (RACSignalSupport) 14 | 15 | - (RACChannelTerminal *)rac_newOnChannel { 16 | return [self rac_channelForControlEvents:UIControlEventValueChanged key:@keypath(self.on) nilValue:@NO]; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_AFNetworking : NSObject 3 | @end 4 | @implementation PodsDummy_AFNetworking 5 | @end 6 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/MBProgressHUD/MBProgressHUD-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_MBProgressHUD : NSObject 3 | @end 4 | @implementation PodsDummy_MBProgressHUD 5 | @end 6 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/MBProgressHUD/MBProgressHUD-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/Masonry/Masonry-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Masonry : NSObject 3 | @end 4 | @implementation PodsDummy_Masonry 5 | @end 6 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/Masonry/Masonry-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/Pods-RTCSolution/Pods-RTCSolution-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_RTCSolution : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_RTCSolution 5 | @end 6 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/RTCBeaconTower/RTCBeaconTower-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RTCBeaconTower : NSObject 3 | @end 4 | @implementation PodsDummy_RTCBeaconTower 5 | @end 6 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/RTCBeaconTower/RTCBeaconTower-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/RTCCommon/RTCCommon-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RTCCommon : NSObject 3 | @end 4 | @implementation PodsDummy_RTCCommon 5 | @end 6 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/RTCCommon/RTCCommon-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/RTCCommonView/RTCCommonView-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RTCCommonView : NSObject 3 | @end 4 | @implementation PodsDummy_RTCCommonView 5 | @end 6 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/RTCCommonView/RTCCommonView-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/ReactiveObjC/ReactiveObjC-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_ReactiveObjC : NSObject 3 | @end 4 | @implementation PodsDummy_ReactiveObjC 5 | @end 6 | -------------------------------------------------------------------------------- /iOS/RTCSolution/Pods/Target Support Files/ReactiveObjC/ReactiveObjC-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Categories/Dictionary/NSDictionary+Safe.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionary+Safe.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/14. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface NSDictionary (Safe) 14 | 15 | - (id)safeObjectForKey:(NSString *)key; 16 | - (void)safeSetObject:(id)object forKey:(id)key; 17 | - (id)objectForKeyCustom:(id)aKey; 18 | - (id)safeKeyForValue:(id)value; 19 | 20 | - (NSString *)toJSONStringForDictionary; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Categories/Dictionary/NSMutableDictionary+Safe.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSMutableDictionary+Safe.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/14. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface NSMutableDictionary (Safe) 15 | 16 | - (void)safeSetObject:(id)aObj forKey:(id)aKey; 17 | - (id)safeObjectForKey:(id)aKey; 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Categories/NSString/NSString+SHA256.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+SHA256.h 3 | // RtcSample 4 | // 5 | // Created by gaoyu on 2019/12/9. 6 | // Copyright © 2019 tiantian. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSString (SHA256) 12 | 13 | - (NSString *)SHA256; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Categories/UIControl/UIControl+Time.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIControl+Time.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/27. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface UIControl (Time) 14 | 15 | // 可以用这个给重复点击加间隔 16 | @property (nonatomic, assign) NSTimeInterval filterTime; 17 | 18 | 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Categories/UIView/UIView+Loading.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Loading.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/20. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface UIView (Loading) 15 | 16 | @property (nonatomic, strong) UIActivityIndicatorView *loadView; 17 | 18 | 19 | - (void)startLoadingAnimation; 20 | - (void)stopLoadingAnimation; 21 | 22 | @end 23 | 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/ChatRoomViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ChatRoomViewController.h 3 | // RtcVideo 4 | // 5 | // Created by 黄浩 on 2020/2/19. 6 | // Copyright © 2020 RtcVideo. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface ChatRoomViewController : UIViewController 14 | 15 | @property (nonatomic, copy) NSString *channelNumber; 16 | @property (nonatomic, copy) NSString *userName; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Config/ Macro/KNotify.h: -------------------------------------------------------------------------------- 1 | // 2 | // KNotify.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/1/6. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #ifndef KNotify_h 10 | #define KNotify_h 11 | 12 | //开始推流通知 13 | #define kPublishNotify @"publishAction" 14 | 15 | //本地镜像改变通知 16 | #define kLocalMirrorChangeNotify @"localMirrorChange" 17 | 18 | //清晰度修改 19 | #define kSetVideoProfileNotify @"setVideoProfile" 20 | 21 | 22 | #endif /* KNotify_h */ 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Config/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Config/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Helpers/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Helpers/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Helpers/Base/AliBaseViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AliBaseViewController.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2019/11/26. 6 | // Copyright © 2019 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CustomNavView.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface AliBaseViewController : UIViewController 15 | 16 | @property (nonatomic, strong)CustomNavView *navView; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Helpers/Base/TableViewBaseView.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewBaseView.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/1/2. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "CKHash.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface TableViewBaseView : UIView 15 | 16 | @property (nonatomic, strong) UITableView *tableView; 17 | @property (nonatomic, strong) NSMutableArray *dataArray; 18 | 19 | - (void)createUITableView; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Helpers/Tool/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Helpers/Tool/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Helpers/Tool/Tool.h: -------------------------------------------------------------------------------- 1 | // 2 | // Tool.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/1/2. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface Tool : NSObject 14 | 15 | + (UIViewController *)currentViewController; 16 | 17 | + (BOOL)isPhoneX; 18 | 19 | + (BOOL)haveNetwork; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/MainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MainViewController.h 3 | // RtcVideo 4 | // 5 | // Created by 黄浩 on 2020/2/18. 6 | // Copyright © 2020 RtcVideo. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MainViewController : UIViewController 12 | 13 | 14 | 15 | 16 | 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/NSBundle/NSBundle+RTCBeaconTower.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+RTCBeaconTower 3 | // RTCBeaconTower 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface NSBundle (RTCBeaconTower) 13 | 14 | + (instancetype)RTC_BeaconTowerBundle; 15 | 16 | + (UIImage *)RBT_imageWithName:(NSString *)name type:(NSString *)type; 17 | 18 | + (UIImage *)RBT_pngImageWithName:(NSString *)name; 19 | 20 | + (UIStoryboard *)RBT_storyboard; 21 | 22 | + (NSString *)RBT_musicPathForResource:(NSString *)name; 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_icon_mute@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_icon_mute@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_handsfree@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_handsfree@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_handsfree_checked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_handsfree_checked@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_mute@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_mute@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_mute_checked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_mute_checked@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_mute_local_camera@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_mute_local_camera@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_mute_local_camera_checked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_mute_local_camera_checked@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_switch_camera@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_switch_camera@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_switch_camera_checked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_switch_camera_checked@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_voice_mode@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_voice_mode@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_voice_mode_checked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_call_voice_mode_checked@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_icon_error@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_icon_error@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_pic_net_error@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/alivc_video_pic_net_error@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/back@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/back@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/face@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/face@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/hangup@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/hangup@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/headbg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/headbg@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/topg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/topg@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/video_head@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/video_head@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/video_head@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/video_head@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/video_head_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Resources/RTCBeaconTower.bundle/video_head_bg@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCBeaconTower/RTCBeaconTower/Utilites/CustomNavView.h: -------------------------------------------------------------------------------- 1 | // 2 | // CustomNavView.h 3 | // AliRTCApp 4 | // 5 | // Created by 黄浩 on 2020/2/7. 6 | // Copyright © 2020 AliRTCApp. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface CustomNavView : UIView 14 | 15 | @property (nonatomic, strong) UILabel *titleLabel; 16 | @property (nonatomic, strong) UIButton *backBtn; 17 | 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommon/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommon/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommon/Color/UIColor+Hex.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+Hex.h 3 | // Pods 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface UIColor (Hex) 13 | 14 | + (UIColor *)colorWithHex:(NSInteger)hex; 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommon/Color/UIColor+Hex.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+Hex.m 3 | // Pods 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import "UIColor+Hex.h" 9 | 10 | @implementation UIColor (Hex) 11 | 12 | + (UIColor *)colorWithHex:(NSInteger)hex { 13 | return [UIColor colorWithRed:((float)((hex & 0xff0000) >> 16))/255.0 green:((float)((hex & 0x00ff00) >> 8))/255.0 blue:((float)(hex & 0x0000ff))/255.0 alpha:1.0]; 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommon/Image/UIImage+Color.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Color.h 3 | // VoiceCall 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface UIImage (Color) 13 | 14 | + (UIImage *)imageWithColor:(UIColor *)color; 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommon/Image/UIImage+Color.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Color.m 3 | // VoiceCall 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import "UIImage+Color.h" 9 | 10 | @implementation UIImage (Color) 11 | 12 | 13 | + (UIImage *)imageWithColor:(UIColor *)color { 14 | CGRect rect = CGRectMake(0, 0, 1, 1); 15 | UIGraphicsBeginImageContext(rect.size); 16 | CGContextRef context = UIGraphicsGetCurrentContext(); 17 | [color setFill]; 18 | CGContextFillRect(context, rect); 19 | UIImage *imgae = UIGraphicsGetImageFromCurrentImageContext(); 20 | UIGraphicsEndImageContext(); 21 | return imgae; 22 | } 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommon/Network/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommon/Network/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommon/RTCCommon.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCCommon.h 3 | // RTCCommon 4 | // 5 | // Created by Aliyun on 2020/7/1. 6 | // 7 | 8 | #ifndef RTCCommon_h 9 | #define RTCCommon_h 10 | #import "RTCMacro.h" 11 | #import "UIColor+Hex.h" 12 | #import "UIImage+Color.h" 13 | #import "AppConfig.h" 14 | #import "NetworkManager.h" 15 | 16 | #endif /* RTCCommon_h */ 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommon/RTCMacro.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCMacro.h 3 | // Pods 4 | // 5 | // Created by aliyun on 2020/8/11. 6 | // 7 | 8 | #ifndef RTCMacro_h 9 | #define RTCMacro_h 10 | 11 | #define RTCScreenWidth [UIScreen mainScreen].bounds.size.width 12 | #define RTCScreenHeight [UIScreen mainScreen].bounds.size.height 13 | 14 | #define RTCSafeTop (([[UIScreen mainScreen] bounds].size.height<812) ? 20 : 44) 15 | #define RTCSafeBottom (([[UIScreen mainScreen] bounds].size.height<812) ? 0 : 34) 16 | 17 | #define RTCRGBA(R,G,B,A) [UIColor colorWithRed:(R * 1.0) / 255.0 green:(G * 1.0) / 255.0 blue:(B * 1.0) / 255.0 alpha:A] 18 | 19 | #endif /* RTCMacro_h */ 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Alert/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Alert/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Alert/RTCSingleActionAlertController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCSingleActionAlertController.h 3 | // RTCVideoLiveRoom 4 | // 5 | // Created by aliyun on 2020/8/19. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface RTCSingleActionAlertController : UIViewController 13 | 14 | - (instancetype)initWithTitle:(NSString *)title 15 | message:(NSString *)message 16 | actionTitle:(NSString *)actionTitle 17 | action:(void(^)(void))action; 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/CodeView/CALayer+Sublayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // CALayer+Category.h 3 | // 4 | 5 | #import 6 | #import 7 | 8 | @interface CALayer (Sublayer) 9 | 10 | + (CALayer *)addSubLayerWithFrame:(CGRect)frame 11 | backgroundColor:(UIColor *)color 12 | backView:(UIView *)baseView; 13 | @end 14 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/CodeView/CALayer+Sublayer.m: -------------------------------------------------------------------------------- 1 | // 2 | // CALayer+Category.m 3 | // 4 | 5 | #import "CALayer+Sublayer.h" 6 | 7 | @implementation CALayer (Sublayer) 8 | 9 | + (CALayer *)addSubLayerWithFrame:(CGRect)frame 10 | backgroundColor:(UIColor *)color 11 | backView:(UIView *)baseView{ 12 | CALayer * layer = [[CALayer alloc]init]; 13 | layer.frame = frame; 14 | layer.backgroundColor = [color CGColor]; 15 | [baseView.layer addSublayer:layer]; 16 | return layer; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/CodeView/CodeInputView.h: -------------------------------------------------------------------------------- 1 | // 2 | // CodeInputView.h 3 | // 4 | // 5 | 6 | #import 7 | 8 | typedef void(^SelectCodeBlock)(NSString *); 9 | 10 | @interface CodeInputView : UIView 11 | 12 | @property(nonatomic,copy) SelectCodeBlock CodeBlock; 13 | 14 | @property(nonatomic,assign) NSInteger inputNum;//验证码输入个数(4或6个) 15 | 16 | @property (nonatomic,copy) NSString *text; 17 | 18 | - (instancetype)initWithFrame:(CGRect)frame inputType:(NSInteger)inputNum selectCodeBlock:(SelectCodeBlock)CodeBlock; 19 | 20 | - (void)endEdit; 21 | 22 | - (void)beginEdit; 23 | 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/HUD/RTCHUD.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCHUD.h 3 | // RTCInteractiveLiveClass 4 | // 5 | // Created by Aliyun on 2020/6/30. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface RTCHUD : NSObject 13 | + (void)showHud:(NSString*)msg inView:(UIView*)view; 14 | + (void)showHUDInView:(UIView *)view; 15 | + (void)hideHUDInView:(UIView *)view; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/LoadingButton/LoadingButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // LoadingButton.h 3 | // VoiceCall 4 | // 5 | // Created by aliyun on 2020/4/20. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface LoadingButton : UIButton 13 | 14 | - (void)setBackgroundColor:(nullable UIColor *)color forState:(UIControlState)state; 15 | 16 | - (void)startLoading; 17 | 18 | - (void)stopLoading; 19 | 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/OffLine/RTCOffLineController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCOffLineController.h 3 | // RTCCommonView 4 | // 5 | // Created by aliyun on 2020/8/19. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface RTCOffLineController : UIViewController 13 | 14 | - (instancetype)initWithcloseAction:(void(^)(void))closeAction 15 | retryAction:(void(^)(void))retryAction; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/RTCCommonView.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCCommonView.h 3 | // RTCCommonView 4 | // 5 | // Created by Aliyun on 2020/7/1. 6 | // 7 | 8 | #ifndef RTCCommonView_h 9 | #define RTCCommonView_h 10 | 11 | #import "RTCHUD.h" 12 | #import "CodeInputView.h" 13 | #import "LoadingButton.h" 14 | #import "NSBundle+RTCCommonView.h" 15 | #import "RTCSingleActionAlertController.h" 16 | #import "RTCDoubleActionsAlertController.h" 17 | #import "RTCOffLineController.h" 18 | 19 | #endif /* RTCCommonView_h */ 20 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/1@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/1@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/Action Epic.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/Action Epic.mp3 -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/Clapping.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/Clapping.mp3 -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/Ice Cream with you.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/Ice Cream with you.mp3 -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/PSD_microphoneOff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/PSD_microphoneOff.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/PSD_microphoneOn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/PSD_microphoneOn.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_MPV_BG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_MPV_BG.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_exit@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_exit@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_exit@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_exit@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_sel_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_sel_no.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_sel_yes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/RTC_sel_yes.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/Yippee.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/Yippee.mp3 -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/angle_left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/angle_left@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/angle_left@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/angle_left@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/background@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/background@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/background@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/background@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/bg_seven.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/bg_seven.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/bg_three.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/bg_three.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/close.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/close@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/close@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/close@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/lostConnection@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/lostConnection@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/lostConnection@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/lostConnection@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/pause@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/pause@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/pause@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/pause@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/play@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/play@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/play@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/play@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb0@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb0@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb0@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb0@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb1.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb1@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb1@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb2.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb2@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb2@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb3.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb3@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb3@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb3@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb4.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb4@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb4@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb4@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb5.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb5@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb5@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb5@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb6.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb6@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb6@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb6@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb6@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb7.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb7@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb7@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb7@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb7@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb8.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb8@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb8@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb8@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb8@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb9.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb9@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb9@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb9@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/reverb9@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/smile.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/smile.mp3 -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/test@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/test@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/test@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCCommonView/Resources/RTCCommonView.bundle/test@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCCommonView/Utils/NSBundle+RTCCommonView.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+RTCCommonView.h 3 | // Pods 4 | // 5 | // Created by aliyun on 2020/8/6. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface NSBundle (RTCCommonView) 13 | 14 | + (instancetype)RTCCommonViewBundle; 15 | 16 | + (UIImage *)RCV_imageWithName:(NSString *)name type:(NSString *)type; 17 | 18 | + (UIImage *)RCV_pngImageWithName:(NSString *)name; 19 | 20 | + (UIStoryboard *)RCV_storyboard; 21 | 22 | + (NSString *)RCV_pathForResource:(NSString *)name; 23 | 24 | @end 25 | 26 | NS_ASSUME_NONNULL_END 27 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution.xcodeproj/project.xcworkspace/xcuserdata/sunzhen.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution.xcodeproj/project.xcworkspace/xcuserdata/sunzhen.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution.xcworkspace/xcuserdata/sunzhen.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution.xcworkspace/xcuserdata/sunzhen.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // RTCSolution 4 | // 5 | // Created by Aliyun on 2020/6/28. 6 | // Copyright © 2020 Aliyun. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property(nonatomic, strong)UIWindow *window; 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/1v1.imageset/1v1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/1v1.imageset/1v1@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/1v1.imageset/1v1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/1v1.imageset/1v1@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/1v1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "一对一语聊icon.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "1v1@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "1v1@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/1v1.imageset/一对一语聊icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/1v1.imageset/一对一语聊icon.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/beacon.imageset/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/beacon.imageset/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/beacon.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "beacon@2x.png", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "beacon@3x.png", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/beacon.imageset/beacon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/beacon.imageset/beacon@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/beacon.imageset/beacon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/beacon.imageset/beacon@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/chatRoom.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "语音聊天室icon.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "chatRoom@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "chatRoom@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/chatRoom.imageset/chatRoom@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/chatRoom.imageset/chatRoom@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/chatRoom.imageset/chatRoom@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/chatRoom.imageset/chatRoom@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/chatRoom.imageset/语音聊天室icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/chatRoom.imageset/语音聊天室icon.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/interactiveLiveClass.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "互动直播课.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "互动直播课@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "互动直播课@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/interactiveLiveClass.imageset/互动直播课.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/interactiveLiveClass.imageset/互动直播课.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/interactiveLiveClass.imageset/互动直播课@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/interactiveLiveClass.imageset/互动直播课@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/interactiveLiveClass.imageset/互动直播课@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/interactiveLiveClass.imageset/互动直播课@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/launch.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "launch.png", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/launch.imageset/launch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/launch.imageset/launch.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "logo@2x.png", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "logo@3x.png", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/logo.imageset/logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/logo.imageset/logo@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/logo.imageset/logo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/logo.imageset/logo@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/smallClass.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "filename" : "smallClass@2x.png", 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "filename" : "smallClass@3x.png", 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "author" : "xcode", 20 | "version" : 1 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/smallClass.imageset/smallClass@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/smallClass.imageset/smallClass@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/smallClass.imageset/smallClass@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/smallClass.imageset/smallClass@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/videoliveClass.imageset/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/videoliveClass.imageset/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/videoliveClass.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "互动直播课icon.png", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "filename" : "liveClass@2x.png", 10 | "idiom" : "universal", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "filename" : "liveClass@3x.png", 15 | "idiom" : "universal", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "author" : "xcode", 21 | "version" : 1 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/videoliveClass.imageset/liveClass@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/videoliveClass.imageset/liveClass@2x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/videoliveClass.imageset/liveClass@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/videoliveClass.imageset/liveClass@3x.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Assets.xcassets/videoliveClass.imageset/互动直播课icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Assets.xcassets/videoliveClass.imageset/互动直播课icon.png -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Home/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/iOS/RTCSolution/RTCSolution/Home/.DS_Store -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Home/Controller/RTCHomeViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTC_HomeViewController.h 3 | // AliyunVideoClient_Entrance 4 | // 5 | // Created by Aliyun on 2018/3/22. 6 | // Copyright © 2018年 Alibaba. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface RTCHomeViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Home/Controller/RTCNavigationController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RTCNavigationController.h 3 | // RTCSolution 4 | // 5 | // Created by Aliyun on 2020/6/29. 6 | // Copyright © 2020 Aliyun. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface RTCNavigationController : UINavigationController 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/Home/View/RTCHomeFlowLayout.h: -------------------------------------------------------------------------------- 1 | // 2 | // ELCVFlowLayout.h 3 | // ElCVFlowLayout 4 | // 5 | // Created by Parkin on 2017/6/27. 6 | // Copyright © 2017年 Parkin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface RTCHomeFlowLayout : UICollectionViewFlowLayout 12 | 13 | 14 | 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // RTCSolution 4 | // 5 | // Created by Aliyun on 2020/6/28. 6 | // Copyright © 2020 Aliyun. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // RTCSolution 4 | // 5 | // Created by Aliyun on 2020/6/28. 6 | // Copyright © 2020 Aliyun. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view. 20 | self.view.backgroundColor = [UIColor whiteColor]; 21 | } 22 | 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /iOS/RTCSolution/RTCSolution/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // RTCSolution 4 | // 5 | // Created by Aliyun on 2020/6/28. 6 | // Copyright © 2020 Aliyun. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | NSString * appDelegateClassName; 14 | @autoreleasepool { 15 | // Setup code that might create autoreleased objects goes here. 16 | appDelegateClassName = NSStringFromClass([AppDelegate class]); 17 | } 18 | return UIApplicationMain(argc, argv, nil, appDelegateClassName); 19 | } 20 | -------------------------------------------------------------------------------- /web/.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | -------------------------------------------------------------------------------- /web/.eslintignore: -------------------------------------------------------------------------------- 1 | *.js 2 | *.vue -------------------------------------------------------------------------------- /web/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | extends: ["plugin:vue/essential", "@vue/prettier"], 7 | rules: { 8 | "no-console": process.env.NODE_ENV === "production" ? "error" : "off", 9 | "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off" 10 | }, 11 | parserOptions: { 12 | parser: "babel-eslint" 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /web/README.md: -------------------------------------------------------------------------------- 1 | # hcsy 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Run your tests 19 | ``` 20 | npm run test 21 | ``` 22 | 23 | ### Lints and fixes files 24 | ``` 25 | npm run lint 26 | ``` 27 | 28 | ### Customize configuration 29 | See [Configuration Reference](https://cli.vuejs.org/config/). 30 | 31 | 32 | 注意有时无法热更新的时候 使用npm 安装不要使用 cnpm -------------------------------------------------------------------------------- /web/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | autoprefixer: {} 4 | } 5 | }; 6 | -------------------------------------------------------------------------------- /web/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/public/favicon.ico -------------------------------------------------------------------------------- /web/src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 19 | 20 | 31 | -------------------------------------------------------------------------------- /web/src/assets/icon/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/bg.png -------------------------------------------------------------------------------- /web/src/assets/icon/camera-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/camera-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/camera-on-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/camera-on-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/camera-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/camera-on.png -------------------------------------------------------------------------------- /web/src/assets/icon/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/camera.png -------------------------------------------------------------------------------- /web/src/assets/icon/full-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/full-on.png -------------------------------------------------------------------------------- /web/src/assets/icon/full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/full.png -------------------------------------------------------------------------------- /web/src/assets/icon/loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/loading.png -------------------------------------------------------------------------------- /web/src/assets/icon/mic-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/mic-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/mic-on-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/mic-on-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/mic-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/mic-on.png -------------------------------------------------------------------------------- /web/src/assets/icon/mic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/mic.png -------------------------------------------------------------------------------- /web/src/assets/icon/micList-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/micList-off.png -------------------------------------------------------------------------------- /web/src/assets/icon/micList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/micList.png -------------------------------------------------------------------------------- /web/src/assets/icon/muteall-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/muteall-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/muteall-on-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/muteall-on-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/muteall-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/muteall-on.png -------------------------------------------------------------------------------- /web/src/assets/icon/muteall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/muteall.png -------------------------------------------------------------------------------- /web/src/assets/icon/off-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/off-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/off.png -------------------------------------------------------------------------------- /web/src/assets/icon/screen-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/screen-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/screen-on-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/screen-on-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/screen-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/screen-on.png -------------------------------------------------------------------------------- /web/src/assets/icon/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/screen.png -------------------------------------------------------------------------------- /web/src/assets/icon/setting-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/setting-2x.png -------------------------------------------------------------------------------- /web/src/assets/icon/setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/icon/setting.png -------------------------------------------------------------------------------- /web/src/assets/js/filter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/js/filter.js -------------------------------------------------------------------------------- /web/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-RTCBeaconTower-demo/f9acbb4000070dde90e794271f31779b0b93c411/web/src/assets/logo.png -------------------------------------------------------------------------------- /web/src/assets/scss/base.scss: -------------------------------------------------------------------------------- 1 | @function rem($n) { 2 | @return (($n * 1rem) / 75); // 设计稿的宽度像素值750, 要除以10 75=750(设计稿)/10(rem.js里的10) 3 | } 4 | @function vh($n) { 5 | @return (($n * 100vh) / 720); 6 | } 7 | @function vw($n) { 8 | @return (($n * 100vw) / 1024); 9 | } 10 | /*基础颜色*/ 11 | $color:#46aaff; 12 | $borderColor:#c1c1c1; 13 | $backgroundColor:#eee; 14 | 15 | .main-box{ 16 | width: 800px; 17 | height: 600px; 18 | margin: 10px auto; 19 | border: 1px solid $borderColor; 20 | } 21 | -------------------------------------------------------------------------------- /web/src/core/data/config.js: -------------------------------------------------------------------------------- 1 | export default{ 2 | appId:"", 3 | appKey:"" 4 | } -------------------------------------------------------------------------------- /web/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import App from "./App.vue"; 3 | import router from "./router/index"; 4 | import store from "./vuex/index"; 5 | 6 | //自定义组件(components文件夹下) 7 | import "./components/global.js"; 8 | 9 | // eslint-disable-next-line no-undef 10 | store.state.config = AppConfig; 11 | 12 | Vue.config.productionTip = false; 13 | 14 | import './plugins/element.js' 15 | // import './assets/js/hui-design.js' 16 | window.hv=new Vue({ 17 | router, 18 | store, 19 | render: h => h(App) 20 | }).$mount("#app"); 21 | -------------------------------------------------------------------------------- /web/src/vuex/actions/index.js: -------------------------------------------------------------------------------- 1 | // Action 提交的是 mutation,而不是直接变更状态。 2 | // Action 可以包含任意异步操作。 3 | 4 | /* 导出actions方法 */ 5 | import { hvuex } from "./widgetUi"; 6 | 7 | export default { 8 | hvuex 9 | }; 10 | -------------------------------------------------------------------------------- /web/src/vuex/actions/widgetUi.js: -------------------------------------------------------------------------------- 1 | // state公共参数 2 | export function hvuex ({state, commit}, status) { 3 | commit('hvuex', status) 4 | } 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /web/src/vuex/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | Vue.use(Vuex); 4 | 5 | import mutations from './mutations' 6 | import actions from './actions' 7 | import state from './state' 8 | 9 | const store = new Vuex.Store({ 10 | // 内存数据状态,UI可通过this.$store.state.* 获得数据 11 | state, 12 | // 唯一拥有更改内存数据的接口,不可进行异步操作 13 | mutations, 14 | // 与mutation通讯,ui层写入内存数据的接口,可异步操作 15 | actions, 16 | plugins: [] 17 | }); 18 | 19 | export default store 20 | -------------------------------------------------------------------------------- /web/src/vuex/mutations.js: -------------------------------------------------------------------------------- 1 | // 更改 Vuex 的 store 中的状态的唯一方法是提交 mutation 2 | // this.$store.commit(method, params) 3 | 4 | 5 | export default { 6 | //修改公共参数 7 | hvuex(state, v) { 8 | var strObj = JSON.stringify(state.data); 9 | var obj = Object.assign(JSON.parse(strObj), v); 10 | state.data = obj; 11 | hsetStore("hvuex",JSON.stringify(state.data)); 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /web/src/vuex/state.js: -------------------------------------------------------------------------------- 1 | export default { 2 | //所有 3 | data: { 4 | version:"", 5 | classNum: "",// 教室号 6 | userName: '',// 用户名 7 | userId:null,// userId 8 | role: null,// 角色 9 | client: null,// rtc 实例 10 | isShowSetting: false,// 是否显示配置项 11 | isPublish:false, 12 | isPreview:false, 13 | isPublishScreen:false, //屏幕分享 14 | isSwitchScreen:false,// 是否切换大小流 15 | switchUserId:"", 16 | userList:[], 17 | supportInfo:{} 18 | }, 19 | //网站基础数据 20 | config: { 21 | 22 | } 23 | } 24 | --------------------------------------------------------------------------------