x1ongzhu пре 6 година
родитељ
комит
5e3ed1ffa2

+ 5 - 1
ios/Podfile

@@ -61,7 +61,11 @@ target 'Runner' do
 end
 end
 
 
 target 'ScreenRecorder' do
 target 'ScreenRecorder' do
-    pod 'TXLiteAVSDK_Professional', :podspec => 'http://pod-1252463788.cosgz.myqcloud.com/liteavsdkspec/TXLiteAVSDK_Professional.podspec'
+    pod 'TXLiteAVSDK_Smart', :podspec => 'http://pod-1252463788.cosgz.myqcloud.com/liteavsdkspec/TXLiteAVSDK_Smart.podspec'
+end
+
+target 'ScreenStreamer' do
+    pod 'HaishinKit', '~> 0.11.9'
 end
 end
 
 
 post_install do |installer|
 post_install do |installer|

+ 29 - 21
ios/Podfile.lock

@@ -15,23 +15,26 @@ PODS:
   - FMDB (2.7.5):
   - FMDB (2.7.5):
     - FMDB/standard (= 2.7.5)
     - FMDB/standard (= 2.7.5)
   - FMDB/standard (2.7.5)
   - FMDB/standard (2.7.5)
-  - get_ip (0.0.1):
-    - Flutter
+  - HaishinKit (0.11.9):
+    - Logboard (~> 2.1.0)
   - image_cropper (0.0.1):
   - image_cropper (0.0.1):
     - Flutter
     - Flutter
     - TOCropViewController (~> 2.5.0)
     - TOCropViewController (~> 2.5.0)
-  - image_picker (0.0.1):
+  - image_picker_saver (0.0.1):
     - Flutter
     - Flutter
-  - JCore (2.1.1)
-  - JPush (3.2.2):
+  - JCore (2.1.2)
+  - JPush (3.2.4):
     - JCore (< 3.0.0, >= 2.0.0)
     - JCore (< 3.0.0, >= 2.0.0)
   - jpush_flutter (0.0.2):
   - jpush_flutter (0.0.2):
     - Flutter
     - Flutter
     - JPush
     - JPush
+  - Logboard (2.1.2)
   - package_info (0.0.1):
   - package_info (0.0.1):
     - Flutter
     - Flutter
   - path_provider (0.0.1):
   - path_provider (0.0.1):
     - Flutter
     - Flutter
+  - permission_handler (3.2.2):
+    - Flutter
   - SCLAlertView-Objective-C (1.1.6)
   - SCLAlertView-Objective-C (1.1.6)
   - screen (0.0.1):
   - screen (0.0.1):
     - Flutter
     - Flutter
@@ -44,7 +47,7 @@ PODS:
     - Flutter
     - Flutter
     - FMDB (~> 2.7.2)
     - FMDB (~> 2.7.2)
   - TOCropViewController (2.5.1)
   - TOCropViewController (2.5.1)
-  - TXLiteAVSDK_Professional (6.5.7273)
+  - TXLiteAVSDK_Smart (6.6.7555)
   - url_launcher (0.0.1):
   - url_launcher (0.0.1):
     - Flutter
     - Flutter
   - video_player (0.0.1):
   - video_player (0.0.1):
@@ -57,17 +60,18 @@ DEPENDENCIES:
   - flutter_bugly (from `.symlinks/plugins/flutter_bugly/ios`)
   - flutter_bugly (from `.symlinks/plugins/flutter_bugly/ios`)
   - flutter_picker (from `.symlinks/plugins/flutter_picker/ios`)
   - flutter_picker (from `.symlinks/plugins/flutter_picker/ios`)
   - fluwx (from `.symlinks/plugins/fluwx/ios`)
   - fluwx (from `.symlinks/plugins/fluwx/ios`)
-  - get_ip (from `.symlinks/plugins/get_ip/ios`)
+  - HaishinKit (~> 0.11.9)
   - image_cropper (from `.symlinks/plugins/image_cropper/ios`)
   - image_cropper (from `.symlinks/plugins/image_cropper/ios`)
