Commit 6c93895d by ludi

增加一个player类

parent b7c966c7
Showing with 40 additions and 5 deletions
......@@ -28,7 +28,8 @@ Pod::Spec.new do |s|
s.source_files = ['FUSCommon/Classes/**/*.{m,h,swift}','FUSCommon/FUSRouter/**/*.{m,h,swift}', 'FUSCommon/FUSCommon.h']
s.vendored_frameworks = [
'FUSCommon/Vendor/Flutter/Flutter.xcframework',
'FUSCommon/Vendor/Flutter/App.xcframework'
'FUSCommon/Vendor/Flutter/App.xcframework',
'FUSCommon/Vendor/Flutter/video_player_avfoundation.xcframework'
]
s.resource_bundles = {
'FUSCommonBundle' => ['FUSCommon/Assets/*.xcassets',
......
......@@ -40,6 +40,7 @@ public class FUSFlutterEngineFactory: NSObject {
} else {
newEngine.run()
}
FUSFlutterPluginRegistrant.register(with: newEngine)
engine = newEngine
engineConfigurator?(newEngine)
}
......@@ -71,6 +72,7 @@ public class FUSFlutterEngineFactory: NSObject {
} else {
newEngine.run()
}
FUSFlutterPluginRegistrant.register(with: newEngine)
dedicatedEngineMap[identifier] = newEngine
engineConfigurator?(newEngine)
return newEngine
......
import Flutter
import Foundation
/// Flutter 原生插件注册器。
///
/// 当前用于注册以二进制 xcframework 方式交付的 Flutter iOS 插件。
@objcMembers
public final class FUSFlutterPluginRegistrant: NSObject {
/// 已知需要注册的插件类名列表。
private static let pluginClassNames = [
"VideoPlayerPlugin",
"video_player_avfoundation.VideoPlayerPlugin"
]
/// 向指定 FlutterEngine 注册当前已接入的原生插件。
///
/// - Parameter engine: 需要安装原生插件的 FlutterEngine。
public static func register(with engine: FlutterEngine) {
for className in pluginClassNames {
guard let pluginClass = NSClassFromString(className) as? NSObject.Type else {
continue
}
let selector = NSSelectorFromString("registerWithRegistrar:")
guard pluginClass.responds(to: selector) else {
continue
}
let registrar = engine.registrar(forPlugin: className)
_ = pluginClass.perform(selector, with: registrar)
return
}
}
}
[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"Microsoft YaHei","fonts":[{"asset":"lib/core/font/msyh.ttf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]
\ No newline at end of file
[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"SystemYaHei","fonts":[{"asset":"lib/core/font/yahei.woff2"}]},{"family":"PkScoreProgress","fonts":[{"asset":"lib/core/font/PkScoreProgress.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]
\ No newline at end of file
{"format-version":[1,0,0],"native-assets":{}}
\ No newline at end of file
{"format-version":[1,0,0],"native-assets":{"ios_arm64":{"package:objective_c/objective_c.dylib":["absolute","objective_c.framework/objective_c"]}}}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment