JLChen
2021-05-13 7f62f2d3bf626ac55d2d2de05ca1d71eaaabef39
2021-05-13 1.备份
12 文件已复制
28个文件已添加
37个文件已删除
111 文件已重命名
15个文件已修改
8043 ■■■■ 已修改文件
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCApiKit.h 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCCallDelegate.h 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCOnIntercomViewController.h 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCOnMonitorViewController.h 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCSDKOnXamarin/LCOpenSDKDynamic.framework/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCSDKOnXamarin/LCOpenSDKDynamic.framework/LCOpenSDKDynamic 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCUtlis.h 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/Depend/LCSDKOnXamarin/libLCSDKOnXamarin.a 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo.xcodeproj/project.pbxproj 540 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/AppDelegate.h 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/AppDelegate.m 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/AccentColor.colorset/Contents.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/AppIcon.appiconset/Contents.json 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/Contents.json 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_answer.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_answer.imageset/ic_esvideo_on_answer.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_back.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_back.imageset/ic_esvideo_on_back.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_hangup.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_hangup.imageset/ic_esvideo_on_hangup.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_takephoto_select.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_takephoto_select.imageset/ic_esvideo_on_takephoto_select.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_takephoto_unselect.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_takephoto_unselect.imageset/ic_esvideo_on_takephoto_unselect.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_unlock_select.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_unlock_select.imageset/ic_esvideo_on_unlock_select.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_unlock_unselect.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_unlock_unselect.imageset/ic_esvideo_on_unlock_unselect.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Base.lproj/LaunchScreen.storyboard 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Base.lproj/Main.storyboard 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/Info.plist 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/SceneDelegate.h 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/SceneDelegate.m 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/ViewController.h 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/ViewController.m 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/LCOnDemo/main.m 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin.xcodeproj/project.pbxproj 441 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin.xcodeproj/xcshareddata/xcschemes/ESVideoOnXamarin.xcscheme 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESCallDelegate.m 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnIntercomViewController.h 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnIntercomViewController.m 1194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnMonitorViewController.h 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnMonitorViewController.m 935 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESVideo.h 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESVideo.m 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCApiKit.m 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCKit.h 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCOnIntercomViewController.m 1126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCOnMonitorViewController.h 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCOnMonitorViewController.m 1074 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/ESVideoPhoneSDk 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/Headers/ESError.h 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/Headers/ESVideoPhone.h 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeDirectory 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeRequirements 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeRequirements-1 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeResources 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeSignature 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/Extern/LCOpenSDKDynamic.framework/Modules/module.modulemap 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/ESVideoOnXamarin/README.md 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo.xcodeproj/project.pbxproj 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/ESCallDelegate.h 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/ESCallDelegate.m 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCApiKit.h 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCApiKit.m 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCCallDelegate.h 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCCallDelegate.m 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCKit.h 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCOnIntercomViewController.h 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCOnIntercomViewController.m 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCOnMonitorViewController.h 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCOnMonitorViewController.m 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCUtlis.h 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCOnDemo/LCOnDemo/ViewController.m 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin.xcodeproj/project.pbxproj 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/ESCallDelegate.h 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCApiKit.h 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCApiKit.m 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCCallDelegate.h 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCCallDelegate.m 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCKit.h 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOnIntercomViewController.h 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOnIntercomViewController.m 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOnMonitorViewController.h 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOnMonitorViewController.m 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/AddGroup.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/AddGroupDevice.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/AddRole.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BeAuthDeviceList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BindDevice.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BindDeviceChannelInfo.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BindDeviceInfo.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BreathingLightStatus.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/CheckDeviceBindOrNot.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ChildGroupList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/CloudRecordPlan.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ControlDeviceWifi.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ControlPTZ.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/CurrentDeviceWifi.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteAlarmMessage.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteCloudPlanRecords.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteCloudRecords.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteGroup.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteGroupDevice.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteRole.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteUserAuthTager.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceAlarmPlan.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceAuthInfo.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceOnline.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceVersionList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/FrameReverseStatus.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetAlarmMessage.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetAuthFunctions.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetCloudRecords.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetRecordByLinkageId.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetStorageStrategy.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetStrategies.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GroupDeviceList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GroupList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyBreathingLight.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyCloudRecordPlan.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyDeviceAlarmPlan.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyDeviceAlarmStatus.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyDeviceName.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyDevicePwd.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyFrameReverseStatus.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/OpenCloudRecord.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/PassengerFlow.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudPlanRecordBitmap.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudPlanRecordNum.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudPlanRecords.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudRecordBitmap.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudRecordCallNum.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudRecordNum.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudRecords.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryLocalRecordBitmap.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryLocalRecordNum.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryLocalRecords.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/RecoverSDCard.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/RoleList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/SetAllStorageStrategy.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/SetDeviceSnap.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/SetStorageStrategy.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/SetUserAuthTager.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ShareDeviceList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UnBindDevice.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UnBindDeviceInfo.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UnGroupDeviceList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UpgradeDevice.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UpgradeProcessDevice.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UploadDeviceCoverPicture.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UserAuthList.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UserBindNoVerify.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UserTokenByAccount.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/WifiAround.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApiDefine.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApiRequest.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApiResponse.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenNetSDK/LCOpenSDK_NetsdkLogin.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenNetSDK/netsdk.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Api.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_AudioTalk.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_ConfigWifi.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Define.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_DeviceInit.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Download.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_DownloadListener.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_EventListener.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Log.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_LoginManager.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Param.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_PlayWindow.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_SoftAP.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_TalkerListener.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Utils.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDKDynamic.a 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDKDynamic.h 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCUtlis.h 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/README.md 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK.sln 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/ApiDefinition.cs 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Library/ESVideoPhoneSDk.a 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Library/libESVideoOnXamarin.a 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Library/libLCSDKOnXamarin.a 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Structs.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK.sln 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/ApiDefinition.cs 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Library/LCOpenSDKDynamic.a 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Library/libLCSDKOnXamarin.a 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Properties/AssemblyInfo.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_answer.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_back.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_hangup.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_takephoto_select.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_takephoto_unselect.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_unlock_select.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_unlock_unselect.png 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK.csproj 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Structs.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCApiKit.h
File was renamed from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCApiKit.h
@@ -7,7 +7,9 @@
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface LCApiKit : NSObject
/**
@@ -41,6 +43,21 @@
- (void)initSDKOpenApi:(NSString *)lcToken;
///// 拼接错误信息
//- (NSString *) getErrorMesWithCode:(NSString *)message code:(int)code;
/// 接口
///**
// *  @since
// *  开锁接口
// *
// *  @param deviceId 设备序列号
// *  @param completion   回调block,error为空时表示添加成功
// *
// */
//- (void)openDoorbell:(NSString *)deviceId completion:(void (^)(ResponseData *responseData))completion;
@end
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCCallDelegate.h
File was renamed from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESCallDelegate.h
@@ -1,9 +1,8 @@
//
//  ESCallDelegate.h
//  ESVideoPhoneSDKDemo
//  LCCallDelegate.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/3/25.
//  Copyright © 2021 eTouchSky. All rights reserved.
//  Created by 陈嘉乐 on 2021/5/12.
//
#import <Foundation/Foundation.h>
@@ -11,7 +10,10 @@
NS_ASSUME_NONNULL_BEGIN
@protocol ESCallDelegate <NSObject>
//开锁成功通知
extern NSString *const LCCallDelegateOpenDoorSuccess;
@protocol LCCallDelegate <NSObject>
//接听回调
-(void)onAnswerAction;
@@ -19,7 +21,7 @@
//拒接来电回调
-(void)onRejectCallAction;
//开始成功回调
//开锁回调
-(void)onUnlockAction;
//挂断(通话结束)
@@ -30,7 +32,7 @@
@end
@interface ESCallDelegate : NSObject
@interface LCCallDelegate : NSObject
@end
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCOnIntercomViewController.h
File was renamed from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCOnIntercomViewController.h
@@ -6,17 +6,17 @@
//
#import <UIKit/UIKit.h>
#import "ESCallDelegate.h"
#import "LCCallDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface LCOnIntercomViewController : UIViewController
#pragma mark ESCallDelegate
#pragma mark LCCallDelegate
/**
 丰林事件代理
 事件代理
 */
@property (nonatomic, weak) id<ESCallDelegate> mESCallDelegate;
@property (nonatomic, weak) id<LCCallDelegate> mLCCallDelegate;
#pragma mark 对外接口方法
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCOnMonitorViewController.h
New file
@@ -0,0 +1,25 @@
//
//  LCOnMonitorViewController.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/4/26.
//
#import <UIKit/UIKit.h>
#import "LCCallDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface LCOnMonitorViewController : UIViewController
#pragma mark LCCallDelegate
/**
 事件代理
 */