-  - image_picker (from `.symlinks/plugins/image_picker/ios`)
+  - image_picker_saver (from `.symlinks/plugins/image_picker_saver/ios`)
   - jpush_flutter (from `.symlinks/plugins/jpush_flutter/ios`)
   - jpush_flutter (from `.symlinks/plugins/jpush_flutter/ios`)
   - package_info (from `.symlinks/plugins/package_info/ios`)
   - package_info (from `.symlinks/plugins/package_info/ios`)
   - path_provider (from `.symlinks/plugins/path_provider/ios`)
   - path_provider (from `.symlinks/plugins/path_provider/ios`)
+  - permission_handler (from `.symlinks/plugins/permission_handler/ios`)
   - screen (from `.symlinks/plugins/screen/ios`)
   - screen (from `.symlinks/plugins/screen/ios`)
   - screen_stream_plugin (from `.symlinks/plugins/screen_stream_plugin/ios`)
   - screen_stream_plugin (from `.symlinks/plugins/screen_stream_plugin/ios`)
   - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
   - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
   - sqflite (from `.symlinks/plugins/sqflite/ios`)
   - sqflite (from `.symlinks/plugins/sqflite/ios`)
-  - TXLiteAVSDK_Professional (from `http://pod-1252463788.cosgz.myqcloud.com/liteavsdkspec/TXLiteAVSDK_Professional.podspec`)
+  - TXLiteAVSDK_Smart (from `http://pod-1252463788.cosgz.myqcloud.com/liteavsdkspec/TXLiteAVSDK_Smart.podspec`)
   - url_launcher (from `.symlinks/plugins/url_launcher/ios`)
   - url_launcher (from `.symlinks/plugins/url_launcher/ios`)
   - video_player (from `.symlinks/plugins/video_player/ios`)
   - video_player (from `.symlinks/plugins/video_player/ios`)
 
 
@@ -75,8 +79,10 @@ SPEC REPOS:
   https://github.com/cocoapods/specs.git:
   https://github.com/cocoapods/specs.git:
     - Bugly
     - Bugly
     - FMDB
     - FMDB
+    - HaishinKit
     - JCore
     - JCore
     - JPush
     - JPush
+    - Logboard
     - SCLAlertView-Objective-C
     - SCLAlertView-Objective-C
     - TOCropViewController
     - TOCropViewController
 
 
@@ -93,18 +99,18 @@ EXTERNAL SOURCES:
     :path: ".symlinks/plugins/flutter_picker/ios"
     :path: ".symlinks/plugins/flutter_picker/ios"
   fluwx:
   fluwx:
     :path: ".symlinks/plugins/fluwx/ios"
     :path: ".symlinks/plugins/fluwx/ios"
-  get_ip:
-    :path: ".symlinks/plugins/get_ip/ios"
   image_cropper:
   image_cropper:
     :path: ".symlinks/plugins/image_cropper/ios"
     :path: ".symlinks/plugins/image_cropper/ios"
-  image_picker:
-    :path: ".symlinks/plugins/image_picker/ios"
+  image_picker_saver:
+    :path: ".symlinks/plugins/image_picker_saver/ios"
   jpush_flutter:
   jpush_flutter:
     :path: ".symlinks/plugins/jpush_flutter/ios"
     :path: ".symlinks/plugins/jpush_flutter/ios"
   package_info:
   package_info:
     :path: ".symlinks/plugins/package_info/ios"
     :path: ".symlinks/plugins/package_info/ios"
   path_provider:
   path_provider:
     :path: ".symlinks/plugins/path_provider/ios"
     :path: ".symlinks/plugins/path_provider/ios"
+  permission_handler:
+    :path: ".symlinks/plugins/permission_handler/ios"
   screen:
   screen:
     :path: ".symlinks/plugins/screen/ios"
     :path: ".symlinks/plugins/screen/ios"
   screen_stream_plugin:
   screen_stream_plugin:
@@ -113,8 +119,8 @@ EXTERNAL SOURCES:
     :path: ".symlinks/plugins/shared_preferences/ios"
     :path: ".symlinks/plugins/shared_preferences/ios"
   sqflite:
   sqflite:
     :path: ".symlinks/plugins/sqflite/ios"
     :path: ".symlinks/plugins/sqflite/ios"
-  TXLiteAVSDK_Professional:
-    :podspec: http://pod-1252463788.cosgz.myqcloud.com/liteavsdkspec/TXLiteAVSDK_Professional.podspec
+  TXLiteAVSDK_Smart:
+    :podspec: http://pod-1252463788.cosgz.myqcloud.com/liteavsdkspec/TXLiteAVSDK_Smart.podspec
   url_launcher:
   url_launcher:
     :path: ".symlinks/plugins/url_launcher/ios"
     :path: ".symlinks/plugins/url_launcher/ios"
   video_player:
   video_player:
@@ -129,24 +135,26 @@ SPEC CHECKSUMS:
   flutter_picker: 8cd16302a9806a9789ba6e3ce85558c70c43b7f4
   flutter_picker: 8cd16302a9806a9789ba6e3ce85558c70c43b7f4
   fluwx: 9cbb1181ef8fd772f7388714ec9b5dfd3a5d0108
   fluwx: 9cbb1181ef8fd772f7388714ec9b5dfd3a5d0108
   FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
   FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
-  get_ip: d2244f845cd4d285368dfbdb84997c20467c6c5f
+  HaishinKit: 0584dded10fae231ad22962fc7eced0d93c15fea
   image_cropper: e0a40e80b2107490926d0f15e3b42f44867c15b4
   image_cropper: e0a40e80b2107490926d0f15e3b42f44867c15b4
-  image_picker: 86b84c4fe89267356a1f17297a45b5d317ebd2e7
-  JCore: 4072327557f0b83cc22dd4041f2f839740c0077b
-  JPush: 0e9088c85c73275629facc311fe5992dfac36eeb
+  image_picker_saver: c674305b2e535d97afabfdff4e036f5da73e0167
+  JCore: 1a426120b510cdebfd67b82bfb9483238ee09413
+  JPush: 29466e5f30dbd703f640d70540e411e829cac1fa
   jpush_flutter: 1cc882286b5cac7a307a635fbd2a7c296730ca59
   jpush_flutter: 1cc882286b5cac7a307a635fbd2a7c296730ca59
+  Logboard: e3342fa111e26268bb89577e6a40a0660a423ddd
   package_info: d7c98b64f60add4c2908b9d94d82a45d3c8827ad
   package_info: d7c98b64f60add4c2908b9d94d82a45d3c8827ad
   path_provider: 09407919825bfe3c2deae39453b7a5b44f467873
   path_provider: 09407919825bfe3c2deae39453b7a5b44f467873
+  permission_handler: 4fe3594be762fe6051f294f81d6f629027f5f387
   SCLAlertView-Objective-C: 2bb9be204bffaf24762a0e33fe6ca9645819b3b7
   SCLAlertView-Objective-C: 2bb9be204bffaf24762a0e33fe6ca9645819b3b7
   screen: 22ab9c4a784112d4b21ad7d80e81729e0afdaa65
   screen: 22ab9c4a784112d4b21ad7d80e81729e0afdaa65
   screen_stream_plugin: 6eb868d62a7a7f7c734fcfdfe2a37896ea5857b8
   screen_stream_plugin: 6eb868d62a7a7f7c734fcfdfe2a37896ea5857b8
   shared_preferences: 5a1d487c427ee18fcd3ea1f2a131569481834b53
   shared_preferences: 5a1d487c427ee18fcd3ea1f2a131569481834b53
   sqflite: d1612813fa7db7c667bed9f1d1b508deffc56999
   sqflite: d1612813fa7db7c667bed9f1d1b508deffc56999
   TOCropViewController: 00dc36c4e4a0f4a45efa91adbf22df8a4fae01d3
   TOCropViewController: 00dc36c4e4a0f4a45efa91adbf22df8a4fae01d3
-  TXLiteAVSDK_Professional: f966aa6847d5a6e79f5c79f460d7aa396e1faf7b
+  TXLiteAVSDK_Smart: d150602903a6de0fbd128947d23e80d762bd6bc8
   url_launcher: 92b89c1029a0373879933c21642958c874539095
   url_launcher: 92b89c1029a0373879933c21642958c874539095
   video_player: 906796a841943c8d370ac7c13b18039aa9b56498
   video_player: 906796a841943c8d370ac7c13b18039aa9b56498
 
 
-PODFILE CHECKSUM: f7e3b0bcc95975d348ace758e86f428adc57b9ce
+PODFILE CHECKSUM: 33ab015dd516fc4bc520f73b3e19d4deb0d3b6e7
 
 
 COCOAPODS: 1.5.3
 COCOAPODS: 1.5.3

+ 12 - 0
ios/Runner.xcodeproj/project.pbxproj

@@ -76,6 +76,8 @@
 		3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
 		3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
 		3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
 		3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
 		4D281833404C36381285CE21 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 		4D281833404C36381285CE21 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		587594597F25230F09192127 /* libPods-ScreenStreamer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ScreenStreamer.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		6554D5CBF0929E22F179B306 /* Pods-ScreenStreamer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreenStreamer.release.xcconfig"; path = "Pods/Target Support Files/Pods-ScreenStreamer/Pods-ScreenStreamer.release.xcconfig"; sourceTree = "<group>"; };
 		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
 		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
 		7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
 		7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -89,7 +91,9 @@
 		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		A34DBD7F344DCCB9BFF92395 /* Pods-ScreenRecorder.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreenRecorder.release.xcconfig"; path = "Pods/Target Support Files/Pods-ScreenRecorder/Pods-ScreenRecorder.release.xcconfig"; sourceTree = "<group>"; };
 		A34DBD7F344DCCB9BFF92395 /* Pods-ScreenRecorder.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreenRecorder.release.xcconfig"; path = "Pods/Target Support Files/Pods-ScreenRecorder/Pods-ScreenRecorder.release.xcconfig"; sourceTree = "<group>"; };
+		C5C665D11520AB3195DF14BE /* Pods-ScreenStreamer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreenStreamer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ScreenStreamer/Pods-ScreenStreamer.debug.xcconfig"; sourceTree = "<group>"; };
 		DEA6326A3F3764978EE0F22E /* Pods-ScreenRecorder.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreenRecorder.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ScreenRecorder/Pods-ScreenRecorder.debug.xcconfig"; sourceTree = "<group>"; };
 		DEA6326A3F3764978EE0F22E /* Pods-ScreenRecorder.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreenRecorder.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ScreenRecorder/Pods-ScreenRecorder.debug.xcconfig"; sourceTree = "<group>"; };
+		E200EA2A136F8E77E21FEDDE /* Pods-ScreenStreamer.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreenStreamer.profile.xcconfig"; path = "Pods/Target Support Files/Pods-ScreenStreamer/Pods-ScreenStreamer.profile.xcconfig"; sourceTree = "<group>"; };
 		F54342CCED550FA6BEECF509 /* Pods-ScreenRecorder.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreenRecorder.profile.xcconfig"; path = "Pods/Target Support Files/Pods-ScreenRecorder/Pods-ScreenRecorder.profile.xcconfig"; sourceTree = "<group>"; };
 		F54342CCED550FA6BEECF509 /* Pods-ScreenRecorder.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ScreenRecorder.profile.xcconfig"; path = "Pods/Target Support Files/Pods-ScreenRecorder/Pods-ScreenRecorder.profile.xcconfig"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 /* End PBXFileReference section */
 
 
