@bluebillywig/react-native-bb-player 8.47.1 → 8.47.3

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.
Files changed (58) hide show
  1. package/android/build.gradle +0 -10
  2. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/8.46.0/bbnativeplayersdk-8.46.0.aar +0 -0
  3. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/8.46.0/bbnativeplayersdk-8.46.0.module +137 -0
  4. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk/8.46.0/bbnativeplayersdk-8.46.0.pom +57 -0
  5. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/8.46.0/bbnativeplayersdk-core-8.46.0.aar +0 -0
  6. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/8.46.0/bbnativeplayersdk-core-8.46.0.module +264 -0
  7. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeplayersdk-core/8.46.0/bbnativeplayersdk-core-8.46.0.pom +171 -0
  8. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/8.46.0/bbnativeshared-8.46.0.jar +0 -0
  9. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/8.46.0/bbnativeshared-8.46.0.module +159 -0
  10. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared/8.46.0/bbnativeshared-8.46.0.pom +36 -0
  11. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/8.46.0/bbnativeshared-android-8.46.0.aar +0 -0
  12. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/8.46.0/bbnativeshared-android-8.46.0.module +329 -0
  13. package/android/repo/com/bluebillywig/bbnativeplayersdk/bbnativeshared-android/8.46.0/bbnativeshared-android-8.46.0.pom +267 -0
  14. package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerModule.kt +5 -0
  15. package/android/src/main/java/com/bluebillywig/bbplayer/BBPlayerView.kt +8 -0
  16. package/ios/BBCastButtonView.swift +1 -1
  17. package/ios/BBCastButtonViewManager.swift +3 -3
  18. package/ios/BBCastMiniControlsView.swift +1 -1
  19. package/ios/BBCastMiniControlsViewManager.swift +3 -3
  20. package/ios/BBPlayerExtensions.swift +1 -1
  21. package/ios/BBPlayerModule.mm +1 -0
  22. package/ios/BBPlayerModule.swift +72 -152
  23. package/ios/BBPlayerView.swift +21 -9
  24. package/ios/BBPlayerViewManager.swift +34 -73
  25. package/ios/BBShortsView.swift +6 -3
  26. package/ios/BBShortsViewManager.swift +11 -9
  27. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64/BBNativePlayerKit.framework/_CodeSignature/CodeResources +256 -0
  28. package/ios/Frameworks/BBNativePlayerKit.xcframework/ios-arm64_x86_64-simulator/BBNativePlayerKit.framework/_CodeSignature/CodeResources +311 -0
  29. package/lib/commonjs/BBOutstreamView.js +1 -0
  30. package/lib/commonjs/BBOutstreamView.js.map +1 -1
  31. package/lib/commonjs/NativeCommands.js +4 -0
  32. package/lib/commonjs/NativeCommands.js.map +1 -1
  33. package/lib/commonjs/index.js +0 -4
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/specs/NativeBBPlayerModule.js.map +1 -1
  36. package/lib/module/BBOutstreamView.js +1 -0
  37. package/lib/module/BBOutstreamView.js.map +1 -1
  38. package/lib/module/NativeCommands.js +4 -0
  39. package/lib/module/NativeCommands.js.map +1 -1
  40. package/lib/module/index.js +0 -8
  41. package/lib/module/index.js.map +1 -1
  42. package/lib/module/specs/NativeBBPlayerModule.js.map +1 -1
  43. package/lib/typescript/src/BBOutstreamView.d.ts.map +1 -1
  44. package/lib/typescript/src/BBPlayer.types.d.ts +2 -0
  45. package/lib/typescript/src/BBPlayer.types.d.ts.map +1 -1
  46. package/lib/typescript/src/NativeCommands.d.ts +1 -0
  47. package/lib/typescript/src/NativeCommands.d.ts.map +1 -1
  48. package/lib/typescript/src/index.d.ts +0 -4
  49. package/lib/typescript/src/index.d.ts.map +1 -1
  50. package/lib/typescript/src/specs/NativeBBPlayerModule.d.ts +1 -0
  51. package/lib/typescript/src/specs/NativeBBPlayerModule.d.ts.map +1 -1
  52. package/package.json +1 -1
  53. package/react-native-bb-player.podspec +3 -2
  54. package/src/BBOutstreamView.tsx +1 -0
  55. package/src/BBPlayer.types.ts +2 -0
  56. package/src/NativeCommands.ts +4 -0
  57. package/src/index.ts +0 -8
  58. package/src/specs/NativeBBPlayerModule.ts +1 -0
@@ -1,165 +1,126 @@
1
1
  import Foundation
2
- import React
2
+ @preconcurrency import React
3
3
 
4
4
  @objc(BBPlayerViewManager)
5
- class BBPlayerViewManager: RCTViewManager {
5
+ class BBPlayerViewManager: RCTViewManager, @unchecked Sendable {
6
6
 
7
7
  override func view() -> UIView! {
8
- return BBPlayerView()
8
+ return MainActor.assumeIsolated { BBPlayerView() }
9
9
  }
10
10
 
11
11
  override static func requiresMainQueueSetup() -> Bool {
12
12
  return true
13
13
  }
14
14
 
15
- // Override moduleName to expose as "BBPlayerView" instead of default "BBPlayer"
16
- // This is required for Fabric interop to find the component correctly
17
15
  @objc override static func moduleName() -> String! {
18
16
  return "BBPlayerView"
19
17
  }
20
18
 
21
- // MARK: - Helper to get view by tag
19
+ // MARK: - Helpers
22
20
 
23
21
  private func getView(_ reactTag: NSNumber) -> BBPlayerView? {
24
22
  return self.bridge.uiManager.view(forReactTag: reactTag) as? BBPlayerView
25
23
  }
26
24
 
25
+ /// Dispatch to main queue and enter @MainActor context for calling UIView methods.
26
+ private func onMainActor(_ work: @MainActor @Sendable @escaping () -> Void) {
27
+ DispatchQueue.main.async {
28
+ MainActor.assumeIsolated(work)
29
+ }
30
+ }
31
+
27
32
  // MARK: - Commands
28
33
 
29
34
  @objc func play(_ reactTag: NSNumber) {
30
- DispatchQueue.main.async {
31
- self.getView(reactTag)?.play()
32
- }
35
+ onMainActor { self.getView(reactTag)?.play() }
33
36
  }
34
37
 
35
38
  @objc func pause(_ reactTag: NSNumber) {
36
- DispatchQueue.main.async {
37
- self.getView(reactTag)?.pause()
38
- }
39
+ onMainActor { self.getView(reactTag)?.pause() }
39
40
  }
40
41
 
41
42
  @objc func seek(_ reactTag: NSNumber, offsetInSeconds: NSNumber) {
42
- DispatchQueue.main.async {
43
- self.getView(reactTag)?.seek(offsetInSeconds.intValue)
44
- }
43
+ onMainActor { self.getView(reactTag)?.seek(offsetInSeconds.intValue) }
45
44
  }
46
45
 
47
46
  @objc func seekRelative(_ reactTag: NSNumber, offsetInSeconds: NSNumber) {
48
- DispatchQueue.main.async {
49
- self.getView(reactTag)?.seekRelative(offsetInSeconds.doubleValue)
50
- }
47
+ onMainActor { self.getView(reactTag)?.seekRelative(offsetInSeconds.doubleValue) }
51
48
  }
52
49
 
53
50
  @objc func setMuted(_ reactTag: NSNumber, muted: Bool) {
54
- DispatchQueue.main.async {
55
- self.getView(reactTag)?.setMuted(muted)
56
- }
51
+ onMainActor { self.getView(reactTag)?.setMuted(muted) }
57
52
  }
58
53
 
59
54
  @objc func setVolume(_ reactTag: NSNumber, volume: NSNumber) {
60
- DispatchQueue.main.async {
61
- self.getView(reactTag)?.setVolume(volume.doubleValue)
62
- }
55
+ onMainActor { self.getView(reactTag)?.setVolume(volume.doubleValue) }
63
56
  }
64
57
 
65
58
  @objc func presentModal(_ reactTag: NSNumber) {
66
- DispatchQueue.main.async {
67
- self.getView(reactTag)?.presentModal()
68
- }
59
+ onMainActor { self.getView(reactTag)?.presentModal() }
69
60
  }
70
61
 
71
62
  @objc func closeModal(_ reactTag: NSNumber) {
72
- DispatchQueue.main.async {
73
- self.getView(reactTag)?.closeModal()
74
- }
63
+ onMainActor { self.getView(reactTag)?.closeModal() }
75
64
  }
76
65
 
77
66
  @objc func enterFullscreen(_ reactTag: NSNumber) {
78
- DispatchQueue.main.async {
79
- self.getView(reactTag)?.enterFullscreen()
80
- }
67
+ onMainActor { self.getView(reactTag)?.enterFullscreen() }
81
68
  }
82
69
 
83
70
  @objc func enterFullscreenLandscape(_ reactTag: NSNumber) {
84
- DispatchQueue.main.async {
85
- self.getView(reactTag)?.enterFullscreenLandscape()
86
- }
71
+ onMainActor { self.getView(reactTag)?.enterFullscreenLandscape() }
87
72
  }
88
73
 
89
74
  @objc func exitFullscreen(_ reactTag: NSNumber) {
90
- DispatchQueue.main.async {
91
- self.getView(reactTag)?.exitFullscreen()
92
- }
75
+ onMainActor { self.getView(reactTag)?.exitFullscreen() }
93
76
  }
94
77
 
95
78
  @objc func collapse(_ reactTag: NSNumber) {
96
- DispatchQueue.main.async {
97
- self.getView(reactTag)?.collapse()
98
- }
79
+ onMainActor { self.getView(reactTag)?.collapse() }
99
80
  }
100
81
 
101
82
  @objc func expand(_ reactTag: NSNumber) {
102
- DispatchQueue.main.async {
103
- self.getView(reactTag)?.expand()
104
- }
83
+ onMainActor { self.getView(reactTag)?.expand() }
105
84
  }
106
85
 
107
86
  @objc func autoPlayNextCancel(_ reactTag: NSNumber) {
108
- DispatchQueue.main.async {
109
- self.getView(reactTag)?.autoPlayNextCancel()
110
- }
87
+ onMainActor { self.getView(reactTag)?.autoPlayNextCancel() }
111
88
  }
112
89
 
113
90
  @objc func destroy(_ reactTag: NSNumber) {
114
- DispatchQueue.main.async {
115
- self.getView(reactTag)?.destroy()
116
- }
91
+ onMainActor { self.getView(reactTag)?.destroy() }
117
92
  }
118
93
 
119
94
  @objc func showCastPicker(_ reactTag: NSNumber) {
120
- DispatchQueue.main.async {
121
- self.getView(reactTag)?.showCastPicker()
122
- }
95
+ onMainActor { self.getView(reactTag)?.showCastPicker() }
123
96
  }
124
97
 
125
98
  @objc func loadWithClipId(_ reactTag: NSNumber, clipId: String?, initiator: String?, autoPlay: Bool, seekTo: NSNumber?) {
126
- DispatchQueue.main.async {
127
- self.getView(reactTag)?.loadWithClipId(clipId ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue)
128
- }
99
+ onMainActor { self.getView(reactTag)?.loadWithClipId(clipId ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue) }
129
100
  }
130
101
 
131
102
  @objc func loadWithClipListId(_ reactTag: NSNumber, clipListId: String?, initiator: String?, autoPlay: Bool, seekTo: NSNumber?) {
132
- DispatchQueue.main.async {
133
- self.getView(reactTag)?.loadWithClipListId(clipListId ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue)
134
- }
103
+ onMainActor { self.getView(reactTag)?.loadWithClipListId(clipListId ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue) }
135
104
  }
136
105
 
137
106
  @objc func loadWithProjectId(_ reactTag: NSNumber, projectId: String?, initiator: String?, autoPlay: Bool, seekTo: NSNumber?) {
138
- DispatchQueue.main.async {
139
- self.getView(reactTag)?.loadWithProjectId(projectId ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue)
140
- }
107
+ onMainActor { self.getView(reactTag)?.loadWithProjectId(projectId ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue) }
141
108
  }
142
109
 
143
110
  @objc func loadWithClipJson(_ reactTag: NSNumber, clipJson: String?, initiator: String?, autoPlay: Bool, seekTo: NSNumber?) {
144
- DispatchQueue.main.async {
145
- self.getView(reactTag)?.loadWithClipJson(clipJson ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue)
146
- }
111
+ onMainActor { self.getView(reactTag)?.loadWithClipJson(clipJson ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue) }
147
112
  }
148
113
 
149
114
  @objc func loadWithClipListJson(_ reactTag: NSNumber, clipListJson: String?, initiator: String?, autoPlay: Bool, seekTo: NSNumber?) {
150
- DispatchQueue.main.async {
151
- self.getView(reactTag)?.loadWithClipListJson(clipListJson ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue)
152
- }
115
+ onMainActor { self.getView(reactTag)?.loadWithClipListJson(clipListJson ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue) }
153
116
  }
154
117
 
155
118
  @objc func loadWithProjectJson(_ reactTag: NSNumber, projectJson: String?, initiator: String?, autoPlay: Bool, seekTo: NSNumber?) {
156
- DispatchQueue.main.async {
157
- self.getView(reactTag)?.loadWithProjectJson(projectJson ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue)
158
- }
119
+ onMainActor { self.getView(reactTag)?.loadWithProjectJson(projectJson ?? "", initiator: initiator, autoPlay: autoPlay, seekTo: seekTo?.doubleValue) }
159
120
  }
160
121
 
161
122
  @objc func loadWithJsonUrl(_ reactTag: NSNumber, jsonUrl: String?, autoPlay: Bool) {
162
- DispatchQueue.main.async {
123
+ onMainActor {
163
124
  if let url = jsonUrl {
164
125
  self.getView(reactTag)?.loadWithJsonUrl(url, autoPlay: autoPlay)
165
126
  }
@@ -1,5 +1,6 @@
1
- import BBNativePlayerKit
2
- import bbnativeshared
1
+ @preconcurrency import BBNativePlayerKit
2
+ @preconcurrency import React
3
+ @preconcurrency import bbnativeshared
3
4
  import os
4
5
 
5
6
  // MARK: - Logging Helper
@@ -209,7 +210,9 @@ class BBShortsView: UIView, BBNativeShortsViewDelegate {
209
210
  }
210
211
 
211
212
  deinit {
212
- destroy()
213
+ MainActor.assumeIsolated {
214
+ destroy()
215
+ }
213
216
  }
214
217
 
215
218
  // MARK: - BBNativeShortsViewDelegate
@@ -1,34 +1,36 @@
1
1
  import Foundation
2
- import React
2
+ @preconcurrency import React
3
3
 
4
4
  @objc(BBShortsViewManager)
5
- class BBShortsViewManager: RCTViewManager {
5
+ class BBShortsViewManager: RCTViewManager, @unchecked Sendable {
6
6
 
7
7
  override func view() -> UIView! {
8
- return BBShortsView()
8
+ return MainActor.assumeIsolated { BBShortsView() }
9
9
  }
10
10
 
11
11
  override static func requiresMainQueueSetup() -> Bool {
12
12
  return true
13
13
  }
14
14
 
15
- // Override moduleName to expose as "BBShortsView" instead of default "BBShorts"
16
- // This is required for Fabric interop to find the component correctly
17
15
  @objc override static func moduleName() -> String! {
18
16
  return "BBShortsView"
19
17
  }
20
18
 
21
- // MARK: - Helper to get view by tag
19
+ // MARK: - Helpers
22
20
 
23
21
  private func getView(_ reactTag: NSNumber) -> BBShortsView? {
24
22
  return self.bridge.uiManager.view(forReactTag: reactTag) as? BBShortsView
25
23
  }
26
24
 
25
+ private func onMainActor(_ work: @MainActor @Sendable @escaping () -> Void) {
26
+ DispatchQueue.main.async {
27
+ MainActor.assumeIsolated(work)
28
+ }
29
+ }
30
+
27
31
  // MARK: - Commands
28
32
 
29
33
  @objc func destroy(_ reactTag: NSNumber) {
30
- DispatchQueue.main.async {
31
- self.getView(reactTag)?.destroy()
32
- }
34
+ onMainActor { self.getView(reactTag)?.destroy() }
33
35
  }
34
36
  }
@@ -0,0 +1,256 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>files</key>
6
+ <dict>
7
+ <key>Assets.car</key>
8
+ <data>
9
+ S1iQEv6HbOrsRubZonnjSqq1Hgs=
10
+ </data>
11
+ <key>BBNativePlayerKit_profile</key>
12
+ <data>
13
+ g7r1f4GSGqHpbDYAut83Vkh5wJQ=
14
+ </data>
15
+ <key>Headers/BBNativePlayerKit-Swift.h</key>
16
+ <data>
17
+ WK257JI91NLOxGQUbZjtywSPlG0=
18
+ </data>
19
+ <key>Headers/BBNativePlayerKit.h</key>
20
+ <data>
21
+ Sd5fkz2BbYi42DYeTrPYQHBABM0=
22
+ </data>
23
+ <key>Headers/UMPBridge.h</key>
24
+ <data>
25
+ wW3NZxtLVCtOToBA3e0bpaLcaY8=
26
+ </data>
27
+ <key>Info.plist</key>
28
+ <data>
29
+ xJDLico9u2kNi11Wr2kURxcp88o=
30
+ </data>
31
+ <key>Lato-Black.ttf</key>
32
+ <data>
33
+ oAHrgndDY24E+O+n1K7t8FQcRqw=
34
+ </data>
35
+ <key>Lato-Bold.ttf</key>
36
+ <data>
37
+ VCSYIh2XvuW9vM+G7oiQv46ABck=
38
+ </data>
39
+ <key>Lato-Regular.ttf</key>
40
+ <data>
41
+ 6SPHLtpeUKh+GP9ccenvSztkVaM=
42
+ </data>
43
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.abi.json</key>
44
+ <data>
45
+ yw2xWn1ZP62uJuqBKPWoToQiksU=
46
+ </data>
47
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
48
+ <data>
49
+ sB8Bt8dbzqSMT/g3BlLKS4FLx+w=
50
+ </data>
51
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftdoc</key>
52
+ <data>
53
+ E7shsWshdHFaYii0Pm6euoUj5X8=
54
+ </data>
55
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftinterface</key>
56
+ <data>
57
+ sB8Bt8dbzqSMT/g3BlLKS4FLx+w=
58
+ </data>
59
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftmodule</key>
60
+ <data>
61
+ oqrslR9y22dGxotmTHtqiw9AFWg=
62
+ </data>
63
+ <key>Modules/module.modulemap</key>
64
+ <data>
65
+ j8QiMbKutvhEt6A/mOSKTX+5wq0=
66
+ </data>
67
+ </dict>
68
+ <key>files2</key>
69
+ <dict>
70
+ <key>Assets.car</key>
71
+ <dict>
72
+ <key>hash2</key>
73
+ <data>
74
+ QHCrCDnZFhCg++jYzr/chGU6317OSWlDF5lpJKPSxmg=
75
+ </data>
76
+ </dict>
77
+ <key>BBNativePlayerKit_profile</key>
78
+ <dict>
79
+ <key>hash2</key>
80
+ <data>
81
+ 7hAdJ+VcxNhTZBX+hTnNNNfIEhB1uw7fLZ12wmJBY6o=
82
+ </data>
83
+ </dict>
84
+ <key>Headers/BBNativePlayerKit-Swift.h</key>
85
+ <dict>
86
+ <key>hash2</key>
87
+ <data>
88
+ zbWS71esaj7J7UalReM5wVKziu/22D779zN+hju1GRU=
89
+ </data>
90
+ </dict>
91
+ <key>Headers/BBNativePlayerKit.h</key>
92
+ <dict>
93
+ <key>hash2</key>
94
+ <data>
95
+ NuHAQXk6Ohm5UEOQLTXU7YHOb4+abe+YD6neYTfFcw8=
96
+ </data>
97
+ </dict>
98
+ <key>Headers/UMPBridge.h</key>
99
+ <dict>
100
+ <key>hash2</key>
101
+ <data>
102
+ xIRx+PZTn1FsvqYDUuTWGrZwv16GWgRYqg8hNIb3ZgM=
103
+ </data>
104
+ </dict>
105
+ <key>Lato-Black.ttf</key>
106
+ <dict>
107
+ <key>hash2</key>
108
+ <data>
109
+ q/ZM+hRkUEOnwz92Q1El+LPeecUQrbk4ocFghVGNQ0E=
110
+ </data>
111
+ </dict>
112
+ <key>Lato-Bold.ttf</key>
113
+ <dict>
114
+ <key>hash2</key>
115
+ <data>
116
+ 1/C38lcPLyi1BNoRgbTXGxQgsQvixP1pCSfxyO47GcM=
117
+ </data>
118
+ </dict>
119
+ <key>Lato-Regular.ttf</key>
120
+ <dict>
121
+ <key>hash2</key>
122
+ <data>
123
+ 6CVCrtgpP0n8g8Sq6lZrH2tPx6mrXaEeb7m8CXO1Mks=
124
+ </data>
125
+ </dict>
126
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.abi.json</key>
127
+ <dict>
128
+ <key>hash2</key>
129
+ <data>
130
+ yeMLAlNC8Z7GOdqPPUlbfKIF0GEuFUwin1tslBCZbmA=
131
+ </data>
132
+ </dict>
133
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.private.swiftinterface</key>
134
+ <dict>
135
+ <key>hash2</key>
136
+ <data>
137
+ LJJSLQ8g0hhfZtP4ZVkqDSdugMeKl59v0U4fQvpEnww=
138
+ </data>
139
+ </dict>
140
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftdoc</key>
141
+ <dict>
142
+ <key>hash2</key>
143
+ <data>
144
+ JKOiEeeDgtZBg8TCnOOO+iXylo0vBAu+lZjNuE8aVgQ=
145
+ </data>
146
+ </dict>
147
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftinterface</key>
148
+ <dict>
149
+ <key>hash2</key>
150
+ <data>
151
+ LJJSLQ8g0hhfZtP4ZVkqDSdugMeKl59v0U4fQvpEnww=
152
+ </data>
153
+ </dict>
154
+ <key>Modules/BBNativePlayerKit.swiftmodule/arm64-apple-ios.swiftmodule</key>
155
+ <dict>
156
+ <key>hash2</key>
157
+ <data>
158
+ rq1q6RtKjB9apY70eZNx0KEFyFZ0Du2KZypV1FbIGKs=
159
+ </data>
160
+ </dict>
161
+ <key>Modules/module.modulemap</key>
162
+ <dict>
163
+ <key>hash2</key>
164
+ <data>
165
+ 894T7of5RWAtj7zeDygrNTigDoWzX7oTz4UtXinlZ7Y=
166
+ </data>
167
+ </dict>
168
+ </dict>
169
+ <key>rules</key>
170
+ <dict>
171
+ <key>^.*</key>
172
+ <true/>
173
+ <key>^.*\.lproj/</key>
174
+ <dict>
175
+ <key>optional</key>
176
+ <true/>
177
+ <key>weight</key>
178
+ <real>1000</real>
179
+ </dict>
180
+ <key>^.*\.lproj/locversion.plist$</key>
181
+ <dict>
182
+ <key>omit</key>
183
+ <true/>
184
+ <key>weight</key>
185
+ <real>1100</real>
186
+ </dict>
187
+ <key>^Base\.lproj/</key>
188
+ <dict>
189
+ <key>weight</key>
190
+ <real>1010</real>
191
+ </dict>
192
+ <key>^version.plist$</key>
193
+ <true/>
194
+ </dict>
195
+ <key>rules2</key>
196
+ <dict>
197
+ <key>.*\.dSYM($|/)</key>
198
+ <dict>
199
+ <key>weight</key>
200
+ <real>11</real>
201
+ </dict>
202
+ <key>^(.*/)?\.DS_Store$</key>
203
+ <dict>
204
+ <key>omit</key>
205
+ <true/>
206
+ <key>weight</key>
207
+ <real>2000</real>
208
+ </dict>
209
+ <key>^.*</key>
210
+ <true/>
211
+ <key>^.*\.lproj/</key>
212
+ <dict>
213
+ <key>optional</key>
214
+ <true/>
215
+ <key>weight</key>
216
+ <real>1000</real>
217
+ </dict>
218
+ <key>^.*\.lproj/locversion.plist$</key>
219
+ <dict>
220
+ <key>omit</key>
221
+ <true/>
222
+ <key>weight</key>
223
+ <real>1100</real>
224
+ </dict>
225
+ <key>^Base\.lproj/</key>
226
+ <dict>
227
+ <key>weight</key>
228
+ <real>1010</real>
229
+ </dict>
230
+ <key>^Info\.plist$</key>
231
+ <dict>
232
+ <key>omit</key>
233
+ <true/>
234
+ <key>weight</key>
235
+ <real>20</real>
236
+ </dict>
237
+ <key>^PkgInfo$</key>
238
+ <dict>
239
+ <key>omit</key>
240
+ <true/>
241
+ <key>weight</key>
242
+ <real>20</real>
243
+ </dict>
244
+ <key>^embedded\.provisionprofile$</key>
245
+ <dict>
246
+ <key>weight</key>
247
+ <real>20</real>
248
+ </dict>
249
+ <key>^version\.plist$</key>
250
+ <dict>
251
+ <key>weight</key>
252
+ <real>20</real>
253
+ </dict>
254
+ </dict>
255
+ </dict>
256
+ </plist>