react-native-firework-sdk 1.9.0 → 1.10.0-beta.1
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/ios/Components/StoryBlock.swift +5 -6
- package/ios/Components/StoryBlockManager.m +1 -0
- package/ios/Components/StoryBlockManager.swift +4 -0
- package/ios/Components/VideoFeed.swift +8 -7
- package/ios/Components/VideoFeedManager.m +1 -0
- package/ios/Components/VideoFeedManager.swift +4 -0
- package/ios/FireworkSdk.xcodeproj/project.pbxproj +1 -171
- package/ios/FireworkVideoUI/FireworkVideoUI/FireworkVideoUI.docc/FireworkVideoUI.md +13 -0
- package/ios/FireworkVideoUI/FireworkVideoUI/FireworkVideoUI.h +18 -0
- package/ios/FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/AppLanguageManager.swift +147 -0
- package/ios/{Utils/AppLanguage/Bundle+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/Foundation/Bundle+AppLanguage.swift} +7 -7
- package/ios/{Utils/AppLanguage/NumberFormatter+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/Foundation/NumberFormatter+AppLanguage.swift} +5 -5
- package/ios/{Utils/AppLanguage/URLSession+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/Foundation/URLSession+AppLanguage.swift} +7 -7
- package/ios/{Utils/AppLanguage/UIImageView+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/UIKit/UIImageView+AppLanguage.swift} +8 -8
- package/ios/{Utils/AppLanguage/UILabel+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/UIKit/UILabel+AppLanguage.swift} +17 -17
- package/ios/{Utils/AppLanguage/UITextField+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/UIKit/UITextField+AppLanguage.swift} +16 -16
- package/ios/{Utils/AppLanguage/UITextView+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/UIKit/UITextView+AppLanguage.swift} +16 -16
- package/ios/{Utils/AppLanguage/UIView+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/UIKit/UIView+AppLanguage.swift} +7 -7
- package/ios/{Utils/AppLanguage/UIViewController+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/UIKit/UIViewController+AppLanguage.swift} +19 -5
- package/ios/{Utils/AppLanguage/UIWindow+FWSwizzle.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/UIKit/UIWindow+AppLanguage.swift} +5 -5
- package/ios/{Utils/AppLanguage/FWLanguageUtil.swift → FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/LanguageUtil.swift} +4 -4
- package/ios/FireworkVideoUI/FireworkVideoUI/Sources/LayoutFlip/Extensions/Foundation/NSObject+LayoutFlip.swift +42 -0
- package/ios/FireworkVideoUI/FireworkVideoUI/Sources/LayoutFlip/Extensions/UIKit/CALayer+LayoutFlip.swift +160 -0
- package/ios/FireworkVideoUI/FireworkVideoUI/Sources/LayoutFlip/Extensions/UIKit/UILabel+LayoutFlip.swift +35 -0
- package/ios/FireworkVideoUI/FireworkVideoUI/Sources/LayoutFlip/Extensions/UIKit/UIView+LayoutFlip.swift +199 -0
- package/ios/FireworkVideoUI/FireworkVideoUI/Sources/LayoutFlip/LayoutFlipManager.swift +59 -0
- package/ios/{Utils/Extensions/DispatchQueue+FWOnce.swift → FireworkVideoUI/FireworkVideoUI/Sources/Utils/Extensions/Foundation/DispatchQueue+Once.swift} +4 -4
- package/ios/FireworkVideoUI/FireworkVideoUI/Sources/Utils/Extensions/Foundation/String+Base64.swift +18 -0
- package/ios/{Utils/Extensions/UIView+FWUIHierarchy.swift → FireworkVideoUI/FireworkVideoUI/Sources/Utils/Extensions/UIKit/UIView+UIHierarchy.swift} +4 -5
- package/ios/{Utils/FWSwizzleUtil.swift → FireworkVideoUI/FireworkVideoUI/Sources/Utils/Swizzle.swift} +2 -2
- package/ios/FireworkVideoUI/FireworkVideoUI.xcodeproj/project.pbxproj +764 -0
- package/ios/FireworkVideoUI/FireworkVideoUI.xcworkspace/contents.xcworkspacedata +10 -0
- package/ios/FireworkVideoUI/FireworkVideoUI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/FireworkVideoUI/FireworkVideoUITests/FireworkVideoUITests.swift +37 -0
- package/ios/FireworkVideoUI/Podfile +15 -0
- package/ios/FireworkVideoUI/Podfile.lock +16 -0
- package/ios/Models/NativeToRN/FireworkEventName.swift +4 -0
- package/ios/Models/RNToNative/RCTConvert+StoryBlock.swift +2 -1
- package/ios/Models/RNToNative/RCTConvert+VideoFeed.swift +2 -1
- package/ios/Modules/FWNavigatorModule/FWNavigatorModule.swift +8 -98
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule+EventTracking.swift +34 -16
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +23 -6
- package/ios/Modules/LiveStream/LiveStreamModule.swift +1 -0
- package/ios/Support/MultiHostStreaming/FWMultiHostStreaming.podspec +4 -6
- package/ios/Utils/Extensions/Swizzle/UINavigationController+FWSwizzle.swift +4 -1
- package/ios/scripts/react_native_firework_sdk_pods.rb +22 -26
- package/lib/commonjs/FireworkSDK.js +19 -6
- package/lib/commonjs/FireworkSDK.js.map +1 -1
- package/lib/commonjs/VideoShopping.js +1 -1
- package/lib/commonjs/VideoShopping.js.map +1 -1
- package/lib/commonjs/components/StoryBlock.js +3 -1
- package/lib/commonjs/components/StoryBlock.js.map +1 -1
- package/lib/commonjs/components/VideoFeed.js +3 -1
- package/lib/commonjs/components/VideoFeed.js.map +1 -1
- package/lib/commonjs/models/FWEventName.js +1 -0
- package/lib/commonjs/models/FWEventName.js.map +1 -1
- package/lib/commonjs/models/VideoPlaybackEventName.js +3 -0
- package/lib/commonjs/models/VideoPlaybackEventName.js.map +1 -1
- package/lib/module/FireworkSDK.js +18 -6
- package/lib/module/FireworkSDK.js.map +1 -1
- package/lib/module/VideoShopping.js +1 -1
- package/lib/module/VideoShopping.js.map +1 -1
- package/lib/module/components/StoryBlock.js +3 -1
- package/lib/module/components/StoryBlock.js.map +1 -1
- package/lib/module/components/VideoFeed.js +3 -1
- package/lib/module/components/VideoFeed.js.map +1 -1
- package/lib/module/models/FWEventName.js +1 -0
- package/lib/module/models/FWEventName.js.map +1 -1
- package/lib/module/models/VideoPlaybackEventName.js +3 -0
- package/lib/module/models/VideoPlaybackEventName.js.map +1 -1
- package/lib/typescript/FireworkSDK.d.ts +1 -0
- package/lib/typescript/VideoShopping.d.ts +1 -1
- package/lib/typescript/components/StoryBlock.d.ts +8 -0
- package/lib/typescript/components/VideoFeed.d.ts +8 -0
- package/lib/typescript/models/FWEventName.d.ts +1 -0
- package/lib/typescript/models/StoryBlockSource.d.ts +1 -1
- package/lib/typescript/models/VideoFeedSource.d.ts +1 -1
- package/lib/typescript/models/VideoPlaybackEventName.d.ts +13 -1
- package/package.json +5 -1
- package/react-native-firework-sdk.podspec +10 -5
- package/src/FireworkSDK.ts +22 -5
- package/src/VideoShopping.ts +1 -1
- package/src/components/StoryBlock.tsx +10 -0
- package/src/components/VideoFeed.tsx +10 -0
- package/src/models/FWEventName.ts +1 -0
- package/src/models/StoryBlockSource.ts +2 -1
- package/src/models/VideoFeedSource.ts +2 -1
- package/src/models/VideoPlaybackEventName.ts +13 -1
- package/ios/Utils/AppLanguage/FWAppLanguageManager.swift +0 -139
- package/ios/Utils/FWRTL/Classes/Manager/FWRTLManager.h +0 -25
- package/ios/Utils/FWRTL/Classes/Manager/FWRTLManager.m +0 -75
- package/ios/Utils/FWRTL/Classes/UICategories/CALayer+FWRTL.h +0 -21
- package/ios/Utils/FWRTL/Classes/UICategories/CALayer+FWRTL.m +0 -124
- package/ios/Utils/FWRTL/Classes/UICategories/FWRTLRemoteViewControllerAdaptor.h +0 -11
- package/ios/Utils/FWRTL/Classes/UICategories/FWRTLRemoteViewControllerAdaptor.m +0 -86
- package/ios/Utils/FWRTL/Classes/UICategories/FWRTLWhiteListManager.h +0 -16
- package/ios/Utils/FWRTL/Classes/UICategories/FWRTLWhiteListManager.m +0 -55
- package/ios/Utils/FWRTL/Classes/UICategories/UILabel+FWRTL.h +0 -18
- package/ios/Utils/FWRTL/Classes/UICategories/UILabel+FWRTL.m +0 -39
- package/ios/Utils/FWRTL/Classes/UICategories/UIView+FWRTL.h +0 -54
- package/ios/Utils/FWRTL/Classes/UICategories/UIView+FWRTL.m +0 -141
- package/ios/Utils/FWRTL/Classes/UICategories/UIWindow+FWRTL.h +0 -16
- package/ios/Utils/FWRTL/Classes/UICategories/UIWindow+FWRTL.m +0 -20
- package/ios/Utils/FWRTL/Classes/Utils/FWRTLDefinitions.h +0 -52
- package/ios/Utils/FWRTL/Classes/Utils/NSObject+FWRTLReloadBlock.h +0 -19
- package/ios/Utils/FWRTL/Classes/Utils/NSObject+FWRTLReloadBlock.m +0 -49
- package/ios/Utils/FWRTL/Classes/Utils/NSString+FWRTL.h +0 -21
- package/ios/Utils/FWRTL/Classes/Utils/NSString+FWRTL.m +0 -38
- package/ios/Utils/FWRTL/Classes/Utils/UIImage+FWRTL.h +0 -18
- package/ios/Utils/FWRTL/Classes/Utils/UIImage+FWRTL.m +0 -43
- /package/ios/Support/MultiHostStreaming/{src → Sources}/MultiHostStreamingSDK.swift +0 -0
|
@@ -10,7 +10,7 @@ import UIKit
|
|
|
10
10
|
|
|
11
11
|
@objc
|
|
12
12
|
public enum StoryBlockSourceType: Int {
|
|
13
|
-
case discover, channel, playlist, dynamicContent
|
|
13
|
+
case discover, channel, playlist, dynamicContent, hashtagPlaylist
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
public protocol StoryBlockViewDelegate: AnyObject {
|
|
@@ -24,6 +24,7 @@ public class StoryBlock: UIView, StoryBlockViewControllerDelegate {
|
|
|
24
24
|
@objc public var channel: String = ""
|
|
25
25
|
@objc public var playlist: String = ""
|
|
26
26
|
@objc public var dynamicContentParameters: [String: [String]] = [:]
|
|
27
|
+
@objc public var hashtagFilterExpression: String = ""
|
|
27
28
|
@objc public var enablePictureInPicture: Bool = false
|
|
28
29
|
@objc public var adConfiguration: AdConfiguration?
|
|
29
30
|
|
|
@@ -43,6 +44,8 @@ public class StoryBlock: UIView, StoryBlockViewControllerDelegate {
|
|
|
43
44
|
return .channelPlaylist(channelID: channel, playlistID: playlist)
|
|
44
45
|
case .dynamicContent:
|
|
45
46
|
return .dynamicContent(channelID: channel, parameters: dynamicContentParameters)
|
|
47
|
+
case .hashtagPlaylist:
|
|
48
|
+
return .hashtagPlaylist(channelID: channel, filterExpression: hashtagFilterExpression)
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
|
|
@@ -62,7 +65,7 @@ public class StoryBlock: UIView, StoryBlockViewControllerDelegate {
|
|
|
62
65
|
}
|
|
63
66
|
|
|
64
67
|
private func embed() {
|
|
65
|
-
guard let parentVC =
|
|
68
|
+
guard let parentVC = parentViewController else {
|
|
66
69
|
return
|
|
67
70
|
}
|
|
68
71
|
guard self.storyBlockVC == nil else {
|
|
@@ -84,10 +87,6 @@ public class StoryBlock: UIView, StoryBlockViewControllerDelegate {
|
|
|
84
87
|
storyBlockVC.isPictureInPictureEnabled = true
|
|
85
88
|
}
|
|
86
89
|
|
|
87
|
-
if FWAppLanguageManager.shared.shouldHorizontalFlip {
|
|
88
|
-
storyBlockVC.view.fwrtl_viewType = FWRTLViewTypeFlip
|
|
89
|
-
}
|
|
90
|
-
|
|
91
90
|
storyBlockVC.delegate = self
|
|
92
91
|
self.storyBlockVC = storyBlockVC
|
|
93
92
|
parentVC.attachChild(storyBlockVC, to: self)
|
|
@@ -27,6 +27,7 @@ RCT_CUSTOM_VIEW_PROPERTY(source, StoryBlockSource, StoryBlock) {
|
|
|
27
27
|
RCT_EXPORT_VIEW_PROPERTY(channel, NSString)
|
|
28
28
|
RCT_EXPORT_VIEW_PROPERTY(playlist, NSString)
|
|
29
29
|
RCT_EXPORT_VIEW_PROPERTY(dynamicContentParameters, NSDictionary)
|
|
30
|
+
RCT_EXPORT_VIEW_PROPERTY(hashtagFilterExpression, NSString)
|
|
30
31
|
RCT_EXPORT_VIEW_PROPERTY(enablePictureInPicture, BOOL)
|
|
31
32
|
|
|
32
33
|
RCT_CUSTOM_VIEW_PROPERTY(adConfiguration, AdConfiguration, StoryBlock) {
|
|
@@ -7,10 +7,14 @@
|
|
|
7
7
|
|
|
8
8
|
import FireworkVideo
|
|
9
9
|
import Foundation
|
|
10
|
+
#if canImport(FireworkVideoUI)
|
|
11
|
+
import FireworkVideoUI
|
|
12
|
+
#endif
|
|
10
13
|
|
|
11
14
|
@objc(StoryBlockManager)
|
|
12
15
|
class StoryBlockManager: RCTViewManager, StoryBlockViewDelegate {
|
|
13
16
|
override func view() -> UIView! {
|
|
17
|
+
_ = AppLanguageManager.shared
|
|
14
18
|
let storyBlock = StoryBlock()
|
|
15
19
|
storyBlock.delegate = self
|
|
16
20
|
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
import FireworkVideo
|
|
9
9
|
import UIKit
|
|
10
|
+
#if canImport(FireworkVideoUI)
|
|
11
|
+
import FireworkVideoUI
|
|
12
|
+
#endif
|
|
10
13
|
|
|
11
14
|
@objc
|
|
12
15
|
public enum VideoFeedMode: Int {
|
|
@@ -15,7 +18,7 @@ public enum VideoFeedMode: Int {
|
|
|
15
18
|
|
|
16
19
|
@objc
|
|
17
20
|
public enum VideFeedSourceType: Int {
|
|
18
|
-
case discover, channel, playlist, playlistGroup, dynamicContent
|
|
21
|
+
case discover, channel, playlist, playlistGroup, dynamicContent, hashtagPlaylist
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
public protocol VideoFeedViewDelegate: AnyObject {
|
|
@@ -34,6 +37,7 @@ public class VideoFeed: UIView, VideoFeedViewControllerDelegate {
|
|
|
34
37
|
@objc public var playlist: String = ""
|
|
35
38
|
@objc public var playlistGroup: String = ""
|
|
36
39
|
@objc public var dynamicContentParameters: NSDictionary = NSDictionary()
|
|
40
|
+
@objc public var hashtagFilterExpression: String = ""
|
|
37
41
|
@objc public var mode: VideoFeedMode = .row
|
|
38
42
|
@objc public var feedViewConfig: VideoFeedConfiguration? {
|
|
39
43
|
didSet {
|
|
@@ -74,6 +78,8 @@ public class VideoFeed: UIView, VideoFeedViewControllerDelegate {
|
|
|
74
78
|
case .dynamicContent:
|
|
75
79
|
let parameters = dynamicContentParameters as? [String: [String]]
|
|
76
80
|
return .dynamicContent(channelID: channel, parameters: parameters ?? [:])
|
|
81
|
+
case .hashtagPlaylist:
|
|
82
|
+
return .hashtagPlaylist(channelID: channel, filterExpression: hashtagFilterExpression)
|
|
77
83
|
}
|
|
78
84
|
}
|
|
79
85
|
|
|
@@ -134,9 +140,8 @@ public class VideoFeed: UIView, VideoFeedViewControllerDelegate {
|
|
|
134
140
|
embed()
|
|
135
141
|
}
|
|
136
142
|
|
|
137
|
-
// swiftlint:disable:next function_body_length
|
|
138
143
|
private func embed() {
|
|
139
|
-
guard let parentVC =
|
|
144
|
+
guard let parentVC = parentViewController else {
|
|
140
145
|
return
|
|
141
146
|
}
|
|
142
147
|
guard self.feedVC == nil else {
|
|
@@ -187,10 +192,6 @@ public class VideoFeed: UIView, VideoFeedViewControllerDelegate {
|
|
|
187
192
|
feedVC.isPictureInPictureEnabled = true
|
|
188
193
|
}
|
|
189
194
|
|
|
190
|
-
if FWAppLanguageManager.shared.shouldHorizontalFlip {
|
|
191
|
-
feedVC.view.fwrtl_viewType = FWRTLViewTypeFlip
|
|
192
|
-
}
|
|
193
|
-
|
|
194
195
|
feedVC.delegate = self
|
|
195
196
|
self.feedVC = feedVC
|
|
196
197
|
parentVC.attachChild(feedVC, to: self)
|
|
@@ -28,6 +28,7 @@ RCT_EXPORT_VIEW_PROPERTY(channel, NSString)
|
|
|
28
28
|
RCT_EXPORT_VIEW_PROPERTY(playlist, NSString)
|
|
29
29
|
RCT_EXPORT_VIEW_PROPERTY(playlistGroup, NSString)
|
|
30
30
|
RCT_EXPORT_VIEW_PROPERTY(dynamicContentParameters, NSDictionary)
|
|
31
|
+
RCT_EXPORT_VIEW_PROPERTY(hashtagFilterExpression, NSString)
|
|
31
32
|
|
|
32
33
|
RCT_CUSTOM_VIEW_PROPERTY(mode, VideoFeedMode, VideoFeed) {
|
|
33
34
|
if (json) {
|
|
@@ -8,11 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
import FireworkVideo
|
|
10
10
|
import Foundation
|
|
11
|
+
#if canImport(FireworkVideoUI)
|
|
12
|
+
import FireworkVideoUI
|
|
13
|
+
#endif
|
|
11
14
|
|
|
12
15
|
@objc(VideoFeedManager)
|
|
13
16
|
class VideoFeedManager: RCTViewManager, VideoFeedViewDelegate {
|
|
14
17
|
|
|
15
18
|
override func view() -> UIView! {
|
|
19
|
+
_ = AppLanguageManager.shared
|
|
16
20
|
let videFeed = VideoFeed()
|
|
17
21
|
videFeed.delegate = self
|
|
18
22
|
|
|
@@ -7,35 +7,11 @@
|
|
|
7
7
|
objects = {
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
|
-
894FAD7129BAD4C4000FB51A /* UIImage+FWRTL.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD1729BAD4C3000FB51A /* UIImage+FWRTL.m */; };
|
|
11
|
-
894FAD7229BAD4C4000FB51A /* NSString+FWRTL.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD1829BAD4C3000FB51A /* NSString+FWRTL.m */; };
|
|
12
|
-
894FAD7329BAD4C4000FB51A /* NSObject+FWRTLReloadBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD1929BAD4C3000FB51A /* NSObject+FWRTLReloadBlock.m */; };
|
|
13
|
-
894FAD7429BAD4C4000FB51A /* FWRTLManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD1F29BAD4C3000FB51A /* FWRTLManager.m */; };
|
|
14
|
-
894FAD7529BAD4C4000FB51A /* FWRTLRemoteViewControllerAdaptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD2229BAD4C3000FB51A /* FWRTLRemoteViewControllerAdaptor.m */; };
|
|
15
|
-
894FAD7629BAD4C4000FB51A /* UIView+FWRTL.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD2829BAD4C3000FB51A /* UIView+FWRTL.m */; };
|
|
16
|
-
894FAD7729BAD4C4000FB51A /* FWRTLWhiteListManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD2A29BAD4C3000FB51A /* FWRTLWhiteListManager.m */; };
|
|
17
|
-
894FAD7829BAD4C4000FB51A /* UIWindow+FWRTL.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD2B29BAD4C3000FB51A /* UIWindow+FWRTL.m */; };
|
|
18
|
-
894FAD7929BAD4C4000FB51A /* UILabel+FWRTL.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD2C29BAD4C3000FB51A /* UILabel+FWRTL.m */; };
|
|
19
|
-
894FAD7A29BAD4C4000FB51A /* CALayer+FWRTL.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD2D29BAD4C3000FB51A /* CALayer+FWRTL.m */; };
|
|
20
|
-
894FAD7B29BAD4C4000FB51A /* UIView+FWUIHierarchy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD2F29BAD4C3000FB51A /* UIView+FWUIHierarchy.swift */; };
|
|
21
10
|
894FAD7C29BAD4C4000FB51A /* UIViewController+AttachChild.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3029BAD4C3000FB51A /* UIViewController+AttachChild.swift */; };
|
|
22
11
|
894FAD7D29BAD4C4000FB51A /* UIView+Constraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3129BAD4C3000FB51A /* UIView+Constraints.swift */; };
|
|
23
12
|
894FAD7F29BAD4C4000FB51A /* UINavigationController+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3429BAD4C3000FB51A /* UINavigationController+FWSwizzle.swift */; };
|
|
24
13
|
894FAD8029BAD4C4000FB51A /* String+Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3529BAD4C3000FB51A /* String+Color.swift */; };
|
|
25
|
-
894FAD8129BAD4C4000FB51A /* DispatchQueue+FWOnce.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3629BAD4C3000FB51A /* DispatchQueue+FWOnce.swift */; };
|
|
26
14
|
894FAD8229BAD4C4000FB51A /* FWSwizzleLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3729BAD4C3000FB51A /* FWSwizzleLoader.m */; };
|
|
27
|
-
894FAD8329BAD4C4000FB51A /* UITextView+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3929BAD4C3000FB51A /* UITextView+FWSwizzle.swift */; };
|
|
28
|
-
894FAD8429BAD4C4000FB51A /* FWAppLanguageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3A29BAD4C3000FB51A /* FWAppLanguageManager.swift */; };
|
|
29
|
-
894FAD8529BAD4C4000FB51A /* UITextField+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3B29BAD4C3000FB51A /* UITextField+FWSwizzle.swift */; };
|
|
30
|
-
894FAD8629BAD4C4000FB51A /* UIWindow+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3C29BAD4C3000FB51A /* UIWindow+FWSwizzle.swift */; };
|
|
31
|
-
894FAD8729BAD4C4000FB51A /* UILabel+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3D29BAD4C3000FB51A /* UILabel+FWSwizzle.swift */; };
|
|
32
|
-
894FAD8829BAD4C4000FB51A /* FWLanguageUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3E29BAD4C3000FB51A /* FWLanguageUtil.swift */; };
|
|
33
|
-
894FAD8929BAD4C4000FB51A /* UIImageView+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD3F29BAD4C3000FB51A /* UIImageView+FWSwizzle.swift */; };
|
|
34
|
-
894FAD8A29BAD4C4000FB51A /* NumberFormatter+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD4029BAD4C3000FB51A /* NumberFormatter+FWSwizzle.swift */; };
|
|
35
|
-
894FAD8B29BAD4C4000FB51A /* UIViewController+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD4129BAD4C3000FB51A /* UIViewController+FWSwizzle.swift */; };
|
|
36
|
-
894FAD8C29BAD4C4000FB51A /* Bundle+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD4229BAD4C3000FB51A /* Bundle+FWSwizzle.swift */; };
|
|
37
|
-
894FAD8D29BAD4C4000FB51A /* URLSession+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD4329BAD4C3000FB51A /* URLSession+FWSwizzle.swift */; };
|
|
38
|
-
894FAD8E29BAD4C4000FB51A /* FWSwizzleUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD4429BAD4C3000FB51A /* FWSwizzleUtil.swift */; };
|
|
39
15
|
894FAD8F29BAD4C4000FB51A /* FWSwizzleLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD4529BAD4C3000FB51A /* FWSwizzleLoader.swift */; };
|
|
40
16
|
894FAD9029BAD4C4000FB51A /* FontInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD4829BAD4C3000FB51A /* FontInfo.swift */; };
|
|
41
17
|
894FAD9129BAD4C4000FB51A /* RCTConvert+StoryBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD4A29BAD4C3000FB51A /* RCTConvert+StoryBlock.swift */; };
|
|
@@ -70,7 +46,6 @@
|
|
|
70
46
|
894FADAE29BAD4C4000FB51A /* FireworkSDKModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD6D29BAD4C4000FB51A /* FireworkSDKModule.m */; };
|
|
71
47
|
894FADAF29BAD4C4000FB51A /* LiveStreamModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD6F29BAD4C4000FB51A /* LiveStreamModule.swift */; };
|
|
72
48
|
894FADB029BAD4C4000FB51A /* LiveStreamModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 894FAD7029BAD4C4000FB51A /* LiveStreamModule.m */; };
|
|
73
|
-
8966951029BC465600B91A3D /* UIView+FWSwizzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8966950F29BC465600B91A3D /* UIView+FWSwizzle.swift */; };
|
|
74
49
|
8967687F29C8209A009A9463 /* ShoppingCTAResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8967687E29C8209A009A9463 /* ShoppingCTAResult.swift */; };
|
|
75
50
|
/* End PBXBuildFile section */
|
|
76
51
|
|
|
@@ -89,46 +64,11 @@
|
|
|
89
64
|
/* Begin PBXFileReference section */
|
|
90
65
|
1F6F718A2771B48100224AF3 /* FireworkSdk-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "FireworkSdk-Bridging-Header.h"; sourceTree = "<group>"; };
|
|
91
66
|
894FAD1329BAD4C3000FB51A /* FWSwizzleLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FWSwizzleLoader.h; sourceTree = "<group>"; };
|
|
92
|
-
894FAD1729BAD4C3000FB51A /* UIImage+FWRTL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+FWRTL.m"; sourceTree = "<group>"; };
|
|
93
|
-
894FAD1829BAD4C3000FB51A /* NSString+FWRTL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+FWRTL.m"; sourceTree = "<group>"; };
|
|
94
|
-
894FAD1929BAD4C3000FB51A /* NSObject+FWRTLReloadBlock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+FWRTLReloadBlock.m"; sourceTree = "<group>"; };
|
|
95
|
-
894FAD1A29BAD4C3000FB51A /* FWRTLDefinitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FWRTLDefinitions.h; sourceTree = "<group>"; };
|
|
96
|
-
894FAD1B29BAD4C3000FB51A /* NSString+FWRTL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+FWRTL.h"; sourceTree = "<group>"; };
|
|
97
|
-
894FAD1C29BAD4C3000FB51A /* UIImage+FWRTL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+FWRTL.h"; sourceTree = "<group>"; };
|
|
98
|
-
894FAD1D29BAD4C3000FB51A /* NSObject+FWRTLReloadBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+FWRTLReloadBlock.h"; sourceTree = "<group>"; };
|
|
99
|
-
894FAD1F29BAD4C3000FB51A /* FWRTLManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FWRTLManager.m; sourceTree = "<group>"; };
|
|
100
|
-
894FAD2029BAD4C3000FB51A /* FWRTLManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FWRTLManager.h; sourceTree = "<group>"; };
|
|
101
|
-
894FAD2229BAD4C3000FB51A /* FWRTLRemoteViewControllerAdaptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FWRTLRemoteViewControllerAdaptor.m; sourceTree = "<group>"; };
|
|
102
|
-
894FAD2329BAD4C3000FB51A /* UIView+FWRTL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+FWRTL.h"; sourceTree = "<group>"; };
|
|
103
|
-
894FAD2429BAD4C3000FB51A /* UIWindow+FWRTL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIWindow+FWRTL.h"; sourceTree = "<group>"; };
|
|
104
|
-
894FAD2529BAD4C3000FB51A /* FWRTLWhiteListManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FWRTLWhiteListManager.h; sourceTree = "<group>"; };
|
|
105
|
-
894FAD2629BAD4C3000FB51A /* CALayer+FWRTL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CALayer+FWRTL.h"; sourceTree = "<group>"; };
|
|
106
|
-
894FAD2729BAD4C3000FB51A /* UILabel+FWRTL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UILabel+FWRTL.h"; sourceTree = "<group>"; };
|
|
107
|
-
894FAD2829BAD4C3000FB51A /* UIView+FWRTL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+FWRTL.m"; sourceTree = "<group>"; };
|
|
108
|
-
894FAD2929BAD4C3000FB51A /* FWRTLRemoteViewControllerAdaptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FWRTLRemoteViewControllerAdaptor.h; sourceTree = "<group>"; };
|
|
109
|
-
894FAD2A29BAD4C3000FB51A /* FWRTLWhiteListManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FWRTLWhiteListManager.m; sourceTree = "<group>"; };
|
|
110
|
-
894FAD2B29BAD4C3000FB51A /* UIWindow+FWRTL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIWindow+FWRTL.m"; sourceTree = "<group>"; };
|
|
111
|
-
894FAD2C29BAD4C3000FB51A /* UILabel+FWRTL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UILabel+FWRTL.m"; sourceTree = "<group>"; };
|
|
112
|
-
894FAD2D29BAD4C3000FB51A /* CALayer+FWRTL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "CALayer+FWRTL.m"; sourceTree = "<group>"; };
|
|
113
|
-
894FAD2F29BAD4C3000FB51A /* UIView+FWUIHierarchy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+FWUIHierarchy.swift"; sourceTree = "<group>"; };
|
|
114
67
|
894FAD3029BAD4C3000FB51A /* UIViewController+AttachChild.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+AttachChild.swift"; sourceTree = "<group>"; };
|
|
115
68
|
894FAD3129BAD4C3000FB51A /* UIView+Constraints.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Constraints.swift"; sourceTree = "<group>"; };
|
|
116
69
|
894FAD3429BAD4C3000FB51A /* UINavigationController+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UINavigationController+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
117
70
|
894FAD3529BAD4C3000FB51A /* String+Color.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Color.swift"; sourceTree = "<group>"; };
|
|
118
|
-
894FAD3629BAD4C3000FB51A /* DispatchQueue+FWOnce.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DispatchQueue+FWOnce.swift"; sourceTree = "<group>"; };
|
|
119
71
|
894FAD3729BAD4C3000FB51A /* FWSwizzleLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FWSwizzleLoader.m; sourceTree = "<group>"; };
|
|
120
|
-
894FAD3929BAD4C3000FB51A /* UITextView+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITextView+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
121
|
-
894FAD3A29BAD4C3000FB51A /* FWAppLanguageManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FWAppLanguageManager.swift; sourceTree = "<group>"; };
|
|
122
|
-
894FAD3B29BAD4C3000FB51A /* UITextField+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UITextField+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
123
|
-
894FAD3C29BAD4C3000FB51A /* UIWindow+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIWindow+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
124
|
-
894FAD3D29BAD4C3000FB51A /* UILabel+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UILabel+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
125
|
-
894FAD3E29BAD4C3000FB51A /* FWLanguageUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FWLanguageUtil.swift; sourceTree = "<group>"; };
|
|
126
|
-
894FAD3F29BAD4C3000FB51A /* UIImageView+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImageView+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
127
|
-
894FAD4029BAD4C3000FB51A /* NumberFormatter+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NumberFormatter+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
128
|
-
894FAD4129BAD4C3000FB51A /* UIViewController+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
129
|
-
894FAD4229BAD4C3000FB51A /* Bundle+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Bundle+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
130
|
-
894FAD4329BAD4C3000FB51A /* URLSession+FWSwizzle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "URLSession+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
131
|
-
894FAD4429BAD4C3000FB51A /* FWSwizzleUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FWSwizzleUtil.swift; sourceTree = "<group>"; };
|
|
132
72
|
894FAD4529BAD4C3000FB51A /* FWSwizzleLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FWSwizzleLoader.swift; sourceTree = "<group>"; };
|
|
133
73
|
894FAD4829BAD4C3000FB51A /* FontInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontInfo.swift; sourceTree = "<group>"; };
|
|
134
74
|
894FAD4A29BAD4C3000FB51A /* RCTConvert+StoryBlock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "RCTConvert+StoryBlock.swift"; sourceTree = "<group>"; };
|
|
@@ -164,7 +104,6 @@
|
|
|
164
104
|
894FAD6F29BAD4C4000FB51A /* LiveStreamModule.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LiveStreamModule.swift; sourceTree = "<group>"; };
|
|
165
105
|
894FAD7029BAD4C4000FB51A /* LiveStreamModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveStreamModule.m; sourceTree = "<group>"; };
|
|
166
106
|
894FADB229BAD571000FB51A /* libFireworkSdk.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libFireworkSdk.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
167
|
-
8966950F29BC465600B91A3D /* UIView+FWSwizzle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+FWSwizzle.swift"; sourceTree = "<group>"; };
|
|
168
107
|
8967687E29C8209A009A9463 /* ShoppingCTAResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingCTAResult.swift; sourceTree = "<group>"; };
|
|
169
108
|
897523632817DEF80070EBB6 /* react_native_firework_sdk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = react_native_firework_sdk.h; sourceTree = "<group>"; };
|
|
170
109
|
/* End PBXFileReference section */
|
|
@@ -196,86 +135,21 @@
|
|
|
196
135
|
894FAD1229BAD4C3000FB51A /* Utils */ = {
|
|
197
136
|
isa = PBXGroup;
|
|
198
137
|
children = (
|
|
199
|
-
894FAD1329BAD4C3000FB51A /* FWSwizzleLoader.h */,
|
|
200
|
-
894FAD1429BAD4C3000FB51A /* FWRTL */,
|
|
201
138
|
894FAD2E29BAD4C3000FB51A /* Extensions */,
|
|
139
|
+
894FAD1329BAD4C3000FB51A /* FWSwizzleLoader.h */,
|
|
202
140
|
894FAD3729BAD4C3000FB51A /* FWSwizzleLoader.m */,
|
|
203
|
-
894FAD3829BAD4C3000FB51A /* AppLanguage */,
|
|
204
|
-
894FAD4429BAD4C3000FB51A /* FWSwizzleUtil.swift */,
|
|
205
141
|
894FAD4529BAD4C3000FB51A /* FWSwizzleLoader.swift */,
|
|
206
142
|
);
|
|
207
143
|
path = Utils;
|
|
208
144
|
sourceTree = "<group>";
|
|
209
145
|
};
|
|
210
|
-
894FAD1429BAD4C3000FB51A /* FWRTL */ = {
|
|
211
|
-
isa = PBXGroup;
|
|
212
|
-
children = (
|
|
213
|
-
894FAD1529BAD4C3000FB51A /* Classes */,
|
|
214
|
-
);
|
|
215
|
-
path = FWRTL;
|
|
216
|
-
sourceTree = "<group>";
|
|
217
|
-
};
|
|
218
|
-
894FAD1529BAD4C3000FB51A /* Classes */ = {
|
|
219
|
-
isa = PBXGroup;
|
|
220
|
-
children = (
|
|
221
|
-
894FAD1629BAD4C3000FB51A /* Utils */,
|
|
222
|
-
894FAD1E29BAD4C3000FB51A /* Manager */,
|
|
223
|
-
894FAD2129BAD4C3000FB51A /* UICategories */,
|
|
224
|
-
);
|
|
225
|
-
path = Classes;
|
|
226
|
-
sourceTree = "<group>";
|
|
227
|
-
};
|
|
228
|
-
894FAD1629BAD4C3000FB51A /* Utils */ = {
|
|
229
|
-
isa = PBXGroup;
|
|
230
|
-
children = (
|
|
231
|
-
894FAD1729BAD4C3000FB51A /* UIImage+FWRTL.m */,
|
|
232
|
-
894FAD1829BAD4C3000FB51A /* NSString+FWRTL.m */,
|
|
233
|
-
894FAD1929BAD4C3000FB51A /* NSObject+FWRTLReloadBlock.m */,
|
|
234
|
-
894FAD1A29BAD4C3000FB51A /* FWRTLDefinitions.h */,
|
|
235
|
-
894FAD1B29BAD4C3000FB51A /* NSString+FWRTL.h */,
|
|
236
|
-
894FAD1C29BAD4C3000FB51A /* UIImage+FWRTL.h */,
|
|
237
|
-
894FAD1D29BAD4C3000FB51A /* NSObject+FWRTLReloadBlock.h */,
|
|
238
|
-
);
|
|
239
|
-
path = Utils;
|
|
240
|
-
sourceTree = "<group>";
|
|
241
|
-
};
|
|
242
|
-
894FAD1E29BAD4C3000FB51A /* Manager */ = {
|
|
243
|
-
isa = PBXGroup;
|
|
244
|
-
children = (
|
|
245
|
-
894FAD1F29BAD4C3000FB51A /* FWRTLManager.m */,
|
|
246
|
-
894FAD2029BAD4C3000FB51A /* FWRTLManager.h */,
|
|
247
|
-
);
|
|
248
|
-
path = Manager;
|
|
249
|
-
sourceTree = "<group>";
|
|
250
|
-
};
|
|
251
|
-
894FAD2129BAD4C3000FB51A /* UICategories */ = {
|
|
252
|
-
isa = PBXGroup;
|
|
253
|
-
children = (
|
|
254
|
-
894FAD2229BAD4C3000FB51A /* FWRTLRemoteViewControllerAdaptor.m */,
|
|
255
|
-
894FAD2329BAD4C3000FB51A /* UIView+FWRTL.h */,
|
|
256
|
-
894FAD2429BAD4C3000FB51A /* UIWindow+FWRTL.h */,
|
|
257
|
-
894FAD2529BAD4C3000FB51A /* FWRTLWhiteListManager.h */,
|
|
258
|
-
894FAD2629BAD4C3000FB51A /* CALayer+FWRTL.h */,
|
|
259
|
-
894FAD2729BAD4C3000FB51A /* UILabel+FWRTL.h */,
|
|
260
|
-
894FAD2829BAD4C3000FB51A /* UIView+FWRTL.m */,
|
|
261
|
-
894FAD2929BAD4C3000FB51A /* FWRTLRemoteViewControllerAdaptor.h */,
|
|
262
|
-
894FAD2A29BAD4C3000FB51A /* FWRTLWhiteListManager.m */,
|
|
263
|
-
894FAD2B29BAD4C3000FB51A /* UIWindow+FWRTL.m */,
|
|
264
|
-
894FAD2C29BAD4C3000FB51A /* UILabel+FWRTL.m */,
|
|
265
|
-
894FAD2D29BAD4C3000FB51A /* CALayer+FWRTL.m */,
|
|
266
|
-
);
|
|
267
|
-
path = UICategories;
|
|
268
|
-
sourceTree = "<group>";
|
|
269
|
-
};
|
|
270
146
|
894FAD2E29BAD4C3000FB51A /* Extensions */ = {
|
|
271
147
|
isa = PBXGroup;
|
|
272
148
|
children = (
|
|
273
|
-
894FAD2F29BAD4C3000FB51A /* UIView+FWUIHierarchy.swift */,
|
|
274
149
|
894FAD3029BAD4C3000FB51A /* UIViewController+AttachChild.swift */,
|
|
275
150
|
894FAD3129BAD4C3000FB51A /* UIView+Constraints.swift */,
|
|
276
151
|
894FAD3229BAD4C3000FB51A /* Swizzle */,
|
|
277
152
|
894FAD3529BAD4C3000FB51A /* String+Color.swift */,
|
|
278
|
-
894FAD3629BAD4C3000FB51A /* DispatchQueue+FWOnce.swift */,
|
|
279
153
|
);
|
|
280
154
|
path = Extensions;
|
|
281
155
|
sourceTree = "<group>";
|
|
@@ -288,25 +162,6 @@
|
|
|
288
162
|
path = Swizzle;
|
|
289
163
|
sourceTree = "<group>";
|
|
290
164
|
};
|
|
291
|
-
894FAD3829BAD4C3000FB51A /* AppLanguage */ = {
|
|
292
|
-
isa = PBXGroup;
|
|
293
|
-
children = (
|
|
294
|
-
894FAD3929BAD4C3000FB51A /* UITextView+FWSwizzle.swift */,
|
|
295
|
-
894FAD3A29BAD4C3000FB51A /* FWAppLanguageManager.swift */,
|
|
296
|
-
894FAD3B29BAD4C3000FB51A /* UITextField+FWSwizzle.swift */,
|
|
297
|
-
894FAD3C29BAD4C3000FB51A /* UIWindow+FWSwizzle.swift */,
|
|
298
|
-
894FAD3D29BAD4C3000FB51A /* UILabel+FWSwizzle.swift */,
|
|
299
|
-
894FAD3E29BAD4C3000FB51A /* FWLanguageUtil.swift */,
|
|
300
|
-
894FAD3F29BAD4C3000FB51A /* UIImageView+FWSwizzle.swift */,
|
|
301
|
-
894FAD4029BAD4C3000FB51A /* NumberFormatter+FWSwizzle.swift */,
|
|
302
|
-
894FAD4129BAD4C3000FB51A /* UIViewController+FWSwizzle.swift */,
|
|
303
|
-
894FAD4229BAD4C3000FB51A /* Bundle+FWSwizzle.swift */,
|
|
304
|
-
894FAD4329BAD4C3000FB51A /* URLSession+FWSwizzle.swift */,
|
|
305
|
-
8966950F29BC465600B91A3D /* UIView+FWSwizzle.swift */,
|
|
306
|
-
);
|
|
307
|
-
path = AppLanguage;
|
|
308
|
-
sourceTree = "<group>";
|
|
309
|
-
};
|
|
310
165
|
894FAD4629BAD4C3000FB51A /* Models */ = {
|
|
311
166
|
isa = PBXGroup;
|
|
312
167
|
children = (
|
|
@@ -476,40 +331,26 @@
|
|
|
476
331
|
buildActionMask = 2147483647;
|
|
477
332
|
files = (
|
|
478
333
|
894FAD9629BAD4C4000FB51A /* FireworkEventName.swift in Sources */,
|
|
479
|
-
894FAD7629BAD4C4000FB51A /* UIView+FWRTL.m in Sources */,
|
|
480
|
-
894FAD7129BAD4C4000FB51A /* UIImage+FWRTL.m in Sources */,
|
|
481
334
|
894FAD7C29BAD4C4000FB51A /* UIViewController+AttachChild.swift in Sources */,
|
|
482
|
-
894FAD8729BAD4C4000FB51A /* UILabel+FWSwizzle.swift in Sources */,
|
|
483
|
-
894FAD8529BAD4C4000FB51A /* UITextField+FWSwizzle.swift in Sources */,
|
|
484
335
|
894FAD7D29BAD4C4000FB51A /* UIView+Constraints.swift in Sources */,
|
|
485
336
|
894FAD9129BAD4C4000FB51A /* RCTConvert+StoryBlock.swift in Sources */,
|
|
486
|
-
894FAD8629BAD4C4000FB51A /* UIWindow+FWSwizzle.swift in Sources */,
|
|
487
337
|
894FADAE29BAD4C4000FB51A /* FireworkSDKModule.m in Sources */,
|
|
488
338
|
894FADAA29BAD4C4000FB51A /* FireworkSDKModule+EventTracking.swift in Sources */,
|
|
489
339
|
894FAD8F29BAD4C4000FB51A /* FWSwizzleLoader.swift in Sources */,
|
|
490
340
|
894FAD8229BAD4C4000FB51A /* FWSwizzleLoader.m in Sources */,
|
|
491
|
-
894FAD8129BAD4C4000FB51A /* DispatchQueue+FWOnce.swift in Sources */,
|
|
492
341
|
894FAD9B29BAD4C4000FB51A /* StoryBlockManager.m in Sources */,
|
|
493
342
|
894FADB029BAD4C4000FB51A /* LiveStreamModule.m in Sources */,
|
|
494
343
|
894FADA829BAD4C4000FB51A /* ShoppingModule.swift in Sources */,
|
|
495
|
-
894FAD7B29BAD4C4000FB51A /* UIView+FWUIHierarchy.swift in Sources */,
|
|
496
344
|
894FADA029BAD4C4000FB51A /* FWNavigatorProtocol.swift in Sources */,
|
|
497
345
|
894FAD9929BAD4C4000FB51A /* AdConfiguration.swift in Sources */,
|
|
498
346
|
894FAD9D29BAD4C4000FB51A /* VideoFeed.swift in Sources */,
|
|
499
347
|
894FAD9729BAD4C4000FB51A /* StoryBlock.swift in Sources */,
|
|
500
348
|
894FAD9329BAD4C4000FB51A /* RCTConvert+Shopping.swift in Sources */,
|
|
501
349
|
894FAD9029BAD4C4000FB51A /* FontInfo.swift in Sources */,
|
|
502
|
-
894FAD7929BAD4C4000FB51A /* UILabel+FWRTL.m in Sources */,
|
|
503
|
-
894FAD7329BAD4C4000FB51A /* NSObject+FWRTLReloadBlock.m in Sources */,
|
|
504
|
-
894FAD7829BAD4C4000FB51A /* UIWindow+FWRTL.m in Sources */,
|
|
505
|
-
894FAD7A29BAD4C4000FB51A /* CALayer+FWRTL.m in Sources */,
|
|
506
|
-
894FAD7529BAD4C4000FB51A /* FWRTLRemoteViewControllerAdaptor.m in Sources */,
|
|
507
|
-
894FAD7229BAD4C4000FB51A /* NSString+FWRTL.m in Sources */,
|
|
508
350
|
894FADAC29BAD4C4000FB51A /* AdBadgeConfiguration.swift in Sources */,
|
|
509
351
|
894FADA729BAD4C4000FB51A /* Product.swift in Sources */,
|
|
510
352
|
894FADAF29BAD4C4000FB51A /* LiveStreamModule.swift in Sources */,
|
|
511
353
|
894FADA529BAD4C4000FB51A /* FWCartViewController.swift in Sources */,
|
|
512
|
-
894FAD8929BAD4C4000FB51A /* UIImageView+FWSwizzle.swift in Sources */,
|
|
513
354
|
894FADA629BAD4C4000FB51A /* ProductInfoViewConfiguration.swift in Sources */,
|
|
514
355
|
894FADA929BAD4C4000FB51A /* TrackPurchaseParameters.swift in Sources */,
|
|
515
356
|
894FADA329BAD4C4000FB51A /* FWNavigatorModule.m in Sources */,
|
|
@@ -517,29 +358,18 @@
|
|
|
517
358
|
894FADAD29BAD4C4000FB51A /* FireworkSDKModule+CTA.swift in Sources */,
|
|
518
359
|
894FADA129BAD4C4000FB51A /* FWNavigatorContainerViewController.swift in Sources */,
|
|
519
360
|
894FADAB29BAD4C4000FB51A /* FireworkSDKModule.swift in Sources */,
|
|
520
|
-
8966951029BC465600B91A3D /* UIView+FWSwizzle.swift in Sources */,
|
|
521
|
-
894FAD8429BAD4C4000FB51A /* FWAppLanguageManager.swift in Sources */,
|
|
522
|
-
894FAD8E29BAD4C4000FB51A /* FWSwizzleUtil.swift in Sources */,
|
|
523
|
-
894FAD8B29BAD4C4000FB51A /* UIViewController+FWSwizzle.swift in Sources */,
|
|
524
361
|
894FAD9E29BAD4C4000FB51A /* VideoPlayerConfiguration.swift in Sources */,
|
|
525
362
|
894FAD9C29BAD4C4000FB51A /* VideoFeedConfiguration.swift in Sources */,
|
|
526
|
-
894FAD8329BAD4C4000FB51A /* UITextView+FWSwizzle.swift in Sources */,
|
|
527
363
|
894FAD7F29BAD4C4000FB51A /* UINavigationController+FWSwizzle.swift in Sources */,
|
|
528
|
-
894FAD7429BAD4C4000FB51A /* FWRTLManager.m in Sources */,
|
|
529
364
|
894FADA229BAD4C4000FB51A /* FWNavigatorModule.swift in Sources */,
|
|
530
365
|
894FAD9829BAD4C4000FB51A /* VideoFeedManager.swift in Sources */,
|
|
531
366
|
894FADA429BAD4C4000FB51A /* ShoppingModule.m in Sources */,
|
|
532
367
|
894FAD8029BAD4C4000FB51A /* String+Color.swift in Sources */,
|
|
533
368
|
894FAD9429BAD4C4000FB51A /* RCTConvert+VideoFeed.swift in Sources */,
|
|
534
|
-
894FAD8A29BAD4C4000FB51A /* NumberFormatter+FWSwizzle.swift in Sources */,
|
|
535
369
|
894FAD9229BAD4C4000FB51A /* RCTConvert+FireworkSDKModule.swift in Sources */,
|
|
536
370
|
8967687F29C8209A009A9463 /* ShoppingCTAResult.swift in Sources */,
|
|
537
371
|
894FAD9F29BAD4C4000FB51A /* VideoFeedManager.m in Sources */,
|
|
538
372
|
894FAD9A29BAD4C4000FB51A /* StoryBlockManager.swift in Sources */,
|
|
539
|
-
894FAD8829BAD4C4000FB51A /* FWLanguageUtil.swift in Sources */,
|
|
540
|
-
894FAD7729BAD4C4000FB51A /* FWRTLWhiteListManager.m in Sources */,
|
|
541
|
-
894FAD8D29BAD4C4000FB51A /* URLSession+FWSwizzle.swift in Sources */,
|
|
542
|
-
894FAD8C29BAD4C4000FB51A /* Bundle+FWSwizzle.swift in Sources */,
|
|
543
373
|
);
|
|
544
374
|
runOnlyForDeploymentPostprocessing = 0;
|
|
545
375
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# ``FireworkVideoUI``
|
|
2
|
+
|
|
3
|
+
<!--@START_MENU_TOKEN@-->Summary<!--@END_MENU_TOKEN@-->
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
<!--@START_MENU_TOKEN@-->Text<!--@END_MENU_TOKEN@-->
|
|
8
|
+
|
|
9
|
+
## Topics
|
|
10
|
+
|
|
11
|
+
### <!--@START_MENU_TOKEN@-->Group<!--@END_MENU_TOKEN@-->
|
|
12
|
+
|
|
13
|
+
- <!--@START_MENU_TOKEN@-->``Symbol``<!--@END_MENU_TOKEN@-->
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FireworkVideoUI.h
|
|
3
|
+
// FireworkVideoUI
|
|
4
|
+
//
|
|
5
|
+
// Created by linjie jiang on 4/25/23.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <Foundation/Foundation.h>
|
|
9
|
+
|
|
10
|
+
//! Project version number for FireworkVideoUI.
|
|
11
|
+
FOUNDATION_EXPORT double FireworkVideoUIVersionNumber;
|
|
12
|
+
|
|
13
|
+
//! Project version string for FireworkVideoUI.
|
|
14
|
+
FOUNDATION_EXPORT const unsigned char FireworkVideoUIVersionString[];
|
|
15
|
+
|
|
16
|
+
// In this header, you should import all the public headers of your framework using statements like #import <FireworkVideoUI/PublicHeader.h>
|
|
17
|
+
|
|
18
|
+
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
//
|
|
2
|
+
// AppLanguageManager.swift
|
|
3
|
+
//
|
|
4
|
+
// Created by linjie jiang on 2023/2/7.
|
|
5
|
+
//
|
|
6
|
+
|
|
7
|
+
import UIKit
|
|
8
|
+
|
|
9
|
+
private let appLanguageStorageKey = "firework_sdk_app_language_storage_key"
|
|
10
|
+
|
|
11
|
+
enum AppLanguageLayoutDirection: Int {
|
|
12
|
+
case ltr, rtl, unsupported
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/// The manager of supporting app language
|
|
16
|
+
public class AppLanguageManager {
|
|
17
|
+
public struct NotificationName {
|
|
18
|
+
/// The notification name for language change
|
|
19
|
+
public static let AppLanguageChanged = Notification.Name(
|
|
20
|
+
rawValue: "firework.notification.name.appLanguageChanged"
|
|
21
|
+
)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public static let shared = AppLanguageManager()
|
|
25
|
+
|
|
26
|
+
var systemLanguage: String?
|
|
27
|
+
private var systemLanguageCode: String? {
|
|
28
|
+
guard let language = systemLanguage else {
|
|
29
|
+
return nil
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return LanguageUtil.getLanguageCode(language)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/// Get current app language.
|
|
36
|
+
public private(set) var appLanguage: String? {
|
|
37
|
+
didSet {
|
|
38
|
+
if appLanguage != nil {
|
|
39
|
+
AppLanguageManager.swizzelMethods()
|
|
40
|
+
LayoutFlipManager.shared.enableHorizontalFlip = shouldHorizontalFlip
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if appLanguage != oldValue {
|
|
44
|
+
NotificationCenter.default.post(name: NotificationName.AppLanguageChanged, object: nil)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
var appLanguageCode: String? {
|
|
50
|
+
guard let language = appLanguage else {
|
|
51
|
+
return nil
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return LanguageUtil.getLanguageCode(language)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
var appLanguageLayoutDirection: AppLanguageLayoutDirection? {
|
|
58
|
+
guard let languageCode = appLanguageCode else {
|
|
59
|
+
return nil
|
|
60
|
+
}
|
|
61
|
+
let direction = Locale.characterDirection(forLanguage: languageCode)
|
|
62
|
+
switch direction {
|
|
63
|
+
case .leftToRight:
|
|
64
|
+
return .ltr
|
|
65
|
+
case .rightToLeft:
|
|
66
|
+
return .rtl
|
|
67
|
+
default:
|
|
68
|
+
return .unsupported
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
var shouldHorizontalFlip: Bool {
|
|
73
|
+
guard let appLanguageCode = appLanguageCode else {
|
|
74
|
+
return false
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
guard let systemLanguageCode = systemLanguageCode else {
|
|
78
|
+
return false
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
let appLanguageDirection = Locale.characterDirection(forLanguage: appLanguageCode)
|
|
82
|
+
let systemLanguageDirection = Locale.characterDirection(forLanguage: systemLanguageCode)
|
|
83
|
+
|
|
84
|
+
if appLanguageDirection == .leftToRight, systemLanguageDirection == .rightToLeft {
|
|
85
|
+
return true
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if appLanguageDirection == .rightToLeft, systemLanguageDirection == .leftToRight {
|
|
89
|
+
return true
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return false
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
private static func swizzelMethods() {
|
|
96
|
+
DispatchQueue.once {
|
|
97
|
+
UIViewController.swizzleViewControllerMethodsForAppLanguage()
|
|
98
|
+
Bundle.swizzleBundleMethodsForAppLanguage()
|
|
99
|
+
URLSession.swizzleURLSessionMethodsForAppLanguage()
|
|
100
|
+
NumberFormatter.swizzleNumberFormatterMethodsForAppLanguage()
|
|
101
|
+
UIImageView.swizzleImageViewMethodsForAppLanguage()
|
|
102
|
+
UILabel.swizzleLabelMethodsForAppLanguage()
|
|
103
|
+
UITextField.swizzleTextFieldMethodsForAppLanguage()
|
|
104
|
+
UITextView.swizzleTextViewMethodsForAppLanguage()
|
|
105
|
+
UIWindow.swizzleWindowMethodsForAppLanguage()
|
|
106
|
+
UIView.swizzleViewMethodsForAppLanguage()
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
LayoutFlipManager.swizzelMethods()
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
private init() {
|
|
113
|
+
initializeManager()
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
private func initializeManager() {
|
|
117
|
+
self.systemLanguage = Locale.preferredLanguages.first
|
|
118
|
+
let cachedAppLanguage = UserDefaults.standard.object(forKey: appLanguageStorageKey) as? String
|
|
119
|
+
if LanguageUtil.isValidLanguage(cachedAppLanguage) {
|
|
120
|
+
self.appLanguage = cachedAppLanguage
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/// Change app language
|
|
125
|
+
///
|
|
126
|
+
/// - Parameters:
|
|
127
|
+
/// - language: app language. We will use system langauge when language is nil.
|
|
128
|
+
/// - Returns: The result of changing app language.
|
|
129
|
+
@discardableResult
|
|
130
|
+
public func changeAppLanguage(_ language: String?) -> Bool {
|
|
131
|
+
guard let language = language, language.count > 0 else {
|
|
132
|
+
appLanguage = nil
|
|
133
|
+
UserDefaults.standard.removeObject(forKey: appLanguageStorageKey)
|
|
134
|
+
UserDefaults.standard.synchronize()
|
|
135
|
+
return true
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if LanguageUtil.isValidLanguage(language) {
|
|
139
|
+
appLanguage = language
|
|
140
|
+
UserDefaults.standard.set(language, forKey: appLanguageStorageKey)
|
|
141
|
+
UserDefaults.standard.synchronize()
|
|
142
|
+
return true
|
|
143
|
+
} else {
|
|
144
|
+
return false
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|