@@ -122,6 +126,7 @@
 				4D281833404C36381285CE21 /* libPods-Runner.a */,
 				4D281833404C36381285CE21 /* libPods-Runner.a */,
 				3AE2258C228942CF002955DA /* ReplayKit.framework */,
 				3AE2258C228942CF002955DA /* ReplayKit.framework */,
 				2BB97FAFEA7F3EFD8F110150 /* libPods-ScreenRecorder.a */,
 				2BB97FAFEA7F3EFD8F110150 /* libPods-ScreenRecorder.a */,
+				587594597F25230F09192127 /* libPods-ScreenStreamer.a */,
 			);
 			);
 			name = Frameworks;
 			name = Frameworks;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -202,6 +207,9 @@
 				DEA6326A3F3764978EE0F22E /* Pods-ScreenRecorder.debug.xcconfig */,
 				DEA6326A3F3764978EE0F22E /* Pods-ScreenRecorder.debug.xcconfig */,
 				A34DBD7F344DCCB9BFF92395 /* Pods-ScreenRecorder.release.xcconfig */,
 				A34DBD7F344DCCB9BFF92395 /* Pods-ScreenRecorder.release.xcconfig */,
 				F54342CCED550FA6BEECF509 /* Pods-ScreenRecorder.profile.xcconfig */,
 				F54342CCED550FA6BEECF509 /* Pods-ScreenRecorder.profile.xcconfig */,
+				C5C665D11520AB3195DF14BE /* Pods-ScreenStreamer.debug.xcconfig */,
+				6554D5CBF0929E22F179B306 /* Pods-ScreenStreamer.release.xcconfig */,
+				E200EA2A136F8E77E21FEDDE /* Pods-ScreenStreamer.profile.xcconfig */,
 			);
 			);
 			name = Pods;
 			name = Pods;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
@@ -259,6 +267,7 @@
 			isa = PBXProject;
 			isa = PBXProject;
 			attributes = {
 			attributes = {
 				DefaultBuildSystemTypeForWorkspace = Original;
 				DefaultBuildSystemTypeForWorkspace = Original;
+				LastSwiftUpdateCheck = 1020;
 				LastUpgradeCheck = 0910;
 				LastUpgradeCheck = 0910;
 				ORGANIZATIONNAME = "The Chromium Authors";
 				ORGANIZATIONNAME = "The Chromium Authors";
 				TargetAttributes = {
 				TargetAttributes = {
@@ -545,6 +554,7 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
 			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
 			buildSettings = {
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
 				CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -758,6 +768,7 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
 			baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
 			buildSettings = {
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
 				CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				CODE_SIGN_IDENTITY = "iPhone Developer";
@@ -784,6 +795,7 @@
 			isa = XCBuildConfiguration;
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
 			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
 			buildSettings = {
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
 				CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				CODE_SIGN_IDENTITY = "iPhone Developer";

+ 108 - 0
ios/Runner.xcodeproj/xcshareddata/xcschemes/ScreenRecorder.xcscheme

@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "1020"
+   wasCreatedForAppExtension = "YES"
+   version = "2.0">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "3AE2258A228942CF002955DA"
+               BuildableName = "ScreenRecorder.appex"
+               BlueprintName = "ScreenRecorder"
+               ReferencedContainer = "container:Runner.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+               BuildableName = "Runner.app"
+               BlueprintName = "Runner"
+               ReferencedContainer = "container:Runner.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES">
+      <Testables>
+      </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "3AE2258A228942CF002955DA"
+            BuildableName = "ScreenRecorder.appex"
+            BlueprintName = "ScreenRecorder"
+            ReferencedContainer = "container:Runner.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </TestAction>
+   <LaunchAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = ""
+      selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
+      allowLocationSimulation = "YES"
+      launchAutomaticallySubstyle = "2">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+            BuildableName = "Runner.app"
+            BlueprintName = "Runner"
+            ReferencedContainer = "container:Runner.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Release"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES"
+      launchAutomaticallySubstyle = "2">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
+            BuildableName = "Runner.app"
+            BlueprintName = "Runner"
+            ReferencedContainer = "container:Runner.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>

+ 15 - 9
ios/Runner/Base.lproj/LaunchScreen.storyboard

@@ -1,8 +1,12 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
+    <device id="retina6_1" orientation="portrait">
+        <adaptation id="fullscreen"/>
+    </device>
     <dependencies>
     <dependencies>
         <deployment identifier="iOS"/>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     </dependencies>
     <scenes>
     <scenes>
         <!--View Controller-->
         <!--View Controller-->
@@ -14,24 +18,26 @@
                         <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
                         <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
                     </layoutGuides>
                     </layoutGuides>
                     <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
                     <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
+                        <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                         <subviews>
-                            <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="logo" translatesAutoresizingMaskIntoConstraints="NO" id="6lc-3o-O2H">
+                                <rect key="frame" x="199" y="440" width="16" height="16"/>
                             </imageView>
                             </imageView>
                         </subviews>
                         </subviews>
-                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <color key="backgroundColor" red="0.22745098039215686" green="0.23921568627450979" blue="0.36078431372549019" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <constraints>
                         <constraints>
-                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
-                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
+                            <constraint firstItem="6lc-3o-O2H" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="qV1-B2-2Dp"/>
+                            <constraint firstItem="6lc-3o-O2H" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="yjt-jf-N2Z"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                 </viewController>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
             </objects>
-            <point key="canvasLocation" x="53" y="375"/>
+            <point key="canvasLocation" x="76.811594202898561" y="251.11607142857142"/>
         </scene>
         </scene>
     </scenes>
     </scenes>
     <resources>
     <resources>
-        <image name="LaunchImage" width="168" height="185"/>
+        <image name="logo" width="161" height="161"/>
     </resources>
     </resources>
 </document>
 </document>

+ 5 - 0
ios/ScreenRecorder/Info.plist

@@ -2,6 +2,11 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <plist version="1.0">
 <dict>
 <dict>
+	<key>NSAppTransportSecurity</key>
+	<dict>
+		<key>NSAllowsArbitraryLoads</key>
+		<true/>
+	</dict>
 	<key>CFBundleDevelopmentRegion</key>
 	<key>CFBundleDevelopmentRegion</key>
 	<string>$(DEVELOPMENT_LANGUAGE)</string>
 	<string>$(DEVELOPMENT_LANGUAGE)</string>
 	<key>CFBundleDisplayName</key>
 	<key>CFBundleDisplayName</key>

+ 4 - 0
ios/ScreenRecorder/SampleHandler.m

@@ -25,7 +25,10 @@ static void onDarwinPushStop(CFNotificationCenterRef center, void *observer, CFS
 @implementation SampleHandler
 @implementation SampleHandler
 
 
 - (void)broadcastStartedWithSetupInfo:(NSDictionary<NSString *,NSObject *> *)setupInfo {
 - (void)broadcastStartedWithSetupInfo:(NSDictionary<NSString *,NSObject *> *)setupInfo {
+    NSString * const licenceURL = @"http://license.vod2.myqcloud.com/license/v1/43ecf97f9d9c3b2ba5e7cd516e2d399e/TXLiveSDK.licence";
+    NSString * const licenceKey = @"01adf33ae4a8d91a2c6dee88677b6ac8";
     
     
+    [TXLiveBase setLicenceURL:licenceURL key:licenceKey];
     //    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
     //    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
     //                                    (__bridge const void *)(self),
     //                                    (__bridge const void *)(self),
     //                                    onDarwinPushStart,
     //                                    onDarwinPushStart,
@@ -65,6 +68,7 @@ static void onDarwinPushStop(CFNotificationCenterRef center, void *observer, CFS
     
     
     NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.izouma.wnnaBattle"];
     NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.izouma.wnnaBattle"];
     NSString *rtmpUrl = [userDefaults objectForKey:@"rtmpUrl"];
     NSString *rtmpUrl = [userDefaults objectForKey:@"rtmpUrl"];
+//    rtmpUrl = @"rtmp://202.79.174.56:1935/test/test";
     if (rtmpUrl == nil) {
     if (rtmpUrl == nil) {
         [self sendLocalNotificationToHostAppWithTitle:@"比赛未开始" msg:@"开始比赛后才能录屏" userInfo:@{@"id":@"LOCAL_NOTIFY_SCHEDULE_ID"}];
         [self sendLocalNotificationToHostAppWithTitle:@"比赛未开始" msg:@"开始比赛后才能录屏" userInfo:@{@"id":@"LOCAL_NOTIFY_SCHEDULE_ID"}];
         NSString *domain = @"com.izouma.mobilecybergames.ScreenRecorder";
         NSString *domain = @"com.izouma.mobilecybergames.ScreenRecorder";

+ 2 - 4
lib/pages/Appeal.dart

@@ -1,12 +1,10 @@
 import 'dart:io';
 import 'dart:io';
-
 import 'package:cached_network_image/cached_network_image.dart';
 import 'package:cached_network_image/cached_network_image.dart';
 import 'package:dio/dio.dart';
 import 'package:dio/dio.dart';
-import 'package:file_picker/file_picker.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/widgets.dart';
 import 'package:flutter/widgets.dart';
 import 'package:flutter_redux/flutter_redux.dart';
 import 'package:flutter_redux/flutter_redux.dart';
-import 'package:image_picker/image_picker.dart';
+import 'package:image_picker_saver/image_picker_saver.dart';
 import 'package:wanna_battle/model/PlayerInfo.dart';
 import 'package:wanna_battle/model/PlayerInfo.dart';
 import 'package:wanna_battle/net/HttpManager.dart';
 import 'package:wanna_battle/net/HttpManager.dart';
 import 'package:wanna_battle/net/Result.dart';
 import 'package:wanna_battle/net/Result.dart';
@@ -183,7 +181,7 @@ class AppealState extends State<Appeal> {
               ),
               ),
             ),
             ),
       onTap: () async {
       onTap: () async {
-        File file = await ImagePicker.pickImage(source: ImageSource.gallery, maxWidth: 1000);
+        File file = await ImagePickerSaver.pickImage(source: ImageSource.gallery, maxWidth: 1000);
         if (file == null) {
         if (file == null) {
           return;
           return;
         }
         }

+ 11 - 13
lib/pages/MyCode.dart

@@ -1,26 +1,23 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/material.dart' as prefix0;
-import 'package:flutter/rendering.dart';
-import 'package:flutter/rendering.dart' as prefix1;
 import 'dart:ui';
 import 'dart:ui';
 import 'dart:typed_data';
 import 'dart:typed_data';
 import 'dart:async';
 import 'dart:async';
+import 'dart:ui' as ui;
+import 'dart:io';
+import 'package:flutter/material.dart';
+import 'package:flutter/rendering.dart';
+import 'package:permission_handler/permission_handler.dart';
+import 'package:image_picker_saver/image_picker_saver.dart';
 import 'package:qr_flutter/qr_flutter.dart';
 import 'package:qr_flutter/qr_flutter.dart';
 import 'package:redux/redux.dart';
 import 'package:redux/redux.dart';
 import 'package:flutter_redux/flutter_redux.dart';
 import 'package:flutter_redux/flutter_redux.dart';
+import 'package:path_provider/path_provider.dart';
 import '../redux/AppState.dart';
 import '../redux/AppState.dart';
 import '../model/UserInfo.dart';
 import '../model/UserInfo.dart';
 import '../widget/LinearButton.dart';
 import '../widget/LinearButton.dart';
-import 'dart:ui' as ui;
-import 'dart:io';
-import 'package:path_provider/path_provider.dart';
-import '../widget/Dialog.dart';
 import '../net/HttpManager.dart';
 import '../net/HttpManager.dart';
 import '../styles/totast.dart';
 import '../styles/totast.dart';
 import '../net/Result.dart';
 import '../net/Result.dart';
 import '../model/ChannelInfo.dart';
 import '../model/ChannelInfo.dart';
-import 'package:image_gallery_saver/image_gallery_saver.dart';
-import 'package:permission_handler/permission_handler.dart';
 
 
 class MyCode extends StatefulWidget {
 class MyCode extends StatefulWidget {
   @override
   @override
@@ -154,7 +151,7 @@ class MyCodeState extends State<MyCode> {
                               // MyDialog.showDialog(context, '手动截图立即分享二维码给小伙伴吧!');
                               // MyDialog.showDialog(context, '手动截图立即分享二维码给小伙伴吧!');
                               Uint8List val = await _capturePng();
                               Uint8List val = await _capturePng();
                               print(val);
                               print(val);
-                              final result = await ImageGallerySaver.saveImage(val);
+                              final result = await ImagePickerSaver.saveFile(fileData: val);
                               print(result);
                               print(result);
                               Toast.show(context, '保存成功', 1500, 'success');
                               Toast.show(context, '保存成功', 1500, 'success');
                             },
                             },
@@ -175,7 +172,7 @@ class MyCodeState extends State<MyCode> {
                                   );
                                   );
                                 },
                                 },
                                 pageBuilder: (BuildContext context, _, __) {
                                 pageBuilder: (BuildContext context, _, __) {
-                                  return Rule(0.1*channelInfo.ratio,0.1*channelInfo.ratio2);
+                                  return Rule(0.1 * channelInfo.ratio, 0.1 * channelInfo.ratio2);
                                 }));
                                 }));
                           },
                           },
                           child: Row(
                           child: Row(
@@ -203,8 +200,9 @@ class MyCodeState extends State<MyCode> {
         });
         });
   }
   }
 }
 }