@property (nonatomic, weak) id<LCCallDelegate> mLCCallDelegate;
#pragma mark 对外接口方法
@end
NS_ASSUME_NONNULL_END
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCSDKOnXamarin/LCOpenSDKDynamic.framework/Info.plist
Binary files differ
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCSDKOnXamarin/LCOpenSDKDynamic.framework/LCOpenSDKDynamic
Binary files differ
iOS/LCOnDemo/Depend/LCSDKOnXamarin/include/LCUtlis.h
File was renamed from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnUtlis.h
@@ -1,12 +1,11 @@
//
//  ESOnUtlis.h
//  ESVideoPhoneSDKDemo
//  LCUtlis.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/3/11.
//  Copyright © 2021 eTouchSky. All rights reserved.
//  Created by 陈嘉乐 on 2021/5/12.
//
#import <Foundation/Foundation.h>
#define TP_SYSTEM_VERSION ([[[UIDevice currentDevice] systemVersion] floatValue])
//#define IOS6 ([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0)
@@ -54,11 +53,11 @@
#define WEAKSELF_AT __weak __typeof(&*self)weakSelf_AT = self;
#define HEXCOLORA(rgbValue, a) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0 blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:a]
#import <Foundation/Foundation.h>
#define RTSP_Result_String(enum) [@[ @"0", @"1", @"2", @"3", @"4", @"5", @"6", @"7", @"99", @"100" ] objectAtIndex:enum]
NS_ASSUME_NONNULL_BEGIN
@interface ESOnUtlis : NSObject
@interface LCUtlis : NSObject
@end
iOS/LCOnDemo/Depend/LCSDKOnXamarin/libLCSDKOnXamarin.a
Binary files differ
iOS/LCOnDemo/LCOnDemo.xcodeproj/project.pbxproj
New file
@@ -0,0 +1,540 @@
// !$*UTF8*$!
{
    archiveVersion = 1;
    classes = {
    };
    objectVersion = 50;
    objects = {
/* Begin PBXBuildFile section */
        B92E6AFE264BB0EC00D63F4B /* libLCSDKOnXamarin.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B92E6AF4264BB0D200D63F4B /* libLCSDKOnXamarin.a */; };
        B92E6B09264BB12200D63F4B /* LCOpenSDKDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B92E6B06264BB12200D63F4B /* LCOpenSDKDynamic.framework */; };
        B92E6B0A264BB12200D63F4B /* libLCSDKOnXamarin.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B92E6B08264BB12200D63F4B /* libLCSDKOnXamarin.a */; };
        B92E6B0B264BB16A00D63F4B /* LCOpenSDKDynamic.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B92E6B06264BB12200D63F4B /* LCOpenSDKDynamic.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
        B9DA498F263662B100C7BD1C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B9DA498E263662B100C7BD1C /* AppDelegate.m */; };
        B9DA4992263662B100C7BD1C /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B9DA4991263662B100C7BD1C /* SceneDelegate.m */; };
        B9DA4995263662B100C7BD1C /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B9DA4994263662B100C7BD1C /* ViewController.m */; };
        B9DA4998263662B100C7BD1C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B9DA4996263662B100C7BD1C /* Main.storyboard */; };
        B9DA499A263662B300C7BD1C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B9DA4999263662B300C7BD1C /* Assets.xcassets */; };
        B9DA499D263662B300C7BD1C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B9DA499B263662B300C7BD1C /* LaunchScreen.storyboard */; };
        B9DA49A0263662B300C7BD1C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B9DA499F263662B300C7BD1C /* main.m */; };
        B9DA49B7263664FA00C7BD1C /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49B6263664FA00C7BD1C /* CoreAudio.framework */; };
        B9DA49B92636650300C7BD1C /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49B82636650200C7BD1C /* MediaPlayer.framework */; };
        B9DA49BB2636651E00C7BD1C /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49BA2636651E00C7BD1C /* AudioToolbox.framework */; };
        B9DA49BD2636652500C7BD1C /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49BC2636652500C7BD1C /* VideoToolbox.framework */; };
        B9DA49BF2636652D00C7BD1C /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49BE2636652D00C7BD1C /* OpenGLES.framework */; };
        B9DA49C12636653A00C7BD1C /* MediaAccessibility.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49C02636653A00C7BD1C /* MediaAccessibility.framework */; };
        B9DA49C32636654300C7BD1C /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49C22636654300C7BD1C /* CoreVideo.framework */; };
        B9DA49C52636654A00C7BD1C /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49C42636654A00C7BD1C /* AVFoundation.framework */; };
        B9DA49C72636655100C7BD1C /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49C62636655100C7BD1C /* CoreMedia.framework */; };
        B9DA49C92636657100C7BD1C /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49C82636657100C7BD1C /* libz.tbd */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
        B9DA49CB2636658000C7BD1C /* CopyFiles */ = {
            isa = PBXCopyFilesBuildPhase;
            buildActionMask = 2147483647;
            dstPath = "";
            dstSubfolderSpec = 10;
            files = (
                B92E6B0B264BB16A00D63F4B /* LCOpenSDKDynamic.framework in CopyFiles */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
        B92E6AED264BB0D200D63F4B /* LCOnMonitorViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LCOnMonitorViewController.h; sourceTree = "<group>"; };
        B92E6AEE264BB0D200D63F4B /* LCApiKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LCApiKit.h; sourceTree = "<group>"; };
        B92E6AEF264BB0D200D63F4B /* LCOnIntercomViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LCOnIntercomViewController.h; sourceTree = "<group>"; };
        B92E6AF0264BB0D200D63F4B /* LCCallDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LCCallDelegate.h; sourceTree = "<group>"; };
        B92E6AF2264BB0D200D63F4B /* LCOpenSDKDynamic.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = LCOpenSDKDynamic.framework; sourceTree = "<group>"; };
        B92E6AF3264BB0D200D63F4B /* LCUtlis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LCUtlis.h; sourceTree = "<group>"; };
        B92E6AF4264BB0D200D63F4B /* libLCSDKOnXamarin.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libLCSDKOnXamarin.a; sourceTree = "<group>"; };
        B92E6B01264BB12200D63F4B /* LCOnMonitorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCOnMonitorViewController.h; sourceTree = "<group>"; };
        B92E6B02264BB12200D63F4B /* LCApiKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCApiKit.h; sourceTree = "<group>"; };
        B92E6B03264BB12200D63F4B /* LCOnIntercomViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCOnIntercomViewController.h; sourceTree = "<group>"; };
        B92E6B04264BB12200D63F4B /* LCCallDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCCallDelegate.h; sourceTree = "<group>"; };
        B92E6B06264BB12200D63F4B /* LCOpenSDKDynamic.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = LCOpenSDKDynamic.framework; sourceTree = "<group>"; };
        B92E6B07264BB12200D63F4B /* LCUtlis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCUtlis.h; sourceTree = "<group>"; };
        B92E6B08264BB12200D63F4B /* libLCSDKOnXamarin.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libLCSDKOnXamarin.a; sourceTree = "<group>"; };
        B9DA498A263662B100C7BD1C /* LCOnDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LCOnDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
        B9DA498D263662B100C7BD1C /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
        B9DA498E263662B100C7BD1C /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
        B9DA4990263662B100C7BD1C /* SceneDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SceneDelegate.h; sourceTree = "<group>"; };
        B9DA4991263662B100C7BD1C /* SceneDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SceneDelegate.m; sourceTree = "<group>"; };
        B9DA4993263662B100C7BD1C /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
        B9DA4994263662B100C7BD1C /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
        B9DA4997263662B100C7BD1C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
        B9DA4999263662B300C7BD1C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
        B9DA499C263662B300C7BD1C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
        B9DA499E263662B300C7BD1C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
        B9DA499F263662B300C7BD1C /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
        B9DA49B6263664FA00C7BD1C /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
        B9DA49B82636650200C7BD1C /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; };
        B9DA49BA2636651E00C7BD1C /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
        B9DA49BC2636652500C7BD1C /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = System/Library/Frameworks/VideoToolbox.framework; sourceTree = SDKROOT; };
        B9DA49BE2636652D00C7BD1C /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
        B9DA49C02636653A00C7BD1C /* MediaAccessibility.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaAccessibility.framework; path = System/Library/Frameworks/MediaAccessibility.framework; sourceTree = SDKROOT; };
        B9DA49C22636654300C7BD1C /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
        B9DA49C42636654A00C7BD1C /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
        B9DA49C62636655100C7BD1C /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
        B9DA49C82636657100C7BD1C /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
        B9DA4987263662B100C7BD1C /* Frameworks */ = {
            isa = PBXFrameworksBuildPhase;
            buildActionMask = 2147483647;
            files = (
                B92E6AFE264BB0EC00D63F4B /* libLCSDKOnXamarin.a in Frameworks */,
                B9DA49C92636657100C7BD1C /* libz.tbd in Frameworks */,
                B9DA49C72636655100C7BD1C /* CoreMedia.framework in Frameworks */,
                B92E6B0A264BB12200D63F4B /* libLCSDKOnXamarin.a in Frameworks */,
                B9DA49C52636654A00C7BD1C /* AVFoundation.framework in Frameworks */,
                B9DA49C32636654300C7BD1C /* CoreVideo.framework in Frameworks */,
                B9DA49C12636653A00C7BD1C /* MediaAccessibility.framework in Frameworks */,
                B92E6B09264BB12200D63F4B /* LCOpenSDKDynamic.framework in Frameworks */,
                B9DA49BF2636652D00C7BD1C /* OpenGLES.framework in Frameworks */,
                B9DA49BD2636652500C7BD1C /* VideoToolbox.framework in Frameworks */,
                B9DA49BB2636651E00C7BD1C /* AudioToolbox.framework in Frameworks */,
                B9DA49B92636650300C7BD1C /* MediaPlayer.framework in Frameworks */,
                B9DA49B7263664FA00C7BD1C /* CoreAudio.framework in Frameworks */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
        B92E6AD4264BAF7B00D63F4B /* SDK */ = {
            isa = PBXGroup;
            children = (
                B92E6AFF264BB12200D63F4B /* LCSDKOnXamarin */,
            );
            path = SDK;
            sourceTree = "<group>";
        };
        B92E6AEB264BB0D200D63F4B /* LCSDKOnXamarin */ = {
            isa = PBXGroup;
            children = (
                B92E6AEC264BB0D200D63F4B /* include */,
                B92E6AF4264BB0D200D63F4B /* libLCSDKOnXamarin.a */,
            );
            name = LCSDKOnXamarin;
            path = Depend/LCSDKOnXamarin;
            sourceTree = "<group>";
        };
        B92E6AEC264BB0D200D63F4B /* include */ = {
            isa = PBXGroup;
            children = (
                B92E6AED264BB0D200D63F4B /* LCOnMonitorViewController.h */,
                B92E6AEE264BB0D200D63F4B /* LCApiKit.h */,
                B92E6AEF264BB0D200D63F4B /* LCOnIntercomViewController.h */,
                B92E6AF0264BB0D200D63F4B /* LCCallDelegate.h */,
                B92E6AF1264BB0D200D63F4B /* LCSDKOnXamarin */,
                B92E6AF3264BB0D200D63F4B /* LCUtlis.h */,
            );
            path = include;
            sourceTree = "<group>";
        };
        B92E6AF1264BB0D200D63F4B /* LCSDKOnXamarin */ = {
            isa = PBXGroup;
            children = (
                B92E6AF2264BB0D200D63F4B /* LCOpenSDKDynamic.framework */,
            );
            path = LCSDKOnXamarin;
            sourceTree = "<group>";
        };
        B92E6AFF264BB12200D63F4B /* LCSDKOnXamarin */ = {
            isa = PBXGroup;
            children = (
                B92E6B00264BB12200D63F4B /* include */,
                B92E6B08264BB12200D63F4B /* libLCSDKOnXamarin.a */,
            );
            name = LCSDKOnXamarin;
            path = Depend/LCSDKOnXamarin;
            sourceTree = SOURCE_ROOT;
        };
        B92E6B00264BB12200D63F4B /* include */ = {
            isa = PBXGroup;
            children = (
                B92E6B01264BB12200D63F4B /* LCOnMonitorViewController.h */,
                B92E6B02264BB12200D63F4B /* LCApiKit.h */,
                B92E6B03264BB12200D63F4B /* LCOnIntercomViewController.h */,
                B92E6B04264BB12200D63F4B /* LCCallDelegate.h */,
                B92E6B05264BB12200D63F4B /* LCSDKOnXamarin */,
                B92E6B07264BB12200D63F4B /* LCUtlis.h */,
            );
            path = include;
            sourceTree = "<group>";
        };
        B92E6B05264BB12200D63F4B /* LCSDKOnXamarin */ = {
            isa = PBXGroup;
            children = (
                B92E6B06264BB12200D63F4B /* LCOpenSDKDynamic.framework */,
            );
            path = LCSDKOnXamarin;
            sourceTree = "<group>";
        };
        B9DA4981263662B100C7BD1C = {
            isa = PBXGroup;
            children = (
                B9DA498C263662B100C7BD1C /* LCOnDemo */,
                B9DA498B263662B100C7BD1C /* Products */,
                B9DA49B3263664E400C7BD1C /* Frameworks */,
            );
            sourceTree = "<group>";
        };
        B9DA498B263662B100C7BD1C /* Products */ = {
            isa = PBXGroup;
            children = (
                B9DA498A263662B100C7BD1C /* LCOnDemo.app */,
            );
            name = Products;
            sourceTree = "<group>";
        };
        B9DA498C263662B100C7BD1C /* LCOnDemo */ = {
            isa = PBXGroup;
            children = (
                B92E6AD4264BAF7B00D63F4B /* SDK */,
                B9DA498D263662B100C7BD1C /* AppDelegate.h */,
                B9DA498E263662B100C7BD1C /* AppDelegate.m */,
                B9DA4990263662B100C7BD1C /* SceneDelegate.h */,
                B9DA4991263662B100C7BD1C /* SceneDelegate.m */,
                B9DA4993263662B100C7BD1C /* ViewController.h */,
                B9DA4994263662B100C7BD1C /* ViewController.m */,
                B9DA4996263662B100C7BD1C /* Main.storyboard */,
                B9DA4999263662B300C7BD1C /* Assets.xcassets */,
                B9DA499B263662B300C7BD1C /* LaunchScreen.storyboard */,
                B9DA499E263662B300C7BD1C /* Info.plist */,
                B9DA499F263662B300C7BD1C /* main.m */,
            );
            path = LCOnDemo;
            sourceTree = "<group>";
        };
        B9DA49B3263664E400C7BD1C /* Frameworks */ = {
            isa = PBXGroup;
            children = (
                B92E6AEB264BB0D200D63F4B /* LCSDKOnXamarin */,
                B9DA49C82636657100C7BD1C /* libz.tbd */,
                B9DA49C62636655100C7BD1C /* CoreMedia.framework */,
                B9DA49C42636654A00C7BD1C /* AVFoundation.framework */,
                B9DA49C22636654300C7BD1C /* CoreVideo.framework */,
                B9DA49C02636653A00C7BD1C /* MediaAccessibility.framework */,
                B9DA49BE2636652D00C7BD1C /* OpenGLES.framework */,
                B9DA49BC2636652500C7BD1C /* VideoToolbox.framework */,
                B9DA49BA2636651E00C7BD1C /* AudioToolbox.framework */,
                B9DA49B82636650200C7BD1C /* MediaPlayer.framework */,
                B9DA49B6263664FA00C7BD1C /* CoreAudio.framework */,
            );
            name = Frameworks;
            sourceTree = "<group>";
        };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
        B9DA4989263662B100C7BD1C /* LCOnDemo */ = {
            isa = PBXNativeTarget;
            buildConfigurationList = B9DA49A3263662B300C7BD1C /* Build configuration list for PBXNativeTarget "LCOnDemo" */;
            buildPhases = (
                B9DA4986263662B100C7BD1C /* Sources */,
                B9DA4987263662B100C7BD1C /* Frameworks */,
                B9DA4988263662B100C7BD1C /* Resources */,
                B9DA49CB2636658000C7BD1C /* CopyFiles */,
            );
            buildRules = (
            );
            dependencies = (
            );
            name = LCOnDemo;
            productName = LCOnDemo;
            productReference = B9DA498A263662B100C7BD1C /* LCOnDemo.app */;
            productType = "com.apple.product-type.application";
        };
/* End PBXNativeTarget section */
/* Begin PBXProject section */
        B9DA4982263662B100C7BD1C /* Project object */ = {
            isa = PBXProject;
            attributes = {
                LastUpgradeCheck = 1220;
                TargetAttributes = {
                    B9DA4989263662B100C7BD1C = {
                        CreatedOnToolsVersion = 12.2;
                    };
                };
            };
            buildConfigurationList = B9DA4985263662B100C7BD1C /* Build configuration list for PBXProject "LCOnDemo" */;
            compatibilityVersion = "Xcode 9.3";
            developmentRegion = en;
            hasScannedForEncodings = 0;
            knownRegions = (
                en,
                Base,
            );
            mainGroup = B9DA4981263662B100C7BD1C;
            productRefGroup = B9DA498B263662B100C7BD1C /* Products */;
            projectDirPath = "";
            projectRoot = "";
            targets = (
                B9DA4989263662B100C7BD1C /* LCOnDemo */,
            );
        };
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
        B9DA4988263662B100C7BD1C /* Resources */ = {
            isa = PBXResourcesBuildPhase;
            buildActionMask = 2147483647;
            files = (
                B9DA499D263662B300C7BD1C /* LaunchScreen.storyboard in Resources */,
                B9DA499A263662B300C7BD1C /* Assets.xcassets in Resources */,
                B9DA4998263662B100C7BD1C /* Main.storyboard in Resources */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
        B9DA4986263662B100C7BD1C /* Sources */ = {
            isa = PBXSourcesBuildPhase;
            buildActionMask = 2147483647;
            files = (
                B9DA4995263662B100C7BD1C /* ViewController.m in Sources */,
                B9DA498F263662B100C7BD1C /* AppDelegate.m in Sources */,
                B9DA49A0263662B300C7BD1C /* main.m in Sources */,
                B9DA4992263662B100C7BD1C /* SceneDelegate.m in Sources */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
        B9DA4996263662B100C7BD1C /* Main.storyboard */ = {
            isa = PBXVariantGroup;
            children = (
                B9DA4997263662B100C7BD1C /* Base */,
            );
            name = Main.storyboard;
            sourceTree = "<group>";
        };
        B9DA499B263662B300C7BD1C /* LaunchScreen.storyboard */ = {
            isa = PBXVariantGroup;
            children = (
                B9DA499C263662B300C7BD1C /* Base */,
            );
            name = LaunchScreen.storyboard;
            sourceTree = "<group>";
        };
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
        B9DA49A1263662B300C7BD1C /* Debug */ = {
            isa = XCBuildConfiguration;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                CLANG_ANALYZER_NONNULL = YES;
                CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
                CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
                CLANG_CXX_LIBRARY = "libc++";
                CLANG_ENABLE_MODULES = YES;
                CLANG_ENABLE_OBJC_ARC = YES;
                CLANG_ENABLE_OBJC_WEAK = YES;
                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                CLANG_WARN_BOOL_CONVERSION = YES;
                CLANG_WARN_COMMA = YES;
                CLANG_WARN_CONSTANT_CONVERSION = YES;
                CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
                CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
                CLANG_WARN_EMPTY_BODY = YES;
                CLANG_WARN_ENUM_CONVERSION = YES;
                CLANG_WARN_INFINITE_RECURSION = YES;
                CLANG_WARN_INT_CONVERSION = YES;
                CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
                CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
                CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
                CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
                CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
                CLANG_WARN_STRICT_PROTOTYPES = YES;
                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
                CLANG_WARN_UNREACHABLE_CODE = YES;
                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
                COPY_PHASE_STRIP = NO;
                DEBUG_INFORMATION_FORMAT = dwarf;
                ENABLE_STRICT_OBJC_MSGSEND = YES;
                ENABLE_TESTABILITY = YES;
                GCC_C_LANGUAGE_STANDARD = gnu11;
                GCC_DYNAMIC_NO_PIC = NO;
                GCC_NO_COMMON_BLOCKS = YES;
                GCC_OPTIMIZATION_LEVEL = 0;
                GCC_PREPROCESSOR_DEFINITIONS = (
                    "DEBUG=1",
                    "$(inherited)",
                );
                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
                GCC_WARN_UNDECLARED_SELECTOR = YES;
                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
                GCC_WARN_UNUSED_FUNCTION = YES;
                GCC_WARN_UNUSED_VARIABLE = YES;
                IPHONEOS_DEPLOYMENT_TARGET = 11.0;
                MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
                MTL_FAST_MATH = YES;
                ONLY_ACTIVE_ARCH = YES;
                SDKROOT = iphoneos;
            };
            name = Debug;
        };
        B9DA49A2263662B300C7BD1C /* Release */ = {
            isa = XCBuildConfiguration;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                CLANG_ANALYZER_NONNULL = YES;
                CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
                CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
                CLANG_CXX_LIBRARY = "libc++";
                CLANG_ENABLE_MODULES = YES;
                CLANG_ENABLE_OBJC_ARC = YES;
                CLANG_ENABLE_OBJC_WEAK = YES;
                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                CLANG_WARN_BOOL_CONVERSION = YES;
                CLANG_WARN_COMMA = YES;
                CLANG_WARN_CONSTANT_CONVERSION = YES;
                CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
                CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
                CLANG_WARN_EMPTY_BODY = YES;
                CLANG_WARN_ENUM_CONVERSION = YES;
                CLANG_WARN_INFINITE_RECURSION = YES;
                CLANG_WARN_INT_CONVERSION = YES;
                CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
                CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
                CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
                CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
                CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
                CLANG_WARN_STRICT_PROTOTYPES = YES;
                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
                CLANG_WARN_UNREACHABLE_CODE = YES;
                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
                COPY_PHASE_STRIP = NO;
                DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                ENABLE_NS_ASSERTIONS = NO;
                ENABLE_STRICT_OBJC_MSGSEND = YES;
                GCC_C_LANGUAGE_STANDARD = gnu11;
                GCC_NO_COMMON_BLOCKS = YES;
                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
                GCC_WARN_UNDECLARED_SELECTOR = YES;
                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
                GCC_WARN_UNUSED_FUNCTION = YES;
                GCC_WARN_UNUSED_VARIABLE = YES;
                IPHONEOS_DEPLOYMENT_TARGET = 11.0;
                MTL_ENABLE_DEBUG_INFO = NO;
                MTL_FAST_MATH = YES;
                SDKROOT = iphoneos;
                VALIDATE_PRODUCT = YES;
            };
            name = Release;
        };
        B9DA49A4263662B300C7BD1C /* Debug */ = {
            isa = XCBuildConfiguration;
            buildSettings = {
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
                CODE_SIGN_IDENTITY = "iPhone Developer";
                CODE_SIGN_STYLE = Manual;
                DEVELOPMENT_TEAM = BVTA78PRYA;
                ENABLE_BITCODE = NO;
                FRAMEWORK_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Depend",
                    "$(PROJECT_DIR)/Depend/LCSDKOnXamarin/include/LCSDKOnXamarin",
                );
                HEADER_SEARCH_PATHS = (
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers",
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenSDK",
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenNetSDK",
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenApi",
                );
                INFOPLIST_FILE = LCOnDemo/Info.plist;
                LD_RUNPATH_SEARCH_PATHS = (
                    "$(inherited)",
                    "@executable_path/Frameworks",
                );
                LIBRARY_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Depend/LCSDKOnXamarin",
                );
                PRODUCT_BUNDLE_IDENTIFIER = com.hdl.lcondemo;
                PRODUCT_NAME = "$(TARGET_NAME)";
                PROVISIONING_PROFILE_SPECIFIER = Test;
                TARGETED_DEVICE_FAMILY = "1,2";
            };
            name = Debug;
        };
        B9DA49A5263662B300C7BD1C /* Release */ = {
            isa = XCBuildConfiguration;
            buildSettings = {
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
                CODE_SIGN_IDENTITY = "iPhone Developer";
                CODE_SIGN_STYLE = Manual;
                DEVELOPMENT_TEAM = BVTA78PRYA;
                ENABLE_BITCODE = NO;
                FRAMEWORK_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Depend",
                    "$(PROJECT_DIR)/Depend/LCSDKOnXamarin/include/LCSDKOnXamarin",
                );
                HEADER_SEARCH_PATHS = (
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers",
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenSDK",
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenNetSDK",
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenApi",
                );
                INFOPLIST_FILE = LCOnDemo/Info.plist;
                LD_RUNPATH_SEARCH_PATHS = (
                    "$(inherited)",
                    "@executable_path/Frameworks",
                );
                LIBRARY_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Depend/LCSDKOnXamarin",
                );
                PRODUCT_BUNDLE_IDENTIFIER = com.hdl.lcondemo;
                PRODUCT_NAME = "$(TARGET_NAME)";
                PROVISIONING_PROFILE_SPECIFIER = Test;
                TARGETED_DEVICE_FAMILY = "1,2";
            };
            name = Release;
        };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
        B9DA4985263662B100C7BD1C /* Build configuration list for PBXProject "LCOnDemo" */ = {
            isa = XCConfigurationList;
            buildConfigurations = (
                B9DA49A1263662B300C7BD1C /* Debug */,
                B9DA49A2263662B300C7BD1C /* Release */,
            );
            defaultConfigurationIsVisible = 0;
            defaultConfigurationName = Release;
        };
        B9DA49A3263662B300C7BD1C /* Build configuration list for PBXNativeTarget "LCOnDemo" */ = {
            isa = XCConfigurationList;
            buildConfigurations = (
                B9DA49A4263662B300C7BD1C /* Debug */,
                B9DA49A5263662B300C7BD1C /* Release */,
            );
            defaultConfigurationIsVisible = 0;
            defaultConfigurationName = Release;
        };
/* End XCConfigurationList section */
    };
    rootObject = B9DA4982263662B100C7BD1C /* Project object */;
}
iOS/LCOnDemo/LCOnDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
iOS/LCOnDemo/LCOnDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
iOS/LCOnDemo/LCOnDemo/AppDelegate.h
New file
@@ -0,0 +1,14 @@
//
//  AppDelegate.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/4/26.
//
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@end
iOS/LCOnDemo/LCOnDemo/AppDelegate.m
New file
@@ -0,0 +1,40 @@
//
//  AppDelegate.m
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/4/26.
//
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    return YES;
}
#pragma mark - UISceneSession lifecycle
- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options {
    // Called when a new scene session is being created.
    // Use this method to select a configuration to create the new scene with.
    return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
}
- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions {
    // Called when the user discards a scene session.
    // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
    // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}
@end
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/AccentColor.colorset/Contents.json
New file
@@ -0,0 +1,11 @@
{
  "colors" : [
    {
      "idiom" : "universal"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
New file
@@ -0,0 +1,98 @@
{
  "images" : [
    {
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "20x20"
    },
    {
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "20x20"
    },
    {
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "29x29"
    },
    {
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "29x29"
    },
    {
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "40x40"
    },
    {
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "40x40"
    },
    {
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "60x60"
    },
    {
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "60x60"
    },
    {
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "20x20"
    },
    {
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "20x20"
    },
    {
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "29x29"
    },
    {
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "29x29"
    },
    {
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "40x40"
    },
    {
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "40x40"
    },
    {
      "idiom" : "ipad",
      "scale" : "1x",
      "size" : "76x76"
    },
    {
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "76x76"
    },
    {
      "idiom" : "ipad",
      "scale" : "2x",
      "size" : "83.5x83.5"
    },
    {
      "idiom" : "ios-marketing",
      "scale" : "1x",
      "size" : "1024x1024"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/Contents.json
New file
@@ -0,0 +1,6 @@
{
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_answer.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "ic_esvideo_on_answer.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_answer.imageset/ic_esvideo_on_answer.png

iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_back.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "ic_esvideo_on_back.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_back.imageset/ic_esvideo_on_back.png

iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_hangup.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "ic_esvideo_on_hangup.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_hangup.imageset/ic_esvideo_on_hangup.png

iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_takephoto_select.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "ic_esvideo_on_takephoto_select.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_takephoto_select.imageset/ic_esvideo_on_takephoto_select.png

iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_takephoto_unselect.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "ic_esvideo_on_takephoto_unselect.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_takephoto_unselect.imageset/ic_esvideo_on_takephoto_unselect.png

iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_unlock_select.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "ic_esvideo_on_unlock_select.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_unlock_select.imageset/ic_esvideo_on_unlock_select.png

iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_unlock_unselect.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "ic_esvideo_on_unlock_unselect.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
iOS/LCOnDemo/LCOnDemo/Assets.xcassets/ic_esvideo_on_unlock_unselect.imageset/ic_esvideo_on_unlock_unselect.png

iOS/LCOnDemo/LCOnDemo/Base.lproj/LaunchScreen.storyboard
New file
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="EHf-IW-A2E">
            <objects>
                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
                        <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
                    </view>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="53" y="375"/>
        </scene>
    </scenes>
</document>
iOS/LCOnDemo/LCOnDemo/Base.lproj/Main.storyboard
New file
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17506" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="SX2-Zf-foU">
    <device id="retina6_1" orientation="portrait" appearance="light"/>
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17505"/>
        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
        <capability name="System colors in document resources" minToolsVersion="11.0"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="tne-QT-ifu">
            <objects>
                <viewController id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController">
                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
                        <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8VI-lw-LNY">
                                <rect key="frame" x="20" y="208" width="374" height="40"/>
                                <color key="backgroundColor" systemColor="systemGray6Color"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="40" id="6bM-cQ-oQc"/>
                                </constraints>
                                <color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                <state key="normal" title="监控"/>
                                <connections>
                                    <action selector="monitoringAction:" destination="BYZ-38-t0r" eventType="touchUpInside" id="U5a-jt-bRf"/>
                                </connections>
                            </button>
                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Kt-mO-sHt">
                                <rect key="frame" x="20" y="268" width="374" height="40"/>
                                <color key="backgroundColor" systemColor="systemGray6Color"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="40" id="On0-IA-SvE"/>
                                </constraints>
                                <color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                <state key="normal" title="来电接听"/>
                                <connections>
                                    <action selector="callAction:" destination="BYZ-38-t0r" eventType="touchUpInside" id="hXs-Ig-Hki"/>
                                </connections>
                            </button>
                        </subviews>
                        <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                        <constraints>
                            <constraint firstItem="8VI-lw-LNY" firstAttribute="top" secondItem="6Tk-OE-BBY" secondAttribute="top" constant="120" id="Euq-N7-gZh"/>
                            <constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="8VI-lw-LNY" secondAttribute="trailing" constant="20" id="RXL-nO-aJL"/>
                            <constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="5Kt-mO-sHt" secondAttribute="trailing" constant="20" id="VbG-6M-zFH"/>
                            <constraint firstItem="8VI-lw-LNY" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="20" id="aAb-vF-2SJ"/>
                            <constraint firstItem="5Kt-mO-sHt" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="20" id="iaH-bQ-qXm"/>
                            <constraint firstItem="5Kt-mO-sHt" firstAttribute="top" secondItem="8VI-lw-LNY" secondAttribute="bottom" constant="20" id="p6G-hd-t2E"/>
                        </constraints>
                    </view>
                    <navigationItem key="navigationItem" id="Chs-AB-cQc"/>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="624.63768115942037" y="-579.24107142857144"/>
        </scene>
        <!--Navigation Controller-->
        <scene sceneID="GDi-Qv-mGU">
            <objects>
                <navigationController id="SX2-Zf-foU" sceneMemberID="viewController">
                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="fbS-Cs-968">
                        <rect key="frame" x="0.0" y="44" width="414" height="44"/>
                        <autoresizingMask key="autoresizingMask"/>
                    </navigationBar>
                    <connections>
                        <segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="3Ah-wC-3nM"/>
                    </connections>
                </navigationController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="hzp-9g-czL" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="-223" y="-579"/>
        </scene>
    </scenes>
    <resources>
        <systemColor name="systemBackgroundColor">
            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
        </systemColor>
        <systemColor name="systemGray6Color">
            <color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
        </systemColor>
    </resources>
</document>
iOS/LCOnDemo/LCOnDemo/Info.plist
New file
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UIApplicationSceneManifest</key>
    <dict>
        <key>UIApplicationSupportsMultipleScenes</key>
        <false/>
        <key>UISceneConfigurations</key>
        <dict>
            <key>UIWindowSceneSessionRoleApplication</key>
            <array>
                <dict>
                    <key>UISceneConfigurationName</key>
                    <string>Default Configuration</string>
                    <key>UISceneDelegateClassName</key>
                    <string>SceneDelegate</string>
                    <key>UISceneStoryboardFile</key>
                    <string>Main</string>
                </dict>
            </array>
        </dict>
    </dict>
    <key>UIApplicationSupportsIndirectInputEvents</key>
    <true/>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIMainStoryboardFile</key>
    <string>Main</string>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>armv7</string>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>NSCameraUsageDescription</key>
    <string>Camera Use</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>Microphone Use</string>
    <key>NSPhotoLibraryAddUsageDescription</key>
    <string>Photo Library Use</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>Photo Library Use</string>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
</dict>
</plist>
iOS/LCOnDemo/LCOnDemo/SceneDelegate.h
New file
@@ -0,0 +1,15 @@
//
//  SceneDelegate.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/4/26.
//
#import <UIKit/UIKit.h>
@interface SceneDelegate : UIResponder <UIWindowSceneDelegate>
@property (strong, nonatomic) UIWindow * window;
@end
iOS/LCOnDemo/LCOnDemo/SceneDelegate.m
New file
@@ -0,0 +1,57 @@
//
//  SceneDelegate.m
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/4/26.
//
#import "SceneDelegate.h"
@interface SceneDelegate ()
@end
@implementation SceneDelegate
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
    // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
    // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
    // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
}
- (void)sceneDidDisconnect:(UIScene *)scene {
    // Called as the scene is being released by the system.
    // This occurs shortly after the scene enters the background, or when its session is discarded.
    // Release any resources associated with this scene that can be re-created the next time the scene connects.
    // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
}
- (void)sceneDidBecomeActive:(UIScene *)scene {
    // Called when the scene has moved from an inactive state to an active state.
    // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
}
- (void)sceneWillResignActive:(UIScene *)scene {
    // Called when the scene will move from an active state to an inactive state.
    // This may occur due to temporary interruptions (ex. an incoming phone call).
}
- (void)sceneWillEnterForeground:(UIScene *)scene {
    // Called as the scene transitions from the background to the foreground.
    // Use this method to undo the changes made on entering the background.
}
- (void)sceneDidEnterBackground:(UIScene *)scene {
    // Called as the scene transitions from the foreground to the background.
    // Use this method to save data, release shared resources, and store enough scene-specific state information
    // to restore the scene back to its current state.
}
@end
iOS/LCOnDemo/LCOnDemo/ViewController.h
New file
@@ -0,0 +1,14 @@
//
//  ViewController.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/4/26.
//
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@end
iOS/LCOnDemo/LCOnDemo/ViewController.m
New file
@@ -0,0 +1,82 @@
//
//  ViewController.m
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/4/26.
//
#import "ViewController.h"
#import "LCOnIntercomViewController.h"
#import "LCOnMonitorViewController.h"
#import "LCUtlis.h"
#import "LCCallDelegate.h"
#import "LCApiKit.h"
@interface ViewController ()<LCCallDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    //初始化LCOpenSDK_Api
    [[LCApiKit sharedInstance] initSDKOpenApi:@"St_00003e12612fa94244d9a690564cd04b"];
    [[LCApiKit sharedInstance] setCurrentDevicePlayToken:@"kjcIZVPXrxmGRvHDeFfuIlCO/PHeAiPok6s0OhwLZZ0EsjA9ocumo1JFkvyJBTnnG/j0/aMmpwav9Qbg/qceXMI4DiLbcYqff6q9Sn+Afoyo6mIjOnV+Ft83RhvPDneP2b3Uv+qGK4x+ttq3kuAgTwZA+x80ZoDsUz8na8m+++lwC7QRQ0AXhgN4kc9BaOn0jCuuSPgX4hx0O+5rjtIdGv0UL7KYNmkeKQCCUOlbjg4cjI1UnKlWAh5NXXxmKZkS2Y8t2cGRnkxXL+UkZ95QgPk+Luh/GhOgA4AzPwcitXe3WE43uUAikwgY5sytAVMvDz69Eis1a/ZSoR+UXY0J7BTKP5hoOvKphFmMQr+zi8qY/2WGqKWFx+wFplxe7E73lILyNqxO2klqMAv81IeL+6A6PqdGUC0uyaRIBOmW4K2Rd2G6WcMqs+3SRfNSJcU2/MniRpgYUURNhaZF6erPsZ69jG2FS0XYVrDPvHMDoRkjElDHYdky1psgMUb4faQaQwgdKz6IydqqTr8QA8go1rjx4ub2B6vupuBG01fa2CDTgTZj4iiGVPOAtSmbyNxGKTaH6KhleWJ3s/d9mHgbPp/Y884KLTGgJ/sqvg/D1w8SiN1V5dcNc2jgXBT3Uc90vF2ryxMRMak0g+CIgkfB6t8VUrDalWlp9NTxRF2k8xyiq4RoqjK9dyzPOsZfs/KuA6Jok02EkTDjEXGknD8fDvSz6syYqhCrs97M+aaFZDNe2DmFsO+mRkPWX2wcLGq475k19Tox4gYRYLDE6TqvCY/VmvAY2C0h68sh9oEK5z8zg/D+fLiNS+rZZI7Hqs6XOsd88feZygpEs0ny8WdkQSqlqQTEetI+5kGRtZgsdhhvJ7/cEioI8eIHkdDkWmQxMgNfMwuDdn6Rq6zWho85v7T/xAzVhH5l535yZ3tloEKBo3dEoPc6wXHfwhTbw80JINLwn4LKxkeUkdDlMjQp5Z+CDx1fsiR6RYNlNZ288kqdvlo3hhrwQZ6vIQ/8nmAax54+tJiJ4kxCmBYn7AUA12Wj1/bdS/6uCTsyBVtxexYyOefZlPz3AklMjCEDhEIYAuGSnkqBgBfXJV9PnzLIPwp6e4QmKl9M3a4ZpZ8Fxkc="];
    [[LCApiKit sharedInstance] setCurrentDeviceId:@"6K056CFAAJ8FFA1"];
    [[LCApiKit sharedInstance] setCurrentDeviceName:@"大华可视对讲"];
    [[LCApiKit sharedInstance] setCurrentPsk:@"6K056CFAAJ8FFA1"];
}
///监控
- (IBAction)monitoringAction:(id)sender {
    LCOnMonitorViewController *mVc = [[LCOnMonitorViewController alloc] init];
    [self.navigationController.navigationBar setHidden: YES];
    [self.navigationController pushViewController:mVc animated:YES];
}
///来电接听
- (IBAction)callAction:(id)sender {
    LCOnIntercomViewController *mVc = [[LCOnIntercomViewController alloc] init];
    mVc.mLCCallDelegate = self;
    [self.navigationController.navigationBar setHidden: YES];
    [self.navigationController pushViewController:mVc animated:YES];
}
- (void)onAnswerAction {
}
- (void)onHangUpAction:(int)callDuration {
}
- (void)onRejectCallAction {
}
- (void)onScreenshotSuccessfulAction:(nonnull UIImage *)image {
}
- (void)onUnlockAction {
    NSLog(@"onUnlockAction:准备开锁");
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        NSLog(@"onUnlockAction:通知开锁成功");
        [[NSNotificationCenter defaultCenter] postNotificationName:LCCallDelegateOpenDoorSuccess
                                                            object:self];
    });
}
@end
iOS/LCOnDemo/LCOnDemo/main.m
New file
@@ -0,0 +1,18 @@
//
//  main.m
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/4/26.
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
    NSString * appDelegateClassName;
    @autoreleasepool {
        // Setup code that might create autoreleased objects goes here.
        appDelegateClassName = NSStringFromClass([AppDelegate class]);
    }
    return UIApplicationMain(argc, argv, nil, appDelegateClassName);
}
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin.xcodeproj/project.pbxproj
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin.xcodeproj/xcshareddata/xcschemes/ESVideoOnXamarin.xcscheme
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESCallDelegate.m
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnIntercomViewController.h
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnIntercomViewController.m
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnMonitorViewController.h
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnMonitorViewController.m
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESVideo.h
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESVideo.m
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCApiKit.m
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCKit.h
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCOnIntercomViewController.m
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCOnMonitorViewController.h
File was deleted
iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/LCSDK/LCOnMonitorViewController.m
File was deleted
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/ESVideoPhoneSDk
Binary files differ
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/Headers/ESError.h
File was deleted
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/Headers/ESVideoPhone.h
File was deleted
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/Info.plist
Binary files differ
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeDirectory
Binary files differ
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeRequirements
Binary files differ
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeRequirements-1
Binary files differ
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeResources
File was deleted
iOS/Xamarin/ESVideoOnXamarin/Extern/ESVideoPhoneSDk.framework/_CodeSignature/CodeSignature
Binary files differ
iOS/Xamarin/ESVideoOnXamarin/Extern/LCOpenSDKDynamic.framework/Modules/module.modulemap
File was deleted
iOS/Xamarin/ESVideoOnXamarin/README.md
File was deleted
iOS/Xamarin/LCOnDemo/LCOnDemo.xcodeproj/project.pbxproj
@@ -7,6 +7,7 @@
    objects = {
/* Begin PBXBuildFile section */
        B92E6AC5264B710800D63F4B /* LCCallDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B92E6AC4264B710800D63F4B /* LCCallDelegate.m */; };
        B9DA498F263662B100C7BD1C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B9DA498E263662B100C7BD1C /* AppDelegate.m */; };
        B9DA4992263662B100C7BD1C /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B9DA4991263662B100C7BD1C /* SceneDelegate.m */; };
        B9DA4995263662B100C7BD1C /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B9DA4994263662B100C7BD1C /* ViewController.m */; };
@@ -29,7 +30,6 @@
        B9DA49C72636655100C7BD1C /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49C62636655100C7BD1C /* CoreMedia.framework */; };
        B9DA49C92636657100C7BD1C /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B9DA49C82636657100C7BD1C /* libz.tbd */; };
        B9DA49CC2636658D00C7BD1C /* LCOpenSDKDynamic.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B9DA49B4263664E400C7BD1C /* LCOpenSDKDynamic.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
        B9DA49CF26366A2500C7BD1C /* ESCallDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B9DA49CD26366A2500C7BD1C /* ESCallDelegate.m */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -46,6 +46,9 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
        B92E6AC3264B710800D63F4B /* LCCallDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LCCallDelegate.h; sourceTree = "<group>"; };
        B92E6AC4264B710800D63F4B /* LCCallDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LCCallDelegate.m; sourceTree = "<group>"; };
        B92E6ACD264BA81D00D63F4B /* LCUtlis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LCUtlis.h; sourceTree = "<group>"; };
        B9DA498A263662B100C7BD1C /* LCOnDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LCOnDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
        B9DA498D263662B100C7BD1C /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
        B9DA498E263662B100C7BD1C /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -63,7 +66,6 @@
        B9DA49AA2636631E00C7BD1C /* LCOnIntercomViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCOnIntercomViewController.h; sourceTree = "<group>"; };
        B9DA49AB2636631E00C7BD1C /* LCOnMonitorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LCOnMonitorViewController.m; sourceTree = "<group>"; };
        B9DA49AC2636631E00C7BD1C /* LCApiKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LCApiKit.m; sourceTree = "<group>"; };
        B9DA49AD2636631E00C7BD1C /* LCKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCKit.h; sourceTree = "<group>"; };
        B9DA49AE2636631E00C7BD1C /* LCOnIntercomViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LCOnIntercomViewController.m; sourceTree = "<group>"; };
        B9DA49B4263664E400C7BD1C /* LCOpenSDKDynamic.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LCOpenSDKDynamic.framework; path = Depend/LCOpenSDKDynamic.framework; sourceTree = "<group>"; };
        B9DA49B6263664FA00C7BD1C /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
@@ -76,8 +78,6 @@
        B9DA49C42636654A00C7BD1C /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
        B9DA49C62636655100C7BD1C /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
        B9DA49C82636657100C7BD1C /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
        B9DA49CD26366A2500C7BD1C /* ESCallDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ESCallDelegate.m; sourceTree = "<group>"; };
        B9DA49CE26366A2500C7BD1C /* ESCallDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ESCallDelegate.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -141,15 +141,15 @@
        B9DA49A72636631E00C7BD1C /* LCSDK */ = {
            isa = PBXGroup;
            children = (
                B9DA49CE26366A2500C7BD1C /* ESCallDelegate.h */,
                B9DA49CD26366A2500C7BD1C /* ESCallDelegate.m */,
                B92E6AC3264B710800D63F4B /* LCCallDelegate.h */,
                B92E6AC4264B710800D63F4B /* LCCallDelegate.m */,
                B9DA49A82636631E00C7BD1C /* LCOnMonitorViewController.h */,
                B9DA49AB2636631E00C7BD1C /* LCOnMonitorViewController.m */,
                B9DA49AA2636631E00C7BD1C /* LCOnIntercomViewController.h */,
                B9DA49AE2636631E00C7BD1C /* LCOnIntercomViewController.m */,
                B9DA49A92636631E00C7BD1C /* LCApiKit.h */,
                B9DA49AC2636631E00C7BD1C /* LCApiKit.m */,
                B9DA49AD2636631E00C7BD1C /* LCKit.h */,
                B92E6ACD264BA81D00D63F4B /* LCUtlis.h */,
            );
            path = LCSDK;
            sourceTree = "<group>";
@@ -244,10 +244,10 @@
            files = (
                B9DA4995263662B100C7BD1C /* ViewController.m in Sources */,
                B9DA498F263662B100C7BD1C /* AppDelegate.m in Sources */,
                B9DA49CF26366A2500C7BD1C /* ESCallDelegate.m in Sources */,
                B9DA49AF2636631E00C7BD1C /* LCOnMonitorViewController.m in Sources */,
                B9DA49A0263662B300C7BD1C /* main.m in Sources */,
                B9DA49B12636631E00C7BD1C /* LCOnIntercomViewController.m in Sources */,
                B92E6AC5264B710800D63F4B /* LCCallDelegate.m in Sources */,
                B9DA49B02636631E00C7BD1C /* LCApiKit.m in Sources */,
                B9DA4992263662B100C7BD1C /* SceneDelegate.m in Sources */,
            );
@@ -326,7 +326,7 @@
                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
                GCC_WARN_UNUSED_FUNCTION = YES;
                GCC_WARN_UNUSED_VARIABLE = YES;
                IPHONEOS_DEPLOYMENT_TARGET = 14.2;
                IPHONEOS_DEPLOYMENT_TARGET = 11.0;
                MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
                MTL_FAST_MATH = YES;
                ONLY_ACTIVE_ARCH = YES;
@@ -379,7 +379,7 @@
                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
                GCC_WARN_UNUSED_FUNCTION = YES;
                GCC_WARN_UNUSED_VARIABLE = YES;
                IPHONEOS_DEPLOYMENT_TARGET = 14.2;
                IPHONEOS_DEPLOYMENT_TARGET = 11.0;
                MTL_ENABLE_DEBUG_INFO = NO;
                MTL_FAST_MATH = YES;
                SDKROOT = iphoneos;
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/ESCallDelegate.h
File was deleted
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/ESCallDelegate.m
File was deleted
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCApiKit.h
@@ -6,9 +6,10 @@
//
#import <Foundation/Foundation.h>
#import "LCKit.h"
NS_ASSUME_NONNULL_BEGIN
@interface LCApiKit : NSObject
/**
@@ -42,6 +43,21 @@
- (void)initSDKOpenApi:(NSString *)lcToken;
///// 拼接错误信息
//- (NSString *) getErrorMesWithCode:(NSString *)message code:(int)code;
/// 接口
///**
// *  @since
// *  开锁接口
// *
// *  @param deviceId 设备序列号
// *  @param completion   回调block,error为空时表示添加成功
// *
// */
//- (void)openDoorbell:(NSString *)deviceId completion:(void (^)(ResponseData *responseData))completion;
@end
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCApiKit.m
@@ -6,6 +6,7 @@
//
#import "LCApiKit.h"
#import <LCOpenSDKDynamic/LCOpenSDKDynamic.h>
#define DEFAULTHOSTAPICHN @"https://openapi.lechange.cn:443" //中国大陆(正式)
#define DEFAULTHOSTAPIOVS @"https://openapi.easy4ip.com:443" //海外(正式)
@@ -77,9 +78,9 @@
    NSLog(@"initSDKOpenApi: %@,@%ld", [self LCSDKHost], [self LCSDKPort]);
}
/// 拼接错误信息
- (NSString *) getErrorMesWithCode:(NSString *)message code:(int)code
{
    return [NSString stringWithFormat:@"%@(%d)",message, code];
}
///// 拼接错误信息
//- (NSString *) getErrorMesWithCode:(NSString *)message code:(int)code
//{
//    return [NSString stringWithFormat:@"%@(%d)",message, code];
//}
@end
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCCallDelegate.h
copy from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESCallDelegate.h copy to iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCCallDelegate.h
File was copied from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESCallDelegate.h
@@ -1,9 +1,8 @@
//
//  ESCallDelegate.h
//  ESVideoPhoneSDKDemo
//  LCCallDelegate.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/3/25.
//  Copyright © 2021 eTouchSky. All rights reserved.
//  Created by 陈嘉乐 on 2021/5/12.
//
#import <Foundation/Foundation.h>
@@ -11,7 +10,10 @@
NS_ASSUME_NONNULL_BEGIN
@protocol ESCallDelegate <NSObject>
//开锁成功通知
extern NSString *const LCCallDelegateOpenDoorSuccess;
@protocol LCCallDelegate <NSObject>
//接听回调
-(void)onAnswerAction;
@@ -19,7 +21,7 @@
//拒接来电回调
-(void)onRejectCallAction;
//开始成功回调
//开锁回调
-(void)onUnlockAction;
//挂断(通话结束)
@@ -30,7 +32,7 @@
@end
@interface ESCallDelegate : NSObject
@interface LCCallDelegate : NSObject
@end
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCCallDelegate.m
New file
@@ -0,0 +1,14 @@
//
//  LCCallDelegate.m
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/5/12.
//
#import "LCCallDelegate.h"
NSString *const LCCallDelegateOpenDoorSuccess = @"lcCallDelegateOpenDoorSuccess";
@implementation LCCallDelegate
@end
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCKit.h
File was deleted
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCOnIntercomViewController.h
@@ -6,17 +6,17 @@
//
#import <UIKit/UIKit.h>
#import "ESCallDelegate.h"
#import "LCCallDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface LCOnIntercomViewController : UIViewController
#pragma mark ESCallDelegate
#pragma mark LCCallDelegate
/**
 丰林事件代理
 事件代理
 */
@property (nonatomic, weak) id<ESCallDelegate> mESCallDelegate;
@property (nonatomic, weak) id<LCCallDelegate> mLCCallDelegate;
#pragma mark 对外接口方法
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCOnIntercomViewController.m
@@ -9,7 +9,9 @@
#import <AVFoundation/AVFoundation.h>
#import <Photos/Photos.h>
#import <AudioToolbox/AudioToolbox.h>
#import "LCKit.h"
#import "LCUtlis.h"
#import "LCApiKit.h"
#import <LCOpenSDKDynamic/LCOpenSDKDynamic.h>
@interface LCOnIntercomViewController ()<LCOpenSDK_EventListener, LCOpenSDK_TalkerListener>
@@ -90,8 +92,11 @@
    //开始反呼
    [self StartReverseCall];
    [self ShowCalltimeBtn:callingStr];
    //暂时不支持开锁功能
    [self setUnlock:NO];
//    //暂时不支持开锁功能
//    [self setUnlock:NO];
    //注册开锁成功监听
    [self addOpenSuccessAction];
    // Do any additional setup after loading the view.
}
@@ -282,11 +287,10 @@
-(void)unlockAction{
    [_unlockImgBtn setImage:[UIImage imageNamed:@"ic_esvideo_on_unlock_unselect"] forState:UIControlStateNormal];
    //    //开锁
    //    if(_es){
    //        [_es openTheDoorWithRoomid:_mESRoomID];
    //    }
    //开锁
    if(self.mLCCallDelegate != NULL){
       [self.mLCCallDelegate onUnlockAction];
    }
}
#pragma 挂断和开锁
@@ -305,13 +309,13 @@
//挂断按钮事件
-(void)hangUpAction{
    //1.回调事件
    if(self.mESCallDelegate != NULL){
    if(self.mLCCallDelegate != NULL){
        if(isAnswer){
            //如果之前已经接听了,回调是挂断
            [self.mESCallDelegate onHangUpAction:_callTimeout];
            [self.mLCCallDelegate onHangUpAction:_callTimeout];
        }else{
            //如果之前没接听了,回调是拒接
            [self.mESCallDelegate onRejectCallAction];
            [self.mLCCallDelegate onRejectCallAction];
        }
    }
    //2.页面关闭
@@ -350,7 +354,7 @@
    [self stopPlaySystemSound];
    /// 开启对讲
    [self startTalk];
    _answerImgBtn.hidden = YES;
    _answerTextBtn.hidden = YES;
    
@@ -364,8 +368,8 @@
    [self startCountdown];
    isAnswer = YES;
    
    if(self.mESCallDelegate != NULL){
        [self.mESCallDelegate onAnswerAction];
    if(self.mLCCallDelegate != NULL){
        [self.mLCCallDelegate onAnswerAction];
    }
    
}
@@ -503,10 +507,7 @@
    _openDoorTimeout = 0;
    [self startOpenDoorCountdown];
    [self showUIAlertView:unlockSuccessfullyStr];
    // 开锁成功回调
    if(self.mESCallDelegate != NULL){
        [self.mESCallDelegate onUnlockAction];
    }
}
-(void)setUnlock:(BOOL)ISEnable{
@@ -653,7 +654,7 @@
- (void)startTalk {
    if (!isAnswer) {
        //对讲开启
//        [self.playWindow stopAudio];
        //        [self.playWindow stopAudio];
        
        if(self.talker == NULL) return;
        
@@ -726,13 +727,13 @@
        if (type == 0) {
            
            if ([RTSP_Result_String(STATE_RTSP_DESCRIBE_READY) isEqualToString:code]) {
//                dispatch_async(dispatch_get_main_queue(), ^{
//                });
                //                dispatch_async(dispatch_get_main_queue(), ^{
                //                });
                return;
            }
            if ([RTSP_Result_String(STATE_RTSP_PLAY_READY) isEqualToString:code]) {
//                dispatch_async(dispatch_get_main_queue(), ^{
//                });
                //                dispatch_async(dispatch_get_main_queue(), ^{
                //                });
                return;
            }
            //提示失败
@@ -764,31 +765,31 @@
    dispatch_async(dispatch_get_main_queue(), ^{
        NSLog(@"开启对讲回调error = %@, type = %ld", error, (long)type);
        WEAKSELF_AT(self);
//        [LCProgressHUD hideAllHuds:nil];
//        if (99 == type) {   //网络请求失败
////            dispatch_async(dispatch_get_main_queue(), ^{
////                weakself.videoManager.isOpenAudioTalk = NO;
////                [LCProgressHUD showMsg:@"play_module_video_preview_talk_failed".lc_T];
////            });
//            return;
//        }
//        if (nil != error && [RTSP_Result_String(STATE_RTSP_DESCRIBE_READY) isEqualToString:error]) {
//            dispatch_async(dispatch_get_main_queue(), ^{
//            });
//            return;
//        }
//        if (nil != error && [RTSP_Result_String(STATE_RTSP_PLAY_READY) isEqualToString:error]) {
//            dispatch_async(dispatch_get_main_queue(), ^{
//                //对讲连接成功建立
//                self.videoManager.isOpenAudioTalk = YES;
//                [LCProgressHUD showMsg:@"device_mid_open_talk_success".lc_T];
//            });
//            return;
//        }
//        dispatch_async(dispatch_get_main_queue(), ^{
//            [LCProgressHUD showMsg:@"play_module_video_preview_talk_failed".lc_T];
//            weakself.videoManager.isOpenAudioTalk = NO;
//        });
        //        [LCProgressHUD hideAllHuds:nil];
        //        if (99 == type) {   //网络请求失败
        ////            dispatch_async(dispatch_get_main_queue(), ^{
        ////                weakself.videoManager.isOpenAudioTalk = NO;
        ////                [LCProgressHUD showMsg:@"play_module_video_preview_talk_failed".lc_T];
        ////            });
        //            return;
        //        }
        //        if (nil != error && [RTSP_Result_String(STATE_RTSP_DESCRIBE_READY) isEqualToString:error]) {
        //            dispatch_async(dispatch_get_main_queue(), ^{
        //            });
        //            return;
        //        }
        //        if (nil != error && [RTSP_Result_String(STATE_RTSP_PLAY_READY) isEqualToString:error]) {
        //            dispatch_async(dispatch_get_main_queue(), ^{
        //                //对讲连接成功建立
        //                self.videoManager.isOpenAudioTalk = YES;
        //                [LCProgressHUD showMsg:@"device_mid_open_talk_success".lc_T];
        //            });
        //            return;
        //        }
        //        dispatch_async(dispatch_get_main_queue(), ^{
        //            [LCProgressHUD showMsg:@"play_module_video_preview_talk_failed".lc_T];
        //            weakself.videoManager.isOpenAudioTalk = NO;
        //        });
    });
}
@@ -1025,8 +1026,8 @@
    if (!error) {
        message = saveToTheAlbumsStr;
        // 截图成功回调
        if(self.mESCallDelegate != NULL){
            [self.mESCallDelegate onScreenshotSuccessfulAction:image];
        if(self.mLCCallDelegate != NULL){
            [self.mLCCallDelegate onScreenshotSuccessfulAction:image];
        }
    }
    else
@@ -1079,7 +1080,7 @@
//开始播放的时候调用
-(void)startPlaySystemSound{
    
//    return;
    //    return;
    //    //震动的提示文件名放到资源目录下
    //    NSString *path = [[NSBundle mainBundle] pathForResource:@"ring" ofType:@"wav"];
    //    AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path], &sound);
@@ -1092,7 +1093,7 @@
//手动停止播放的时候调用
- (void)stopPlaySystemSound{
//    return;
    //    return;
    NSLog(@"stop PlaySystemSound");
    stopRingAndVibration();
}
@@ -1119,8 +1120,25 @@
//}
///
- (void)addOpenSuccessAction {
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:LCCallDelegateOpenDoorSuccess
                                                  object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(setOpenDoorSuccess)
                                                 name:LCCallDelegateOpenDoorSuccess
                                               object:nil];
}
- (void)removeOpenSuccessAction {
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:LCCallDelegateOpenDoorSuccess
                                                  object:nil];
}
@end
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCOnMonitorViewController.h
@@ -6,11 +6,20 @@
//
#import <UIKit/UIKit.h>
#import "LCCallDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface LCOnMonitorViewController : UIViewController
#pragma mark LCCallDelegate
/**
 事件代理
 */
@property (nonatomic, weak) id<LCCallDelegate> mLCCallDelegate;
#pragma mark 对外接口方法
@end
NS_ASSUME_NONNULL_END
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCOnMonitorViewController.m
@@ -8,9 +8,9 @@
#import "LCOnMonitorViewController.h"
#import <AVFoundation/AVFoundation.h>
#import <Photos/Photos.h>
#import "LCKit.h"
#import "LCUtlis.h"
#import "LCApiKit.h"
#import <LCOpenSDKDynamic/LCOpenSDKDynamic.h>
@interface LCOnMonitorViewController ()<LCOpenSDK_EventListener>
@@ -76,8 +76,10 @@
    [self initESVideo];
    [self StartMonitoring];
    
    //暂时不支持开锁功能
    [self setUnlock:NO];
//    //暂时不支持开锁功能
//    [self setUnlock:NO];
    //注册开锁成功监听
    [self addOpenSuccessAction];
    // Do any additional setup after loading the view.
}
@@ -277,9 +279,9 @@
    [_unlockImgBtn setImage:[UIImage imageNamed:@"ic_esvideo_on_unlock_unselect"] forState:UIControlStateNormal];
    [_unlockTextBtn setTitleColor:TextColor forState:UIControlStateNormal];
    //开锁
    //    if(_es){
    //        [_es openTheDoorWithRoomid:_mESRoomID];
    //    }
    if(self.mLCCallDelegate != NULL){
        [self.mLCCallDelegate onUnlockAction];
    }
}
- (UIButton *)unlockTextBtn{
@@ -479,13 +481,13 @@
        if (type == 0) {
            
            if ([RTSP_Result_String(STATE_RTSP_DESCRIBE_READY) isEqualToString:code]) {
//                dispatch_async(dispatch_get_main_queue(), ^{
//                });
                //                dispatch_async(dispatch_get_main_queue(), ^{
                //                });
                return;
            }
            if ([RTSP_Result_String(STATE_RTSP_PLAY_READY) isEqualToString:code]) {
//                dispatch_async(dispatch_get_main_queue(), ^{
//                });
                //                dispatch_async(dispatch_get_main_queue(), ^{
                //                });
                return;
            }
            //提示失败
@@ -1069,6 +1071,18 @@
    
}
- (void)addOpenSuccessAction {
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:LCCallDelegateOpenDoorSuccess
                                                  object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(setOpenDoorSuccess)
                                                 name:LCCallDelegateOpenDoorSuccess
                                               object:nil];
}
@end
iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCUtlis.h
copy from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnUtlis.h copy to iOS/Xamarin/LCOnDemo/LCOnDemo/LCSDK/LCUtlis.h
File was copied from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnUtlis.h
@@ -1,12 +1,11 @@
//
//  ESOnUtlis.h
//  ESVideoPhoneSDKDemo
//  LCUtlis.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/3/11.
//  Copyright © 2021 eTouchSky. All rights reserved.
//  Created by 陈嘉乐 on 2021/5/12.
//
#import <Foundation/Foundation.h>
#define TP_SYSTEM_VERSION ([[[UIDevice currentDevice] systemVersion] floatValue])
//#define IOS6 ([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0)
@@ -54,11 +53,11 @@
#define WEAKSELF_AT __weak __typeof(&*self)weakSelf_AT = self;
#define HEXCOLORA(rgbValue, a) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0 blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:a]
#import <Foundation/Foundation.h>
#define RTSP_Result_String(enum) [@[ @"0", @"1", @"2", @"3", @"4", @"5", @"6", @"7", @"99", @"100" ] objectAtIndex:enum]
NS_ASSUME_NONNULL_BEGIN
@interface ESOnUtlis : NSObject
@interface LCUtlis : NSObject
@end
iOS/Xamarin/LCOnDemo/LCOnDemo/ViewController.m
@@ -8,9 +8,11 @@
#import "ViewController.h"
#import "LCOnIntercomViewController.h"
#import "LCOnMonitorViewController.h"
#import "LCKit.h"
#import "LCUtlis.h"
#import "LCCallDelegate.h"
#import "LCApiKit.h"
@interface ViewController ()
@interface ViewController ()<LCCallDelegate>
@end
@@ -21,7 +23,7 @@
    // Do any additional setup after loading the view.
    
    //初始化LCOpenSDK_Api
    [[LCApiKit sharedInstance] initSDKOpenApi:@"St_00008beee10488c34ec494bc1732e1d8"];
    [[LCApiKit sharedInstance] initSDKOpenApi:@"St_00003e12612fa94244d9a690564cd04b"];
    [[LCApiKit sharedInstance] setCurrentDevicePlayToken:@"kjcIZVPXrxmGRvHDeFfuIlCO/PHeAiPok6s0OhwLZZ0EsjA9ocumo1JFkvyJBTnnG/j0/aMmpwav9Qbg/qceXMI4DiLbcYqff6q9Sn+Afoyo6mIjOnV+Ft83RhvPDneP2b3Uv+qGK4x+ttq3kuAgTwZA+x80ZoDsUz8na8m+++lwC7QRQ0AXhgN4kc9BaOn0jCuuSPgX4hx0O+5rjtIdGv0UL7KYNmkeKQCCUOlbjg4cjI1UnKlWAh5NXXxmKZkS2Y8t2cGRnkxXL+UkZ95QgPk+Luh/GhOgA4AzPwcitXe3WE43uUAikwgY5sytAVMvDz69Eis1a/ZSoR+UXY0J7BTKP5hoOvKphFmMQr+zi8qY/2WGqKWFx+wFplxe7E73lILyNqxO2klqMAv81IeL+6A6PqdGUC0uyaRIBOmW4K2Rd2G6WcMqs+3SRfNSJcU2/MniRpgYUURNhaZF6erPsZ69jG2FS0XYVrDPvHMDoRkjElDHYdky1psgMUb4faQaQwgdKz6IydqqTr8QA8go1rjx4ub2B6vupuBG01fa2CDTgTZj4iiGVPOAtSmbyNxGKTaH6KhleWJ3s/d9mHgbPp/Y884KLTGgJ/sqvg/D1w8SiN1V5dcNc2jgXBT3Uc90vF2ryxMRMak0g+CIgkfB6t8VUrDalWlp9NTxRF2k8xyiq4RoqjK9dyzPOsZfs/KuA6Jok02EkTDjEXGknD8fDvSz6syYqhCrs97M+aaFZDNe2DmFsO+mRkPWX2wcLGq475k19Tox4gYRYLDE6TqvCY/VmvAY2C0h68sh9oEK5z8zg/D+fLiNS+rZZI7Hqs6XOsd88feZygpEs0ny8WdkQSqlqQTEetI+5kGRtZgsdhhvJ7/cEioI8eIHkdDkWmQxMgNfMwuDdn6Rq6zWho85v7T/xAzVhH5l535yZ3tloEKBo3dEoPc6wXHfwhTbw80JINLwn4LKxkeUkdDlMjQp5Z+CDx1fsiR6RYNlNZ288kqdvlo3hhrwQZ6vIQ/8nmAax54+tJiJ4kxCmBYn7AUA12Wj1/bdS/6uCTsyBVtxexYyOefZlPz3AklMjCEDhEIYAuGSnkqBgBfXJV9PnzLIPwp6e4QmKl9M3a4ZpZ8Fxkc="];
    [[LCApiKit sharedInstance] setCurrentDeviceId:@"6K056CFAAJ8FFA1"];
    [[LCApiKit sharedInstance] setCurrentDeviceName:@"大华可视对讲"];
@@ -31,6 +33,8 @@
///监控
- (IBAction)monitoringAction:(id)sender {
    LCOnMonitorViewController *mVc = [[LCOnMonitorViewController alloc] init];
    [self.navigationController.navigationBar setHidden: YES];
    [self.navigationController pushViewController:mVc animated:YES];
@@ -40,9 +44,39 @@
- (IBAction)callAction:(id)sender {
    
    LCOnIntercomViewController *mVc = [[LCOnIntercomViewController alloc] init];
    mVc.mLCCallDelegate = self;
    [self.navigationController.navigationBar setHidden: YES];
    [self.navigationController pushViewController:mVc animated:YES];
}
- (void)onAnswerAction {
}
- (void)onHangUpAction:(int)callDuration {
}
- (void)onRejectCallAction {
}
- (void)onScreenshotSuccessfulAction:(nonnull UIImage *)image {
}
- (void)onUnlockAction {
    NSLog(@"onUnlockAction:准备开锁");
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        NSLog(@"onUnlockAction:通知开锁成功");
        [[NSNotificationCenter defaultCenter] postNotificationName:LCCallDelegateOpenDoorSuccess
                                                            object:self];
    });
}
@end
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin.xcodeproj/project.pbxproj
@@ -7,10 +7,17 @@
    objects = {
/* Begin PBXBuildFile section */
        B92E6AC9264B7A5500D63F4B /* LCCallDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B92E6AC7264B7A5500D63F4B /* LCCallDelegate.m */; };
        B92E6ADE264BAFFA00D63F4B /* LCUtlis.h in Headers */ = {isa = PBXBuildFile; fileRef = B92E6AD0264BA8E100D63F4B /* LCUtlis.h */; settings = {ATTRIBUTES = (Public, ); }; };
        B92E6ADF264BAFFA00D63F4B /* LCCallDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B92E6AC8264B7A5500D63F4B /* LCCallDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
        B92E6AE0264BAFFA00D63F4B /* LCApiKit.h in Headers */ = {isa = PBXBuildFile; fileRef = B93C23F4263909CB0088044F /* LCApiKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
        B92E6AE1264BAFFA00D63F4B /* LCOnIntercomViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = B93C23F2263909CB0088044F /* LCOnIntercomViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
        B92E6AE2264BAFFA00D63F4B /* LCOnMonitorViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = B93C23F7263909CB0088044F /* LCOnMonitorViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
        B92E6E81264CB4C200D63F4B /* LCApiKit.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = B93C23F4263909CB0088044F /* LCApiKit.h */; };
        B92E6E8A264CBC7800D63F4B /* LCOpenSDKDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B92E6E89264CBC7800D63F4B /* LCOpenSDKDynamic.framework */; };
        B93C23FB263909CC0088044F /* LCOnMonitorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B93C23F3263909CB0088044F /* LCOnMonitorViewController.m */; };
        B93C23FC263909CC0088044F /* LCOnIntercomViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B93C23F6263909CB0088044F /* LCOnIntercomViewController.m */; };
        B93C23FE263909CC0088044F /* LCApiKit.m in Sources */ = {isa = PBXBuildFile; fileRef = B93C23FA263909CC0088044F /* LCApiKit.m */; };
        B93C2402263909DE0088044F /* LCOpenSDKDynamic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B93C2401263909DE0088044F /* LCOpenSDKDynamic.framework */; };
        B93C2404263909EA0088044F /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B93C2403263909EA0088044F /* CoreAudio.framework */; };
        B93C2406263909F10088044F /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B93C2405263909F10088044F /* MediaPlayer.framework */; };
        B93C2408263909F90088044F /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B93C2407263909F90088044F /* AudioToolbox.framework */; };
@@ -21,33 +28,42 @@
        B93C241226390A220088044F /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B93C241126390A220088044F /* AVFoundation.framework */; };
        B93C241426390A2A0088044F /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B93C241326390A2A0088044F /* CoreMedia.framework */; };
        B93C241626390A330088044F /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B93C241526390A330088044F /* libz.tbd */; };
        B93C241926390A780088044F /* LCOpenSDKDynamic.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = B93C2401263909DE0088044F /* LCOpenSDKDynamic.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
        B92E6E80264CB4B300D63F4B /* CopyFiles */ = {
            isa = PBXCopyFilesBuildPhase;
            buildActionMask = 2147483647;
            dstPath = "";
            dstSubfolderSpec = 16;
            files = (
                B92E6E81264CB4C200D63F4B /* LCApiKit.h in CopyFiles */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
        B93C23E2263908E10088044F /* CopyFiles */ = {
            isa = PBXCopyFilesBuildPhase;
            buildActionMask = 2147483647;
            dstPath = "include/$(PRODUCT_NAME)";
            dstSubfolderSpec = 10;
            files = (
                B93C241926390A780088044F /* LCOpenSDKDynamic.framework in CopyFiles */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
        B92E6AC7264B7A5500D63F4B /* LCCallDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LCCallDelegate.m; sourceTree = "<group>"; };
        B92E6AC8264B7A5500D63F4B /* LCCallDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCCallDelegate.h; sourceTree = "<group>"; };
        B92E6AD0264BA8E100D63F4B /* LCUtlis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCUtlis.h; sourceTree = "<group>"; };
        B92E6E89264CBC7800D63F4B /* LCOpenSDKDynamic.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LCOpenSDKDynamic.framework; path = Depend/LCOpenSDKDynamic.framework; sourceTree = "<group>"; };
        B93C23E4263908E10088044F /* libLCSDKOnXamarin.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libLCSDKOnXamarin.a; sourceTree = BUILT_PRODUCTS_DIR; };
        B93C23F2263909CB0088044F /* LCOnIntercomViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCOnIntercomViewController.h; sourceTree = "<group>"; };
        B93C23F3263909CB0088044F /* LCOnMonitorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LCOnMonitorViewController.m; sourceTree = "<group>"; };
        B93C23F4263909CB0088044F /* LCApiKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCApiKit.h; sourceTree = "<group>"; };
        B93C23F5263909CB0088044F /* ESCallDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ESCallDelegate.h; sourceTree = "<group>"; };
        B93C23F6263909CB0088044F /* LCOnIntercomViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LCOnIntercomViewController.m; sourceTree = "<group>"; };
        B93C23F7263909CB0088044F /* LCOnMonitorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCOnMonitorViewController.h; sourceTree = "<group>"; };
        B93C23F9263909CC0088044F /* LCKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCKit.h; sourceTree = "<group>"; };
        B93C23FA263909CC0088044F /* LCApiKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LCApiKit.m; sourceTree = "<group>"; };
        B93C2401263909DE0088044F /* LCOpenSDKDynamic.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LCOpenSDKDynamic.framework; path = Depend/LCOpenSDKDynamic.framework; sourceTree = "<group>"; };
        B93C2403263909EA0088044F /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/CoreAudio.framework; sourceTree = DEVELOPER_DIR; };
        B93C2405263909F10088044F /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/iOSSupport/System/Library/Frameworks/MediaPlayer.framework; sourceTree = DEVELOPER_DIR; };
        B93C2407263909F90088044F /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/AudioToolbox.framework; sourceTree = DEVELOPER_DIR; };
@@ -65,6 +81,7 @@
            isa = PBXFrameworksBuildPhase;
            buildActionMask = 2147483647;
            files = (
                B92E6E8A264CBC7800D63F4B /* LCOpenSDKDynamic.framework in Frameworks */,
                B93C241626390A330088044F /* libz.tbd in Frameworks */,
                B93C241426390A2A0088044F /* CoreMedia.framework in Frameworks */,
                B93C241226390A220088044F /* AVFoundation.framework in Frameworks */,
@@ -75,7 +92,6 @@
                B93C2408263909F90088044F /* AudioToolbox.framework in Frameworks */,
                B93C2406263909F10088044F /* MediaPlayer.framework in Frameworks */,
                B93C2404263909EA0088044F /* CoreAudio.framework in Frameworks */,
                B93C2402263909DE0088044F /* LCOpenSDKDynamic.framework in Frameworks */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
@@ -102,10 +118,11 @@
        B93C23E6263908E10088044F /* LCSDKOnXamarin */ = {
            isa = PBXGroup;
            children = (
                B93C23F5263909CB0088044F /* ESCallDelegate.h */,
                B92E6AD0264BA8E100D63F4B /* LCUtlis.h */,
                B92E6AC8264B7A5500D63F4B /* LCCallDelegate.h */,
                B92E6AC7264B7A5500D63F4B /* LCCallDelegate.m */,
                B93C23F4263909CB0088044F /* LCApiKit.h */,
                B93C23FA263909CC0088044F /* LCApiKit.m */,
                B93C23F9263909CC0088044F /* LCKit.h */,
                B93C23F2263909CB0088044F /* LCOnIntercomViewController.h */,
                B93C23F6263909CB0088044F /* LCOnIntercomViewController.m */,
                B93C23F7263909CB0088044F /* LCOnMonitorViewController.h */,
@@ -117,6 +134,7 @@
        B93C2400263909DE0088044F /* Frameworks */ = {
            isa = PBXGroup;
            children = (
                B92E6E89264CBC7800D63F4B /* LCOpenSDKDynamic.framework */,
                B93C241526390A330088044F /* libz.tbd */,
                B93C241326390A2A0088044F /* CoreMedia.framework */,
                B93C241126390A220088044F /* AVFoundation.framework */,
@@ -127,21 +145,37 @@
                B93C2407263909F90088044F /* AudioToolbox.framework */,
                B93C2405263909F10088044F /* MediaPlayer.framework */,
                B93C2403263909EA0088044F /* CoreAudio.framework */,
                B93C2401263909DE0088044F /* LCOpenSDKDynamic.framework */,
            );
            name = Frameworks;
            sourceTree = "<group>";
        };
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
        B92E6ADD264BAFCD00D63F4B /* Headers */ = {
            isa = PBXHeadersBuildPhase;
            buildActionMask = 2147483647;
            files = (
                B92E6ADE264BAFFA00D63F4B /* LCUtlis.h in Headers */,
                B92E6ADF264BAFFA00D63F4B /* LCCallDelegate.h in Headers */,
                B92E6AE0264BAFFA00D63F4B /* LCApiKit.h in Headers */,
                B92E6AE1264BAFFA00D63F4B /* LCOnIntercomViewController.h in Headers */,
                B92E6AE2264BAFFA00D63F4B /* LCOnMonitorViewController.h in Headers */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
        B93C23E3263908E10088044F /* LCSDKOnXamarin */ = {
            isa = PBXNativeTarget;
            buildConfigurationList = B93C23ED263908E10088044F /* Build configuration list for PBXNativeTarget "LCSDKOnXamarin" */;
            buildPhases = (
                B92E6ADD264BAFCD00D63F4B /* Headers */,
                B93C23E0263908E10088044F /* Sources */,
                B93C23E1263908E10088044F /* Frameworks */,
                B93C23E2263908E10088044F /* CopyFiles */,
                B92E6E80264CB4B300D63F4B /* CopyFiles */,
            );
            buildRules = (
            );
@@ -189,6 +223,7 @@
            buildActionMask = 2147483647;
            files = (
                B93C23FB263909CC0088044F /* LCOnMonitorViewController.m in Sources */,
                B92E6AC9264B7A5500D63F4B /* LCCallDelegate.m in Sources */,
                B93C23FE263909CC0088044F /* LCApiKit.m in Sources */,
                B93C23FC263909CC0088044F /* LCOnIntercomViewController.m in Sources */,
            );
@@ -325,6 +360,11 @@
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenNetSDK",
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenApi",
                );
                LIBRARY_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/LCSDKOnXamarin/LCOpenSDKDynamic",
                );
                ONLY_ACTIVE_ARCH = NO;
                OTHER_LDFLAGS = "-ObjC";
                PRODUCT_NAME = "$(TARGET_NAME)";
                SKIP_INSTALL = YES;
@@ -348,6 +388,10 @@
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenNetSDK",
                    "$(PROJECT_DIR)/Depend/LCOpenSDKDynamic.framework/Headers/LCOpenApi",
                );
                LIBRARY_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/LCSDKOnXamarin/LCOpenSDKDynamic",
                );
                OTHER_LDFLAGS = "-ObjC";
                PRODUCT_NAME = "$(TARGET_NAME)";
                SKIP_INSTALL = YES;
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/ESCallDelegate.h
File was deleted
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCApiKit.h
@@ -7,7 +7,9 @@
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface LCApiKit : NSObject
/**
@@ -41,6 +43,21 @@
- (void)initSDKOpenApi:(NSString *)lcToken;
///// 拼接错误信息
//- (NSString *) getErrorMesWithCode:(NSString *)message code:(int)code;
/// 接口
///**
// *  @since
// *  开锁接口
// *
// *  @param deviceId 设备序列号
// *  @param completion   回调block,error为空时表示添加成功
// *
// */
//- (void)openDoorbell:(NSString *)deviceId completion:(void (^)(ResponseData *responseData))completion;
@end
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCApiKit.m
@@ -6,7 +6,7 @@
//
#import "LCApiKit.h"
#import "LCKit.h"
#import <LCOpenSDKDynamic/LCOpenSDKDynamic.h>
#define DEFAULTHOSTAPICHN @"https://openapi.lechange.cn:443" //中国大陆(正式)
#define DEFAULTHOSTAPIOVS @"https://openapi.easy4ip.com:443" //海外(正式)
@@ -78,9 +78,9 @@
    NSLog(@"initSDKOpenApi: %@,@%ld", [self LCSDKHost], [self LCSDKPort]);
}
/// 拼接错误信息
- (NSString *) getErrorMesWithCode:(NSString *)message code:(int)code
{
    return [NSString stringWithFormat:@"%@(%d)",message, code];
}
///// 拼接错误信息
//- (NSString *) getErrorMesWithCode:(NSString *)message code:(int)code
//{
//    return [NSString stringWithFormat:@"%@(%d)",message, code];
//}
@end
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCCallDelegate.h
copy from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESCallDelegate.h copy to iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCCallDelegate.h
File was copied from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESCallDelegate.h
@@ -1,9 +1,8 @@
//
//  ESCallDelegate.h
//  ESVideoPhoneSDKDemo
//  LCCallDelegate.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/3/25.
//  Copyright © 2021 eTouchSky. All rights reserved.
//  Created by 陈嘉乐 on 2021/5/12.
//
#import <Foundation/Foundation.h>
@@ -11,7 +10,10 @@
NS_ASSUME_NONNULL_BEGIN
@protocol ESCallDelegate <NSObject>
//开锁成功通知
extern NSString *const LCCallDelegateOpenDoorSuccess;
@protocol LCCallDelegate <NSObject>
//接听回调
-(void)onAnswerAction;
@@ -19,7 +21,7 @@
//拒接来电回调
-(void)onRejectCallAction;
//开始成功回调
//开锁回调
-(void)onUnlockAction;
//挂断(通话结束)
@@ -30,7 +32,7 @@
@end
@interface ESCallDelegate : NSObject
@interface LCCallDelegate : NSObject
@end
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCCallDelegate.m
New file
@@ -0,0 +1,14 @@
//
//  LCCallDelegate.m
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/5/12.
//
#import "LCCallDelegate.h"
NSString *const LCCallDelegateOpenDoorSuccess = @"lcCallDelegateOpenDoorSuccess";
@implementation LCCallDelegate
@end
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCKit.h
File was deleted
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOnIntercomViewController.h
@@ -6,17 +6,17 @@
//
#import <UIKit/UIKit.h>
#import "ESCallDelegate.h"
#import "LCCallDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface LCOnIntercomViewController : UIViewController
#pragma mark ESCallDelegate
#pragma mark LCCallDelegate
/**
 丰林事件代理
 事件代理
 */
@property (nonatomic, weak) id<ESCallDelegate> mESCallDelegate;
@property (nonatomic, weak) id<LCCallDelegate> mLCCallDelegate;
#pragma mark 对外接口方法
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOnIntercomViewController.m
@@ -9,7 +9,9 @@
#import <AVFoundation/AVFoundation.h>
#import <Photos/Photos.h>
#import <AudioToolbox/AudioToolbox.h>
#import "LCKit.h"
#import "LCUtlis.h"
#import "LCApiKit.h"
#import <LCOpenSDKDynamic/LCOpenSDKDynamic.h>
@interface LCOnIntercomViewController ()<LCOpenSDK_EventListener, LCOpenSDK_TalkerListener>
@@ -90,8 +92,11 @@
    //开始反呼
    [self StartReverseCall];
    [self ShowCalltimeBtn:callingStr];
    //暂时不支持开锁功能
    [self setUnlock:NO];
//    //暂时不支持开锁功能
//    [self setUnlock:NO];
    //注册开锁成功监听
    [self addOpenSuccessAction];
    // Do any additional setup after loading the view.
}
@@ -282,11 +287,10 @@
-(void)unlockAction{
    [_unlockImgBtn setImage:[UIImage imageNamed:@"ic_esvideo_on_unlock_unselect"] forState:UIControlStateNormal];
    //    //开锁
    //    if(_es){
    //        [_es openTheDoorWithRoomid:_mESRoomID];
    //    }
    //开锁
    if(self.mLCCallDelegate != NULL){
       [self.mLCCallDelegate onUnlockAction];
    }
}
#pragma 挂断和开锁
@@ -305,13 +309,13 @@
//挂断按钮事件
-(void)hangUpAction{
    //1.回调事件
    if(self.mESCallDelegate != NULL){
    if(self.mLCCallDelegate != NULL){
        if(isAnswer){
            //如果之前已经接听了,回调是挂断
            [self.mESCallDelegate onHangUpAction:_callTimeout];
            [self.mLCCallDelegate onHangUpAction:_callTimeout];
        }else{
            //如果之前没接听了,回调是拒接
            [self.mESCallDelegate onRejectCallAction];
            [self.mLCCallDelegate onRejectCallAction];
        }
    }
    //2.页面关闭
@@ -350,7 +354,7 @@
    [self stopPlaySystemSound];
    /// 开启对讲
    [self startTalk];
    _answerImgBtn.hidden = YES;
    _answerTextBtn.hidden = YES;
    
@@ -364,8 +368,8 @@
    [self startCountdown];
    isAnswer = YES;
    
    if(self.mESCallDelegate != NULL){
        [self.mESCallDelegate onAnswerAction];
    if(self.mLCCallDelegate != NULL){
        [self.mLCCallDelegate onAnswerAction];
    }
    
}
@@ -503,10 +507,7 @@
    _openDoorTimeout = 0;
    [self startOpenDoorCountdown];
    [self showUIAlertView:unlockSuccessfullyStr];
    // 开锁成功回调
    if(self.mESCallDelegate != NULL){
        [self.mESCallDelegate onUnlockAction];
    }
}
-(void)setUnlock:(BOOL)ISEnable{
@@ -653,7 +654,7 @@
- (void)startTalk {
    if (!isAnswer) {
        //对讲开启
//        [self.playWindow stopAudio];
        //        [self.playWindow stopAudio];
        
        if(self.talker == NULL) return;
        
@@ -726,13 +727,13 @@
        if (type == 0) {
            
            if ([RTSP_Result_String(STATE_RTSP_DESCRIBE_READY) isEqualToString:code]) {
//                dispatch_async(dispatch_get_main_queue(), ^{
//                });
                //                dispatch_async(dispatch_get_main_queue(), ^{
                //                });
                return;
            }
            if ([RTSP_Result_String(STATE_RTSP_PLAY_READY) isEqualToString:code]) {
//                dispatch_async(dispatch_get_main_queue(), ^{
//                });
                //                dispatch_async(dispatch_get_main_queue(), ^{
                //                });
                return;
            }
            //提示失败
@@ -764,31 +765,31 @@
    dispatch_async(dispatch_get_main_queue(), ^{
        NSLog(@"开启对讲回调error = %@, type = %ld", error, (long)type);
        WEAKSELF_AT(self);
//        [LCProgressHUD hideAllHuds:nil];
//        if (99 == type) {   //网络请求失败
////            dispatch_async(dispatch_get_main_queue(), ^{
////                weakself.videoManager.isOpenAudioTalk = NO;
////                [LCProgressHUD showMsg:@"play_module_video_preview_talk_failed".lc_T];
////            });
//            return;
//        }
//        if (nil != error && [RTSP_Result_String(STATE_RTSP_DESCRIBE_READY) isEqualToString:error]) {
//            dispatch_async(dispatch_get_main_queue(), ^{
//            });
//            return;
//        }
//        if (nil != error && [RTSP_Result_String(STATE_RTSP_PLAY_READY) isEqualToString:error]) {
//            dispatch_async(dispatch_get_main_queue(), ^{
//                //对讲连接成功建立
//                self.videoManager.isOpenAudioTalk = YES;
//                [LCProgressHUD showMsg:@"device_mid_open_talk_success".lc_T];
//            });
//            return;
//        }
//        dispatch_async(dispatch_get_main_queue(), ^{
//            [LCProgressHUD showMsg:@"play_module_video_preview_talk_failed".lc_T];
//            weakself.videoManager.isOpenAudioTalk = NO;
//        });
        //        [LCProgressHUD hideAllHuds:nil];
        //        if (99 == type) {   //网络请求失败
        ////            dispatch_async(dispatch_get_main_queue(), ^{
        ////                weakself.videoManager.isOpenAudioTalk = NO;
        ////                [LCProgressHUD showMsg:@"play_module_video_preview_talk_failed".lc_T];
        ////            });
        //            return;
        //        }
        //        if (nil != error && [RTSP_Result_String(STATE_RTSP_DESCRIBE_READY) isEqualToString:error]) {
        //            dispatch_async(dispatch_get_main_queue(), ^{
        //            });
        //            return;
        //        }
        //        if (nil != error && [RTSP_Result_String(STATE_RTSP_PLAY_READY) isEqualToString:error]) {
        //            dispatch_async(dispatch_get_main_queue(), ^{
        //                //对讲连接成功建立
        //                self.videoManager.isOpenAudioTalk = YES;
        //                [LCProgressHUD showMsg:@"device_mid_open_talk_success".lc_T];
        //            });
        //            return;
        //        }
        //        dispatch_async(dispatch_get_main_queue(), ^{
        //            [LCProgressHUD showMsg:@"play_module_video_preview_talk_failed".lc_T];
        //            weakself.videoManager.isOpenAudioTalk = NO;
        //        });
    });
}
@@ -1025,8 +1026,8 @@
    if (!error) {
        message = saveToTheAlbumsStr;
        // 截图成功回调
        if(self.mESCallDelegate != NULL){
            [self.mESCallDelegate onScreenshotSuccessfulAction:image];
        if(self.mLCCallDelegate != NULL){
            [self.mLCCallDelegate onScreenshotSuccessfulAction:image];
        }
    }
    else
@@ -1079,7 +1080,7 @@
//开始播放的时候调用
-(void)startPlaySystemSound{
    
//    return;
    //    return;
    //    //震动的提示文件名放到资源目录下
    //    NSString *path = [[NSBundle mainBundle] pathForResource:@"ring" ofType:@"wav"];
    //    AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path], &sound);
@@ -1092,7 +1093,7 @@
//手动停止播放的时候调用
- (void)stopPlaySystemSound{
//    return;
    //    return;
    NSLog(@"stop PlaySystemSound");
    stopRingAndVibration();
}
@@ -1119,8 +1120,25 @@
//}
///
- (void)addOpenSuccessAction {
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:LCCallDelegateOpenDoorSuccess
                                                  object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(setOpenDoorSuccess)
                                                 name:LCCallDelegateOpenDoorSuccess
                                               object:nil];
}
- (void)removeOpenSuccessAction {
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:LCCallDelegateOpenDoorSuccess
                                                  object:nil];
}
@end
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOnMonitorViewController.h
@@ -6,11 +6,20 @@
//
#import <UIKit/UIKit.h>
#import "LCCallDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface LCOnMonitorViewController : UIViewController
#pragma mark LCCallDelegate
/**
 事件代理
 */
@property (nonatomic, weak) id<LCCallDelegate> mLCCallDelegate;
#pragma mark 对外接口方法
@end
NS_ASSUME_NONNULL_END
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOnMonitorViewController.m
@@ -8,9 +8,9 @@
#import "LCOnMonitorViewController.h"
#import <AVFoundation/AVFoundation.h>
#import <Photos/Photos.h>
#import "LCKit.h"
#import "LCUtlis.h"
#import "LCApiKit.h"
#import <LCOpenSDKDynamic/LCOpenSDKDynamic.h>
@interface LCOnMonitorViewController ()<LCOpenSDK_EventListener>
@@ -76,8 +76,10 @@
    [self initESVideo];
    [self StartMonitoring];
    
    //暂时不支持开锁功能
    [self setUnlock:NO];
//    //暂时不支持开锁功能
//    [self setUnlock:NO];
    //注册开锁成功监听
    [self addOpenSuccessAction];
    // Do any additional setup after loading the view.
}
@@ -277,9 +279,9 @@
    [_unlockImgBtn setImage:[UIImage imageNamed:@"ic_esvideo_on_unlock_unselect"] forState:UIControlStateNormal];
    [_unlockTextBtn setTitleColor:TextColor forState:UIControlStateNormal];
    //开锁
    //    if(_es){
    //        [_es openTheDoorWithRoomid:_mESRoomID];
    //    }
    if(self.mLCCallDelegate != NULL){
        [self.mLCCallDelegate onUnlockAction];
    }
}
- (UIButton *)unlockTextBtn{
@@ -479,13 +481,13 @@
        if (type == 0) {
            
            if ([RTSP_Result_String(STATE_RTSP_DESCRIBE_READY) isEqualToString:code]) {
//                dispatch_async(dispatch_get_main_queue(), ^{
//                });
                //                dispatch_async(dispatch_get_main_queue(), ^{
                //                });
                return;
            }
            if ([RTSP_Result_String(STATE_RTSP_PLAY_READY) isEqualToString:code]) {
//                dispatch_async(dispatch_get_main_queue(), ^{
//                });
                //                dispatch_async(dispatch_get_main_queue(), ^{
                //                });
                return;
            }
            //提示失败
@@ -1069,6 +1071,18 @@
    
}
- (void)addOpenSuccessAction {
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:LCCallDelegateOpenDoorSuccess
                                                  object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(setOpenDoorSuccess)
                                                 name:LCCallDelegateOpenDoorSuccess
                                               object:nil];
}
@end
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/AddGroup.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/AddGroupDevice.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/AddRole.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BeAuthDeviceList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BindDevice.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BindDeviceChannelInfo.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BindDeviceInfo.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/BreathingLightStatus.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/CheckDeviceBindOrNot.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ChildGroupList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/CloudRecordPlan.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ControlDeviceWifi.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ControlPTZ.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/CurrentDeviceWifi.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteAlarmMessage.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteCloudPlanRecords.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteCloudRecords.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteGroup.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteGroupDevice.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteRole.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeleteUserAuthTager.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceAlarmPlan.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceAuthInfo.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceOnline.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/DeviceVersionList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/FrameReverseStatus.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetAlarmMessage.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetAuthFunctions.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetCloudRecords.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetRecordByLinkageId.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetStorageStrategy.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GetStrategies.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GroupDeviceList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/GroupList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyBreathingLight.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyCloudRecordPlan.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyDeviceAlarmPlan.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyDeviceAlarmStatus.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyDeviceName.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyDevicePwd.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ModifyFrameReverseStatus.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/OpenCloudRecord.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/PassengerFlow.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudPlanRecordBitmap.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudPlanRecordNum.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudPlanRecords.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudRecordBitmap.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudRecordCallNum.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudRecordNum.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryCloudRecords.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryLocalRecordBitmap.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryLocalRecordNum.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/QueryLocalRecords.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/RecoverSDCard.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/RoleList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/SetAllStorageStrategy.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/SetDeviceSnap.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/SetStorageStrategy.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/SetUserAuthTager.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/ShareDeviceList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UnBindDevice.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UnBindDeviceInfo.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UnGroupDeviceList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UpgradeDevice.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UpgradeProcessDevice.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UploadDeviceCoverPicture.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UserAuthList.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UserBindNoVerify.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/UserTokenByAccount.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApi/WifiAround.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApiDefine.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApiRequest.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenApiResponse.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenNetSDK/LCOpenSDK_NetsdkLogin.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenNetSDK/netsdk.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Api.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_AudioTalk.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_ConfigWifi.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Define.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_DeviceInit.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Download.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_DownloadListener.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_EventListener.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Log.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_LoginManager.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Param.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_PlayWindow.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_SoftAP.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_TalkerListener.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDK/LCOpenSDK_Utils.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDKDynamic.a
copy from iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Library/LCOpenSDKDynamic.a copy to iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDKDynamic.a Binary files differ
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCOpenSDKDynamic/LCOpenSDKDynamic.h
iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCUtlis.h
copy from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnUtlis.h copy to iOS/Xamarin/LCSDKOnXamarin/LCSDKOnXamarin/LCUtlis.h
File was copied from iOS/Xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnUtlis.h
@@ -1,12 +1,11 @@
//
//  ESOnUtlis.h
//  ESVideoPhoneSDKDemo
//  LCUtlis.h
//  LCOnDemo
//
//  Created by 陈嘉乐 on 2021/3/11.
//  Copyright © 2021 eTouchSky. All rights reserved.
//  Created by 陈嘉乐 on 2021/5/12.
//
#import <Foundation/Foundation.h>
#define TP_SYSTEM_VERSION ([[[UIDevice currentDevice] systemVersion] floatValue])
//#define IOS6 ([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0)
@@ -54,11 +53,11 @@
#define WEAKSELF_AT __weak __typeof(&*self)weakSelf_AT = self;
#define HEXCOLORA(rgbValue, a) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0 blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:a]
#import <Foundation/Foundation.h>
#define RTSP_Result_String(enum) [@[ @"0", @"1", @"2", @"3", @"4", @"5", @"6", @"7", @"99", @"100" ] objectAtIndex:enum]
NS_ASSUME_NONNULL_BEGIN
@interface ESOnUtlis : NSObject
@interface LCUtlis : NSObject
@end
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/README.md
File was deleted
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK.sln
File was deleted
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/ApiDefinition.cs
File was deleted
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Library/ESVideoPhoneSDk.a
Binary files differ
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Library/libESVideoOnXamarin.a
Binary files differ
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Library/libLCSDKOnXamarin.a
Binary files differ
iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Structs.cs
File was deleted
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK.sln
File was renamed from iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK.sln
@@ -3,7 +3,7 @@
# Visual Studio Version 16
VisualStudioVersion = 16.0.808.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.IOS.ESVideoOnSDK", "Shared.IOS.ESVideoOnSDK.csproj", "{D1832CED-B861-4FE3-A3BD-3D582C108D3A}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.IOS.LCVideoOnSDK", "Shared.IOS.LCVideoOnSDK\Shared.IOS.LCVideoOnSDK.csproj", "{D78A9ED7-34A3-416F-B645-7475E2E2DE93}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,15 +11,15 @@
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {D1832CED-B861-4FE3-A3BD-3D582C108D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {D1832CED-B861-4FE3-A3BD-3D582C108D3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {D1832CED-B861-4FE3-A3BD-3D582C108D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {D1832CED-B861-4FE3-A3BD-3D582C108D3A}.Release|Any CPU.Build.0 = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
    GlobalSection(ExtensibilityGlobals) = postSolution
        SolutionGuid = {6527B90F-D907-4370-A1FE-B8E5E38BFF64}
        SolutionGuid = {7B522C01-9831-4869-9C01-9ABF0A4AE980}
    EndGlobalSection
EndGlobal
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/ApiDefinition.cs
New file
@@ -0,0 +1,128 @@
using System;
using ObjCRuntime;
using Foundation;
using UIKit;
namespace Shared.IOS.LCVideoOnSDK
{
    //[Static]
    //[Verify(ConstantsInterfaceAssociation)]
    //partial interface Constants
    //{
    //    // extern NSString *const _Nonnull LCCallDelegateOpenDoorSuccess;
    //    [Field("LCCallDelegateOpenDoorSuccess", "__Internal")]
    //    NSString LCCallDelegateOpenDoorSuccess { get; }
    //}
    // @protocol LCCallDelegate <NSObject>
    [Protocol, Model(AutoGeneratedName = true)]
    [BaseType(typeof(NSObject))]
    interface LCCallDelegate
    {
        // @required -(void)onAnswerAction;
        [Abstract]
        [Export("onAnswerAction")]
        void OnAnswerAction();
        // @required -(void)onRejectCallAction;
        [Abstract]
        [Export("onRejectCallAction")]
        void OnRejectCallAction();
        // @required -(void)onUnlockAction;
        [Abstract]
        [Export("onUnlockAction")]
        void OnUnlockAction();
        // @required -(void)onHangUpAction:(int)callDuration;
        [Abstract]
        [Export("onHangUpAction:")]
        void OnHangUpAction(int callDuration);
        // @required -(void)onScreenshotSuccessfulAction:(UIImage * _Nonnull)image;
        [Abstract]
        [Export("onScreenshotSuccessfulAction:")]
        void OnScreenshotSuccessfulAction(UIImage image);
    }
    // @interface LCOnIntercomViewController : UIViewController
    [BaseType(typeof(UIViewController))]
    interface LCOnIntercomViewController
    {
        [Wrap("WeakMLCCallDelegate")]
        [NullAllowed]
        LCCallDelegate MLCCallDelegate { get; set; }
        // @property (nonatomic, weak) id<LCCallDelegate> _Nullable mLCCallDelegate;
        [NullAllowed, Export("mLCCallDelegate", ArgumentSemantic.Weak)]
        NSObject WeakMLCCallDelegate { get; set; }
    }
    // @interface LCOnMonitorViewController : UIViewController
    [BaseType(typeof(UIViewController))]
    interface LCOnMonitorViewController
    {
        [Wrap("WeakMLCCallDelegate")]
        [NullAllowed]
        LCCallDelegate MLCCallDelegate { get; set; }
        // @property (nonatomic, weak) id<LCCallDelegate> _Nullable mLCCallDelegate;
        [NullAllowed, Export("mLCCallDelegate", ArgumentSemantic.Weak)]
        NSObject WeakMLCCallDelegate { get; set; }
    }
    // @interface LCApiKit : NSObject
    [BaseType(typeof(NSObject))]
    interface LCApiKit
    {
        // +(instancetype _Nonnull)sharedInstance;
        [Static]
        [Export("sharedInstance")]
        LCApiKit SharedInstance();
        // @property (nonatomic, strong) NSString * _Nonnull lcSdkToken;
        [Export("lcSdkToken", ArgumentSemantic.Strong)]
        string LcSdkToken { get; set; }
        // @property (nonatomic, strong) NSString * _Nonnull sdkHostApi;
        [Export("sdkHostApi", ArgumentSemantic.Strong)]
        string SdkHostApi { get; set; }
        // @property (assign, nonatomic) _Bool isChinaMainland;
        [Export("isChinaMainland")]
        bool IsChinaMainland { get; set; }
        // @property (nonatomic, strong) NSString * _Nonnull currentDeviceId;
        [Export("currentDeviceId", ArgumentSemantic.Strong)]
        string CurrentDeviceId { get; set; }
        // @property (nonatomic, strong) NSString * _Nonnull currentDeviceName;
        [Export("currentDeviceName", ArgumentSemantic.Strong)]
        string CurrentDeviceName { get; set; }
        // @property (nonatomic, strong) NSString * _Nonnull currentPsk;
        [Export("currentPsk", ArgumentSemantic.Strong)]
        string CurrentPsk { get; set; }
        // @property (nonatomic, strong) NSString * _Nonnull currentDevicePlayToken;
        [Export("currentDevicePlayToken", ArgumentSemantic.Strong)]
        string CurrentDevicePlayToken { get; set; }
        // -(NSString * _Nonnull)LCSDKHost;
        [Export("LCSDKHost")]
        //[Verify(MethodToProperty)]
        string LCSDKHost { get; }
        // -(NSInteger)LCSDKPort;
        [Export("LCSDKPort")]
        //[Verify(MethodToProperty)]
        nint LCSDKPort { get; }
        // -(void)initSDKOpenApi:(NSString * _Nonnull)lcToken;
        [Export("initSDKOpenApi:")]
        void InitSDKOpenApi(string lcToken);
    }
}
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Library/LCOpenSDKDynamic.a
Binary files differ
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Library/libLCSDKOnXamarin.a
Binary files differ
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Properties/AssemblyInfo.cs
File was renamed from iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Properties/AssemblyInfo.cs
@@ -12,11 +12,11 @@
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
[assembly: AssemblyTitle("Shared.IOS.ESVideoOnSDK")]
[assembly: AssemblyTitle("Shared.IOS.LCVideoOnSDK")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Shared.IOS.ESVideoOnSDK")]
[assembly: AssemblyProduct("Shared.IOS.LCVideoOnSDK")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -25,7 +25,7 @@
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
[assembly: AssemblyVersion("2.0.2")]
[assembly: AssemblyVersion("1.0.1")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_answer.png

iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_back.png

iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_hangup.png

iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_takephoto_select.png

iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_takephoto_unselect.png

iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_unlock_select.png

iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Resources/ic_esvideo_on_unlock_unselect.png

iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK.csproj
File was renamed from iOS/Xamarin/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK/Shared.IOS.ESVideoOnSDK.csproj
@@ -4,12 +4,12 @@
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectTypeGuids>{8FFB629D-F513-41CE-95D2-7ECE97B6EEEC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <ProjectGuid>{D1832CED-B861-4FE3-A3BD-3D582C108D3A}</ProjectGuid>
    <ProjectGuid>{D78A9ED7-34A3-416F-B645-7475E2E2DE93}</ProjectGuid>
    <TemplateGuid>{b6f3ff35-79b2-4f25-a2fc-60a7cf61013b}</TemplateGuid>
    <OutputType>Library</OutputType>
    <RootNamespace>Shared.IOS.ESVideoOnSDK</RootNamespace>
    <RootNamespace>Shared.IOS.LCVideoOnSDK</RootNamespace>
    <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
    <AssemblyName>Shared.IOS.ESVideoOnSDK</AssemblyName>
    <AssemblyName>Shared.IOS.LCVideoOnSDK</AssemblyName>
    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -47,22 +47,6 @@
    <ObjcBindingCoreSource Include="Structs.cs" />
  </ItemGroup>
  <ItemGroup>
    <NativeReference Include="Library\libESVideoOnXamarin.a">
      <Kind>Static</Kind>
      <ForceLoad>True</ForceLoad>
      <LinkerFlags>-dead_strip -Wl -lz -lbz2 -liconv.2.4.0 -ObjC</LinkerFlags>
      <Frameworks>CoreAudio MediaPlayer AudioToolbox VideoToolbox OpenGLES MediaAccessibility CoreVideo AVFoundation CoreMedia</Frameworks>
    </NativeReference>
    <NativeReference Include="Library\ESVideoPhoneSDk.a">
      <Kind>Static</Kind>
      <SmartLink>False</SmartLink>
    </NativeReference>
    <NativeReference Include="Library\LCOpenSDKDynamic.a">
      <Kind>Static</Kind>
      <SmartLink>False</SmartLink>
    </NativeReference>
  </ItemGroup>
  <ItemGroup>
    <BundleResource Include="Resources\ic_esvideo_on_answer.png" />
    <BundleResource Include="Resources\ic_esvideo_on_back.png" />
    <BundleResource Include="Resources\ic_esvideo_on_hangup.png" />
@@ -71,5 +55,17 @@
    <BundleResource Include="Resources\ic_esvideo_on_unlock_select.png" />
    <BundleResource Include="Resources\ic_esvideo_on_unlock_unselect.png" />
  </ItemGroup>
  <ItemGroup>
    <NativeReference Include="Library\libLCSDKOnXamarin.a">
      <Kind>Static</Kind>
      <ForceLoad>True</ForceLoad>
      <Frameworks>CoreAudio MediaPlayer AudioToolbox VideoToolbox OpenGLES MediaAccessibility CoreVideo AVFoundation CoreMedia</Frameworks>
      <LinkerFlags>-lz</LinkerFlags>
    </NativeReference>
    <NativeReference Include="Library\LCOpenSDKDynamic.a">
      <Kind>Static</Kind>
      <SmartLink>False</SmartLink>
    </NativeReference>
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.ObjCBinding.CSharp.targets" />
</Project>
iOS/Xamarin/Shared.IOS.LCVideoOnSDK/Shared.IOS.LCVideoOnSDK/Structs.cs
New file
@@ -0,0 +1,6 @@
using System;
namespace Shared.IOS.LCVideoOnSDK
{
}