ilabs-flir 2.0.4 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Flir.podspec +139 -139
- package/README.md +1066 -1066
- package/android/Flir/build.gradle.kts +72 -72
- package/android/Flir/src/main/AndroidManifest.xml +45 -45
- package/android/Flir/src/main/java/flir/android/FlirCommands.java +136 -136
- package/android/Flir/src/main/java/flir/android/FlirFrameCache.kt +6 -6
- package/android/Flir/src/main/java/flir/android/FlirManager.kt +476 -476
- package/android/Flir/src/main/java/flir/android/FlirModule.kt +257 -257
- package/android/Flir/src/main/java/flir/android/FlirPackage.kt +18 -18
- package/android/Flir/src/main/java/flir/android/FlirSDKLoader.kt +74 -74
- package/android/Flir/src/main/java/flir/android/FlirSdkManager.java +583 -583
- package/android/Flir/src/main/java/flir/android/FlirStatus.kt +12 -12
- package/android/Flir/src/main/java/flir/android/FlirView.kt +48 -48
- package/android/Flir/src/main/java/flir/android/FlirViewManager.kt +13 -13
- package/app.plugin.js +381 -381
- package/expo-module.config.json +5 -5
- package/ios/Flir/src/Flir-Bridging-Header.h +34 -34
- package/ios/Flir/src/FlirEventEmitter.h +25 -25
- package/ios/Flir/src/FlirEventEmitter.m +63 -63
- package/ios/Flir/src/FlirManager.swift +599 -599
- package/ios/Flir/src/FlirModule.h +17 -17
- package/ios/Flir/src/FlirModule.m +713 -713
- package/ios/Flir/src/FlirPreviewView.h +13 -13
- package/ios/Flir/src/FlirPreviewView.m +171 -171
- package/ios/Flir/src/FlirState.h +68 -68
- package/ios/Flir/src/FlirState.m +135 -135
- package/ios/Flir/src/FlirViewManager.h +16 -16
- package/ios/Flir/src/FlirViewManager.m +27 -27
- package/package.json +70 -71
- package/react-native.config.js +14 -14
- package/scripts/fetch-binaries.js +103 -17
- package/sdk-manifest.json +50 -50
- package/src/index.d.ts +63 -63
- package/src/index.js +7 -7
- package/src/index.ts +6 -6
package/Flir.podspec
CHANGED
|
@@ -1,139 +1,139 @@
|
|
|
1
|
-
Pod::Spec.new do |s|
|
|
2
|
-
s.name = 'Flir'
|
|
3
|
-
s.version = '2.0.0'
|
|
4
|
-
s.summary = 'FLIR Thermal SDK React Native - Bundled via postinstall'
|
|
5
|
-
s.description = <<-DESC
|
|
6
|
-
A React Native wrapper for the FLIR Thermal SDK, providing thermal imaging
|
|
7
|
-
capabilities for iOS applications. Supports discovery, connection, and
|
|
8
|
-
streaming from FLIR ONE and other FLIR thermal cameras.
|
|
9
|
-
|
|
10
|
-
Can be built with or without the FLIR SDK using the FLIR_ENABLED flag.
|
|
11
|
-
DESC
|
|
12
|
-
s.homepage = 'https://github.com/PraveenOjha/Flir'
|
|
13
|
-
s.license = { :type => 'MIT' }
|
|
14
|
-
s.author = { 'Praveen Ojha' => 'https://github.com/PraveenOjha' }
|
|
15
|
-
s.source = { :git => 'https://github.com/PraveenOjha/Flir.git', :tag => s.version.to_s }
|
|
16
|
-
s.platform = :ios, '13.0'
|
|
17
|
-
s.swift_version = '5.0'
|
|
18
|
-
|
|
19
|
-
# Source files
|
|
20
|
-
s.source_files = [
|
|
21
|
-
'ios/Flir/src/**/*.{h,m,mm,swift}',
|
|
22
|
-
'ios/Flir/SDKLoader/**/*.{h,m,swift}'
|
|
23
|
-
]
|
|
24
|
-
s.public_header_files = 'ios/Flir/src/**/*.h'
|
|
25
|
-
|
|
26
|
-
# Resource bundles for SDK manifest
|
|
27
|
-
s.resource_bundles = {
|
|
28
|
-
'FlirSDKResources' => ['sdk-manifest.json']
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
# System frameworks
|
|
32
|
-
s.frameworks = 'ExternalAccessory', 'Foundation', 'UIKit', 'Metal', 'MetalKit'
|
|
33
|
-
|
|
34
|
-
# React Native dependency
|
|
35
|
-
s.dependency 'React-Core'
|
|
36
|
-
|
|
37
|
-
# ==========================================================================
|
|
38
|
-
# FLIR SDK CONFIGURATION
|
|
39
|
-
# ==========================================================================
|
|
40
|
-
#
|
|
41
|
-
# By default, this pod builds WITH FLIR SDK support. To build WITHOUT the
|
|
42
|
-
# FLIR SDK (for development on machines without paid developer license):
|
|
43
|
-
#
|
|
44
|
-
# Option 1: Environment variable
|
|
45
|
-
# FLIR_DISABLED=1 pod install
|
|
46
|
-
#
|
|
47
|
-
# Option 2: In your app's Podfile, before `use_native_modules!`:
|
|
48
|
-
# ENV['FLIR_DISABLED'] = '1'
|
|
49
|
-
#
|
|
50
|
-
# When FLIR is disabled, the module provides fallback stub implementations
|
|
51
|
-
# that return placeholder images and mock temperature data.
|
|
52
|
-
# ==========================================================================
|
|
53
|
-
|
|
54
|
-
flir_disabled = ENV['FLIR_DISABLED'] == '1' || ENV['FLIR_DISABLED'] == 'true'
|
|
55
|
-
|
|
56
|
-
if flir_disabled
|
|
57
|
-
puts "[Flir.podspec] ⚠️ Building WITHOUT FLIR SDK (FLIR_DISABLED=1)"
|
|
58
|
-
|
|
59
|
-
s.pod_target_xcconfig = {
|
|
60
|
-
'ENABLE_BITCODE' => 'NO',
|
|
61
|
-
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) FLIR_DISABLED=1',
|
|
62
|
-
'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited)',
|
|
63
|
-
'OTHER_SWIFT_FLAGS' => '$(inherited)'
|
|
64
|
-
}
|
|
65
|
-
else
|
|
66
|
-
puts "[Flir.podspec] ✅ Building WITH FLIR SDK support"
|
|
67
|
-
|
|
68
|
-
# Check if ThermalSDK.xcframework exists in the SDK folder
|
|
69
|
-
sdk_framework_path = File.join(__dir__, 'ios', 'Flir', 'Frameworks', 'ThermalSDK.xcframework')
|
|
70
|
-
sdk_available = File.exist?(sdk_framework_path)
|
|
71
|
-
|
|
72
|
-
if sdk_available
|
|
73
|
-
puts "[Flir.podspec] ✅ ThermalSDK.xcframework found"
|
|
74
|
-
|
|
75
|
-
# Vendored frameworks - the actual SDK
|
|
76
|
-
s.vendored_frameworks = [
|
|
77
|
-
'ios/Flir/Frameworks/ThermalSDK.xcframework',
|
|
78
|
-
'ios/Flir/Frameworks/libavcodec.61.dylib.xcframework',
|
|
79
|
-
'ios/Flir/Frameworks/libavdevice.61.dylib.xcframework',
|
|
80
|
-
'ios/Flir/Frameworks/libavfilter.10.dylib.xcframework',
|
|
81
|
-
'ios/Flir/Frameworks/libavformat.61.dylib.xcframework',
|
|
82
|
-
'ios/Flir/Frameworks/libavutil.59.dylib.xcframework',
|
|
83
|
-
'ios/Flir/Frameworks/liblive666.dylib.xcframework',
|
|
84
|
-
'ios/Flir/Frameworks/libswresample.5.dylib.xcframework',
|
|
85
|
-
'ios/Flir/Frameworks/libswscale.8.dylib.xcframework'
|
|
86
|
-
].select { |f| File.exist?(File.join(__dir__, f)) }
|
|
87
|
-
|
|
88
|
-
s.pod_target_xcconfig = {
|
|
89
|
-
'ENABLE_BITCODE' => 'NO',
|
|
90
|
-
'ENABLE_LIBRARY_VALIDATION' => 'NO',
|
|
91
|
-
'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/Frameworks @loader_path/Frameworks',
|
|
92
|
-
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) FLIR_SDK_AVAILABLE=1',
|
|
93
|
-
'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited) FLIR_ENABLED',
|
|
94
|
-
'OTHER_SWIFT_FLAGS' => '$(inherited) -DFLIR_ENABLED',
|
|
95
|
-
'HEADER_SEARCH_PATHS' => '$(inherited) "$(PODS_TARGET_SRCROOT)/ios/Flir/Framework"'
|
|
96
|
-
}
|
|
97
|
-
else
|
|
98
|
-
puts "[Flir.podspec] ⚠️ ThermalSDK.xcframework NOT found - using header stubs only"
|
|
99
|
-
puts "[Flir.podspec] To enable full SDK, copy FLIR SDK xcframeworks to ios/Flir/Frameworks/"
|
|
100
|
-
|
|
101
|
-
# Use weak linking to allow compilation without actual framework
|
|
102
|
-
s.pod_target_xcconfig = {
|
|
103
|
-
'ENABLE_BITCODE' => 'NO',
|
|
104
|
-
'OTHER_LDFLAGS' => '-weak_framework ThermalSDK',
|
|
105
|
-
'HEADER_SEARCH_PATHS' => '$(inherited) "$(PODS_TARGET_SRCROOT)/ios/Flir/Framework"',
|
|
106
|
-
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited)',
|
|
107
|
-
'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited)',
|
|
108
|
-
'OTHER_SWIFT_FLAGS' => '$(inherited)'
|
|
109
|
-
}
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
# User target configuration
|
|
114
|
-
s.user_target_xcconfig = {
|
|
115
|
-
'ENABLE_BITCODE' => 'NO'
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
# Additional notes for integrating the SDK
|
|
119
|
-
s.description = <<-DESC
|
|
120
|
-
FLIR Thermal SDK React Native wrapper for iOS.
|
|
121
|
-
|
|
122
|
-
INSTALLATION:
|
|
123
|
-
1. Install via npm: npm install ilabs-flir
|
|
124
|
-
2. Run pod install in your iOS directory
|
|
125
|
-
|
|
126
|
-
SDK SETUP:
|
|
127
|
-
The FLIR ThermalSDK is not included in the repo due to licensing, but this package
|
|
128
|
-
provides a `postinstall` script that can download official release artifacts and
|
|
129
|
-
place them into `ios/Flir/Frameworks/` and `android/Flir/libs/` during npm install.
|
|
130
|
-
To enable full functionality manually:
|
|
131
|
-
1. Download ThermalSDK.xcframework from FLIR
|
|
132
|
-
2. Copy to node_modules/ilabs-flir/ios/Flir/Frameworks/
|
|
133
|
-
3. Run pod install again
|
|
134
|
-
|
|
135
|
-
BUILDING WITHOUT SDK:
|
|
136
|
-
Set FLIR_DISABLED=1 before pod install to build without SDK.
|
|
137
|
-
This enables development without a paid FLIR developer license.
|
|
138
|
-
DESC
|
|
139
|
-
end
|
|
1
|
+
Pod::Spec.new do |s|
|
|
2
|
+
s.name = 'Flir'
|
|
3
|
+
s.version = '2.0.0'
|
|
4
|
+
s.summary = 'FLIR Thermal SDK React Native - Bundled via postinstall'
|
|
5
|
+
s.description = <<-DESC
|
|
6
|
+
A React Native wrapper for the FLIR Thermal SDK, providing thermal imaging
|
|
7
|
+
capabilities for iOS applications. Supports discovery, connection, and
|
|
8
|
+
streaming from FLIR ONE and other FLIR thermal cameras.
|
|
9
|
+
|
|
10
|
+
Can be built with or without the FLIR SDK using the FLIR_ENABLED flag.
|
|
11
|
+
DESC
|
|
12
|
+
s.homepage = 'https://github.com/PraveenOjha/Flir'
|
|
13
|
+
s.license = { :type => 'MIT' }
|
|
14
|
+
s.author = { 'Praveen Ojha' => 'https://github.com/PraveenOjha' }
|
|
15
|
+
s.source = { :git => 'https://github.com/PraveenOjha/Flir.git', :tag => s.version.to_s }
|
|
16
|
+
s.platform = :ios, '13.0'
|
|
17
|
+
s.swift_version = '5.0'
|
|
18
|
+
|
|
19
|
+
# Source files
|
|
20
|
+
s.source_files = [
|
|
21
|
+
'ios/Flir/src/**/*.{h,m,mm,swift}',
|
|
22
|
+
'ios/Flir/SDKLoader/**/*.{h,m,swift}'
|
|
23
|
+
]
|
|
24
|
+
s.public_header_files = 'ios/Flir/src/**/*.h'
|
|
25
|
+
|
|
26
|
+
# Resource bundles for SDK manifest
|
|
27
|
+
s.resource_bundles = {
|
|
28
|
+
'FlirSDKResources' => ['sdk-manifest.json']
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
# System frameworks
|
|
32
|
+
s.frameworks = 'ExternalAccessory', 'Foundation', 'UIKit', 'Metal', 'MetalKit'
|
|
33
|
+
|
|
34
|
+
# React Native dependency
|
|
35
|
+
s.dependency 'React-Core'
|
|
36
|
+
|
|
37
|
+
# ==========================================================================
|
|
38
|
+
# FLIR SDK CONFIGURATION
|
|
39
|
+
# ==========================================================================
|
|
40
|
+
#
|
|
41
|
+
# By default, this pod builds WITH FLIR SDK support. To build WITHOUT the
|
|
42
|
+
# FLIR SDK (for development on machines without paid developer license):
|
|
43
|
+
#
|
|
44
|
+
# Option 1: Environment variable
|
|
45
|
+
# FLIR_DISABLED=1 pod install
|
|
46
|
+
#
|
|
47
|
+
# Option 2: In your app's Podfile, before `use_native_modules!`:
|
|
48
|
+
# ENV['FLIR_DISABLED'] = '1'
|
|
49
|
+
#
|
|
50
|
+
# When FLIR is disabled, the module provides fallback stub implementations
|
|
51
|
+
# that return placeholder images and mock temperature data.
|
|
52
|
+
# ==========================================================================
|
|
53
|
+
|
|
54
|
+
flir_disabled = ENV['FLIR_DISABLED'] == '1' || ENV['FLIR_DISABLED'] == 'true'
|
|
55
|
+
|
|
56
|
+
if flir_disabled
|
|
57
|
+
puts "[Flir.podspec] ⚠️ Building WITHOUT FLIR SDK (FLIR_DISABLED=1)"
|
|
58
|
+
|
|
59
|
+
s.pod_target_xcconfig = {
|
|
60
|
+
'ENABLE_BITCODE' => 'NO',
|
|
61
|
+
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) FLIR_DISABLED=1',
|
|
62
|
+
'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited)',
|
|
63
|
+
'OTHER_SWIFT_FLAGS' => '$(inherited)'
|
|
64
|
+
}
|
|
65
|
+
else
|
|
66
|
+
puts "[Flir.podspec] ✅ Building WITH FLIR SDK support"
|
|
67
|
+
|
|
68
|
+
# Check if ThermalSDK.xcframework exists in the SDK folder
|
|
69
|
+
sdk_framework_path = File.join(__dir__, 'ios', 'Flir', 'Frameworks', 'ThermalSDK.xcframework')
|
|
70
|
+
sdk_available = File.exist?(sdk_framework_path)
|
|
71
|
+
|
|
72
|
+
if sdk_available
|
|
73
|
+
puts "[Flir.podspec] ✅ ThermalSDK.xcframework found"
|
|
74
|
+
|
|
75
|
+
# Vendored frameworks - the actual SDK
|
|
76
|
+
s.vendored_frameworks = [
|
|
77
|
+
'ios/Flir/Frameworks/ThermalSDK.xcframework',
|
|
78
|
+
'ios/Flir/Frameworks/libavcodec.61.dylib.xcframework',
|
|
79
|
+
'ios/Flir/Frameworks/libavdevice.61.dylib.xcframework',
|
|
80
|
+
'ios/Flir/Frameworks/libavfilter.10.dylib.xcframework',
|
|
81
|
+
'ios/Flir/Frameworks/libavformat.61.dylib.xcframework',
|
|
82
|
+
'ios/Flir/Frameworks/libavutil.59.dylib.xcframework',
|
|
83
|
+
'ios/Flir/Frameworks/liblive666.dylib.xcframework',
|
|
84
|
+
'ios/Flir/Frameworks/libswresample.5.dylib.xcframework',
|
|
85
|
+
'ios/Flir/Frameworks/libswscale.8.dylib.xcframework'
|
|
86
|
+
].select { |f| File.exist?(File.join(__dir__, f)) }
|
|
87
|
+
|
|
88
|
+
s.pod_target_xcconfig = {
|
|
89
|
+
'ENABLE_BITCODE' => 'NO',
|
|
90
|
+
'ENABLE_LIBRARY_VALIDATION' => 'NO',
|
|
91
|
+
'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/Frameworks @loader_path/Frameworks',
|
|
92
|
+
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) FLIR_SDK_AVAILABLE=1',
|
|
93
|
+
'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited) FLIR_ENABLED',
|
|
94
|
+
'OTHER_SWIFT_FLAGS' => '$(inherited) -DFLIR_ENABLED',
|
|
95
|
+
'HEADER_SEARCH_PATHS' => '$(inherited) "$(PODS_TARGET_SRCROOT)/ios/Flir/Framework"'
|
|
96
|
+
}
|
|
97
|
+
else
|
|
98
|
+
puts "[Flir.podspec] ⚠️ ThermalSDK.xcframework NOT found - using header stubs only"
|
|
99
|
+
puts "[Flir.podspec] To enable full SDK, copy FLIR SDK xcframeworks to ios/Flir/Frameworks/"
|
|
100
|
+
|
|
101
|
+
# Use weak linking to allow compilation without actual framework
|
|
102
|
+
s.pod_target_xcconfig = {
|
|
103
|
+
'ENABLE_BITCODE' => 'NO',
|
|
104
|
+
'OTHER_LDFLAGS' => '-weak_framework ThermalSDK',
|
|
105
|
+
'HEADER_SEARCH_PATHS' => '$(inherited) "$(PODS_TARGET_SRCROOT)/ios/Flir/Framework"',
|
|
106
|
+
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited)',
|
|
107
|
+
'SWIFT_ACTIVE_COMPILATION_CONDITIONS' => '$(inherited)',
|
|
108
|
+
'OTHER_SWIFT_FLAGS' => '$(inherited)'
|
|
109
|
+
}
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# User target configuration
|
|
114
|
+
s.user_target_xcconfig = {
|
|
115
|
+
'ENABLE_BITCODE' => 'NO'
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
# Additional notes for integrating the SDK
|
|
119
|
+
s.description = <<-DESC
|
|
120
|
+
FLIR Thermal SDK React Native wrapper for iOS.
|
|
121
|
+
|
|
122
|
+
INSTALLATION:
|
|
123
|
+
1. Install via npm: npm install ilabs-flir
|
|
124
|
+
2. Run pod install in your iOS directory
|
|
125
|
+
|
|
126
|
+
SDK SETUP:
|
|
127
|
+
The FLIR ThermalSDK is not included in the repo due to licensing, but this package
|
|
128
|
+
provides a `postinstall` script that can download official release artifacts and
|
|
129
|
+
place them into `ios/Flir/Frameworks/` and `android/Flir/libs/` during npm install.
|
|
130
|
+
To enable full functionality manually:
|
|
131
|
+
1. Download ThermalSDK.xcframework from FLIR
|
|
132
|
+
2. Copy to node_modules/ilabs-flir/ios/Flir/Frameworks/
|
|
133
|
+
3. Run pod install again
|
|
134
|
+
|
|
135
|
+
BUILDING WITHOUT SDK:
|
|
136
|
+
Set FLIR_DISABLED=1 before pod install to build without SDK.
|
|
137
|
+
This enables development without a paid FLIR developer license.
|
|
138
|
+
DESC
|
|
139
|
+
end
|