hikvision_flutter
A Flutter wrapper of HIKvision SDK.
1. Common
Yêu cầu chung: Tất cả các methods, params gửi/nhận giữa Flutter và native phải sử dụng pigeon
để generate tự động, config ở file pigeons/messages.dart
2. iOS
2.1. Generate pigeon messages
flutter pub run pigeon \
--input ./pigeons/messages.dart \
--dart_out ./lib/platform_communication.dart \
--dart_test_out ./test/platform_communication_test.dart \
--objc_header_out ./ios/Classes/platform_communication.h \
--objc_source_out ./ios/Classes/platform_communication.mm \
--java_out ./android/src/main/kotlin/vn/zensho/hikvision/hikvision_flutter/PlatformCommunication.java \
--java_package "vn.zensho.hikvision.hikvision_flutter"
2.2. Notes
- bắt buộc phải sử dụng ObjectiveC++, không thể dùng swift (swift không build được/build lỗi)
- tất cả các file .m (ObjectiveC) đổi tên thành .mm (ObjectiveC++) (chú ý: file 'example/ios/Runner/GeneratedPluginRegistrant.m' cũng cần đổi đuôi)
- tất cả các file header của sdk được copy vào folder project/ios/Classes.
- tất cả các file library được copy vào folder
project/ios/lib
- tất cả các file library phải được bắt đầu bằng
lib
. vd:libHCNetSDK.a
, nếu không thì rename. - file podspec cần thêm các dòng này:
s.vendored_libraries = 'lib/*.a'
s.framework = 'AVFoundation', 'OpenAL', 'CoreGraphics', 'OpenGLES', 'QuartzCore', 'AudioToolBox', 'VideoToolBox', 'CoreVideo', 'CoreMedia', 'Foundation', 'GLKit', 'UIKit'
s.library = 'iconv', 'bz2'