+
 class Rule extends Dialog {
 class Rule extends Dialog {
-  Rule(this.ratio,this.ratio2);
+  Rule(this.ratio, this.ratio2);
   double ratio;
   double ratio;
   double ratio2;
   double ratio2;
   @override
   @override

+ 3 - 17
pubspec.lock

@@ -270,13 +270,6 @@ packages:
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
     version: "0.1.18"
     version: "0.1.18"
-  get_ip:
-    dependency: "direct main"
-    description:
-      name: get_ip
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.3.0"
   glob:
   glob:
     dependency: transitive
     dependency: transitive
     description:
     description:
@@ -326,20 +319,13 @@ packages:
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
     version: "1.0.2"
     version: "1.0.2"
-  image_gallery_saver:
+  image_picker_saver:
     dependency: "direct main"
     dependency: "direct main"
     description:
     description:
-      name: image_gallery_saver
+      name: image_picker_saver
       url: "https://pub.dartlang.org"
       url: "https://pub.dartlang.org"
     source: hosted
     source: hosted
-    version: "1.2.0"
-  image_picker:
-    dependency: "direct main"
-    description:
-      name: image_picker
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.6.0+12"
+    version: "0.3.0"
   intl:
   intl:
     dependency: "direct main"
     dependency: "direct main"
     description:
     description:

+ 1 - 3
pubspec.yaml

@@ -40,10 +40,8 @@ dependencies:
   flutter_bugly: ^0.2.2
   flutter_bugly: ^0.2.2
   battery: ^0.3.0+4
   battery: ^0.3.0+4
   cached_network_image: ^0.8.0
   cached_network_image: ^0.8.0
-  image_picker: ^0.6.0+4
-  get_ip: ^0.3.0
+  image_picker_saver: ^0.3.0
   photo_view: ^0.3.3
   photo_view: ^0.3.3
-  image_gallery_saver: ^1.2.0
   permission_handler: ^3.0.1
   permission_handler: ^3.0.1
   fluwx:
   fluwx:
     git:
     git: