@takeoffmedia/react-native-penthera 0.1.7 → 0.1.8
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/Catalog.swift +0 -2
- package/ios/CurrentDownlad.swift +14 -0
- package/ios/Penthera.swift +212 -184
- package/lib/commonjs/hooks/usePenthera.js +3 -2
- package/lib/commonjs/hooks/usePenthera.js.map +1 -1
- package/lib/module/hooks/usePenthera.js +3 -2
- package/lib/module/hooks/usePenthera.js.map +1 -1
- package/lib/typescript/hooks/usePenthera.d.ts +2 -2
- package/lib/typescript/hooks/usePenthera.d.ts.map +1 -1
- package/lib/typescript/interface/PentheraTypes.d.ts +1 -0
- package/lib/typescript/interface/PentheraTypes.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/hooks/usePenthera.ts +5 -3
- package/src/interface/PentheraTypes.ts +1 -0
- package/ios/Penthera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/Penthera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Penthera.xcodeproj/project.xcworkspace/xcuserdata/joseguerreroot.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -56
- package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
package/ios/Catalog.swift
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
struct StatusDownload: Codable {
|
|
3
|
+
var id: String = ""
|
|
4
|
+
var title: String = ""
|
|
5
|
+
var dataOffers: [String]? = []
|
|
6
|
+
var thumbnails: Thumbnails?
|
|
7
|
+
var show: String = ""
|
|
8
|
+
var duration: Double = 0
|
|
9
|
+
var estimatedSize: Int = 0
|
|
10
|
+
var progress: Int = 0
|
|
11
|
+
var isCompleted: Bool = false
|
|
12
|
+
var isPaused: Bool = false
|
|
13
|
+
}
|
|
14
|
+
|
package/ios/Penthera.swift
CHANGED
|
@@ -3,76 +3,74 @@ import VirtuosoClientDownloadEngine
|
|
|
3
3
|
@objc(Penthera)
|
|
4
4
|
class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
5
5
|
var downloadEngineNotifications: VirtuosoDownloadEngineNotificationManager!
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
public override init() {
|
|
8
8
|
super.init()
|
|
9
9
|
EventEmitter.sharedInstance.registerEventEmitter(eventEmitter: self)
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@objc(initializeSdk:withBackplaneUrl:withPublicKey:withPrivateKey:withResolver:withRejecter:)
|
|
18
|
-
func initializeSdk(user: String, backplaneUrl: String, publicKey: String, privateKey: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
19
|
-
guard let engineConfig = VirtuosoEngineConfig(
|
|
20
|
-
user: user,
|
|
21
|
-
backplaneUrl: backplaneUrl,
|
|
22
|
-
publicKey: publicKey,
|
|
23
|
-
privateKey: privateKey) else {
|
|
24
|
-
return reject("Penthera", "engine Config", nil)
|
|
11
|
+
|
|
12
|
+
var statusDownload: StatusDownload = StatusDownload()
|
|
13
|
+
|
|
14
|
+
@objc(multiply:withB:withResolver:withRejecter:)
|
|
15
|
+
func multiply(a: Float, b: Float, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void {
|
|
16
|
+
resolve(a*b)
|
|
25
17
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
18
|
+
|
|
19
|
+
@objc(initializeSdk:withBackplaneUrl:withPublicKey:withPrivateKey:withResolver:withRejecter:)
|
|
20
|
+
func initializeSdk(user: String, backplaneUrl: String, publicKey: String, privateKey: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
21
|
+
guard let engineConfig = VirtuosoEngineConfig(
|
|
22
|
+
user: user,
|
|
23
|
+
backplaneUrl: backplaneUrl,
|
|
24
|
+
publicKey: publicKey,
|
|
25
|
+
privateKey: privateKey) else {
|
|
26
|
+
return reject("Penthera", "engine Config", nil)
|
|
27
|
+
}
|
|
28
|
+
self.downloadEngineNotifications = VirtuosoDownloadEngineNotificationManager.init(delegate: self)
|
|
29
|
+
let virtuoso = VirtuosoDownloadEngine.instance()
|
|
30
|
+
virtuoso.startup(engineConfig) { status in
|
|
31
|
+
switch(status) {
|
|
32
|
+
case .vde_EngineStartupSuccess:
|
|
33
|
+
EventEmitter.sharedInstance.dispatch(name: "penthera", code: "Virtuoso Success", assetId: "test", body: "asset")
|
|
34
|
+
resolve("Success")
|
|
35
|
+
case .vde_EngineStartupAlreadyStarted:
|
|
36
|
+
//EventEmitter.sharedInstance.dispatch(name: "penthera", body: "Virtuoso Aready Started")
|
|
37
|
+
resolve("Already Started")
|
|
38
|
+
case .vde_EngineStartupSuccessNoBackplane:
|
|
39
|
+
//EventEmitter.sharedInstance.dispatch(name: "penthera", body: "Virtuoso Backplane")
|
|
40
|
+
resolve("No Backplane")
|
|
41
|
+
case .vde_EngineStartupInvalidOptions:
|
|
42
|
+
//EventEmitter.sharedInstance.dispatch(name: "penthera", body: "Virtuoso Invalid")
|
|
43
|
+
resolve("Invalid Option")
|
|
44
|
+
case .vde_EngineStartupMethodIsDeprecated:
|
|
45
|
+
//EventEmitter.sharedInstance.dispatch(name: "penthera", body: "Virtuoso Method Decraped")
|
|
46
|
+
resolve("Decraped")
|
|
47
|
+
case .vde_EngineStartupInternalException:
|
|
48
|
+
//EventEmitter.sharedInstance.dispatch(name: "penthera", body: "Virtuoso Internal Exception")
|
|
49
|
+
resolve("Internal Exception")
|
|
50
|
+
case .vde_EngineDataMigrationError:
|
|
51
|
+
//EventEmitter.sharedInstance.dispatch(name: "penthera", body: "Virtuoso Migrate Error")
|
|
52
|
+
resolve("Error")
|
|
53
|
+
@unknown default:
|
|
54
|
+
//EventEmitter.sharedInstance.dispatch(name: "penthera", body: "Virtuoso Default")
|
|
55
|
+
resolve("Error Default")
|
|
56
|
+
}
|
|
57
|
+
}
|
|
55
58
|
}
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
|
|
58
60
|
@objc(getDownloads:withResolver:withRejecter:)
|
|
59
61
|
func getDownloads(blank: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
60
62
|
let completedAssets = VirtuosoAsset.completedAssets(withAvailabilityFilter: false)
|
|
61
63
|
let pendingAssets = VirtuosoAsset.pendingAssets(withAvailabilityFilter: false)
|
|
62
64
|
var offlineCatalogs: [OfflineCatalog] = []
|
|
63
|
-
|
|
65
|
+
|
|
64
66
|
for case let va as VirtuosoAsset in completedAssets {
|
|
65
67
|
let thumbnail = va.findAllAncillaries(withTag: "thumbnail").first
|
|
66
|
-
let season = va.findAllAncillaries(withTag: "season").first
|
|
67
68
|
let show = va.findAllAncillaries(withTag: "show").first
|
|
68
|
-
let episode = va.findAllAncillaries(withTag: "episode").first
|
|
69
69
|
let thumbnails = Thumbnails(
|
|
70
70
|
thumbnail: thumbnail?.fileDownloadURL ?? "",
|
|
71
|
-
|
|
72
|
-
show: show?.fileDownloadURL ?? "",
|
|
73
|
-
episode: episode?.fileDownloadURL ?? ""
|
|
71
|
+
show: show?.fileDownloadURL ?? ""
|
|
74
72
|
)
|
|
75
|
-
|
|
73
|
+
|
|
76
74
|
let dataItem = DataItem(
|
|
77
75
|
title: va.userInfo?["title"] as? String,
|
|
78
76
|
seasonId: va.userInfo?["seasonId"] as? String,
|
|
@@ -90,7 +88,7 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
90
88
|
isPaused: va.isPaused)
|
|
91
89
|
offlineCatalogs.append(catalog)
|
|
92
90
|
}
|
|
93
|
-
|
|
91
|
+
|
|
94
92
|
for case let va as VirtuosoAsset in pendingAssets {
|
|
95
93
|
let catalog = OfflineCatalog(
|
|
96
94
|
id: va.assetID,
|
|
@@ -100,7 +98,7 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
100
98
|
)
|
|
101
99
|
offlineCatalogs.append(catalog)
|
|
102
100
|
}
|
|
103
|
-
|
|
101
|
+
|
|
104
102
|
let decoder = JSONEncoder()
|
|
105
103
|
do {
|
|
106
104
|
let data = try decoder.encode(offlineCatalogs)
|
|
@@ -111,7 +109,7 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
111
109
|
}
|
|
112
110
|
//resolve(downloadComplete.map{ ($0 as? VirtuosoAsset)?.assetID })
|
|
113
111
|
}
|
|
114
|
-
|
|
112
|
+
|
|
115
113
|
func getDownloadedAsset(assetID: String) -> VirtuosoAsset? {
|
|
116
114
|
// assets that have finished downloading
|
|
117
115
|
let completedAssets = VirtuosoAsset.completedAssets(withAvailabilityFilter: false)
|
|
@@ -120,37 +118,67 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
120
118
|
}
|
|
121
119
|
return asset
|
|
122
120
|
}
|
|
123
|
-
|
|
121
|
+
|
|
124
122
|
public func downloadEngineDidStartDownloadingAsset(_ asset: VirtuosoAsset) {
|
|
125
123
|
EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.DID_START_DOWNLOADING, assetId: asset.assetID, body: "")
|
|
126
124
|
}
|
|
127
|
-
|
|
125
|
+
|
|
128
126
|
public func downloadEngineProgressUpdated(for asset: VirtuosoAsset) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
127
|
+
|
|
128
|
+
let thumbnail = asset.findAllAncillaries(withTag: "thumbnail").first
|
|
129
|
+
let show = asset.findAllAncillaries(withTag: "show").first
|
|
130
|
+
let thumbnails = Thumbnails(
|
|
131
|
+
thumbnail: thumbnail?.fileDownloadURL ?? "",
|
|
132
|
+
show: show?.fileDownloadURL ?? ""
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
let dataParse = StatusDownload(
|
|
136
|
+
id: asset.assetID,
|
|
137
|
+
title: (asset.userInfo?["title"] as? String)!,
|
|
138
|
+
dataOffers: parseDataOffer(offer: asset.userInfo?["dataOffers"] as Any),
|
|
139
|
+
thumbnails: thumbnails,
|
|
140
|
+
duration: asset.duration,
|
|
141
|
+
estimatedSize: Int(asset.estimatedSize),
|
|
142
|
+
progress: Int(asset.fractionComplete*100),
|
|
143
|
+
isCompleted: asset.isPlayable,
|
|
144
|
+
isPaused: asset.isPaused
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
let decoder = JSONEncoder()
|
|
148
|
+
do {
|
|
149
|
+
let data = try decoder.encode(dataParse)
|
|
150
|
+
let json = String(data: data, encoding: .utf8)!
|
|
151
|
+
let percentage: Float = Float(asset.fractionComplete)/Float(asset.estimatedSize)
|
|
152
|
+
if(percentage.isFinite) {
|
|
153
|
+
EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.PROGRESS_UPDATED, assetId: asset.assetID, body: json)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
} catch {
|
|
157
|
+
print("Error converting to JSON: \(error)")
|
|
132
158
|
}
|
|
159
|
+
|
|
160
|
+
|
|
133
161
|
}
|
|
134
|
-
|
|
162
|
+
|
|
135
163
|
public func downloadEngineProgressUpdatedProcessing(for asset: VirtuosoAsset) {
|
|
136
|
-
|
|
164
|
+
|
|
137
165
|
}
|
|
138
|
-
|
|
166
|
+
|
|
139
167
|
public func downloadEngineDidFinishDownloadingAsset(_ asset: VirtuosoAsset) {
|
|
140
168
|
EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.DOWNLOAD_COMPLETE, assetId: asset.assetID, body: "")
|
|
141
169
|
}
|
|
142
|
-
|
|
170
|
+
|
|
143
171
|
public func downloadEngineDidEncounterError(for asset: VirtuosoAsset, error: Error?, task: URLSessionTask?, data: Data?, statusCode: NSNumber?) {
|
|
144
172
|
asset.delete()
|
|
145
173
|
EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ERROR_DOWNLOAD, assetId: asset.assetID, body: error.debugDescription ?? "Error downloading")
|
|
146
174
|
/*EventEmitter.sharedInstance.dispatch(name: "penthera", body: "\(asset.assetID): Engine did encounter error \(error?.localizedDescription ?? "-")")*/
|
|
147
175
|
}
|
|
148
|
-
|
|
176
|
+
|
|
149
177
|
public func downloadEngineInternalQueueUpdate(asset: VirtuosoAsset) {
|
|
150
178
|
//EventEmitter.sharedInstance.dispatch(name: "penthera", code: "TEST downloadEngineInternalQueueUpdate", body: "Queue updated", assetId: asset.assetID)
|
|
151
179
|
EventEmitter.sharedInstance.dispatch(name: "penthera", code: "TEST downloadEngineInternalQueueUpdate", assetId: asset.assetID, body: "Queue updated")
|
|
152
|
-
|
|
153
|
-
|
|
180
|
+
}
|
|
181
|
+
|
|
154
182
|
public func downloadEngineStartupComplete(_ succeeded: Bool, asset: VirtuosoAsset) {
|
|
155
183
|
//EventEmitter.sharedInstance.dispatch(name: "penthera", code: "Test downloadEngineStartupComplete", body: "SDK startup complete", assetId: asset.assetID)
|
|
156
184
|
EventEmitter.sharedInstance.dispatch(name: "penthera", code: "TEST downloadEngineStartupComplete", assetId: asset.assetID, body: "SDK startup complete")
|
|
@@ -175,19 +203,19 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
175
203
|
}
|
|
176
204
|
return ancillaryFiles
|
|
177
205
|
}
|
|
178
|
-
|
|
206
|
+
|
|
179
207
|
@objc(download:withResolver:withRejecter:)
|
|
180
208
|
func download(catalogString: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
181
209
|
let virtuoso = VirtuosoDownloadEngine.instance()
|
|
182
210
|
var queue = virtuoso.assetsInQueue()
|
|
183
|
-
|
|
211
|
+
|
|
184
212
|
//let decoder = JSONDecoder()
|
|
185
|
-
|
|
213
|
+
|
|
186
214
|
do {
|
|
187
|
-
|
|
188
|
-
|
|
215
|
+
|
|
216
|
+
|
|
189
217
|
let data = catalogString.getDictionary()
|
|
190
|
-
|
|
218
|
+
|
|
191
219
|
guard let item = data!["item"] as! [String: AnyObject]? else {
|
|
192
220
|
reject("No item", nil, nil)
|
|
193
221
|
return
|
|
@@ -196,20 +224,20 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
196
224
|
reject("No url", nil, nil)
|
|
197
225
|
return
|
|
198
226
|
}
|
|
199
|
-
|
|
227
|
+
|
|
200
228
|
let assetID = item["id"] as! String? ?? ""
|
|
201
229
|
let hasDRM = item["drm"] as! Bool? ?? false
|
|
202
230
|
let title = item["title"] as! String? ?? ""
|
|
203
|
-
|
|
231
|
+
|
|
204
232
|
let downloadAsset = getDownloadedAsset(assetID: assetID)
|
|
205
233
|
let pendingAsset = getPendingAsset(assetID: assetID)
|
|
206
|
-
|
|
234
|
+
|
|
207
235
|
if (pendingAsset != nil) {
|
|
208
236
|
EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.PENDING_ASSET_FOUND, assetId: assetID, body: "")
|
|
209
237
|
pendingAsset?.delete()
|
|
210
238
|
return
|
|
211
239
|
}
|
|
212
|
-
|
|
240
|
+
|
|
213
241
|
if(downloadAsset == nil && pendingAsset == nil) {
|
|
214
242
|
DispatchQueue.global(qos: .background).async {
|
|
215
243
|
guard let config = VirtuosoAssetConfig(url: url,
|
|
@@ -223,69 +251,69 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
223
251
|
let thumbnails = item["thumbnails"] as! [String: AnyObject]? ?? [:]
|
|
224
252
|
let subtitles = item["subtitles"] as! [String: AnyObject]? ?? [:]
|
|
225
253
|
config.ancillaries = self.getAncillaryFiles(files: thumbnails) + self.getAncillaryFiles(files: subtitles)
|
|
226
|
-
|
|
227
|
-
|
|
254
|
+
|
|
255
|
+
|
|
228
256
|
//DRM
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
257
|
+
if(hasDRM) {
|
|
258
|
+
|
|
259
|
+
guard let drm = data!["drm"] as! [String: AnyObject]? else {
|
|
260
|
+
reject("No drm", nil, nil)
|
|
261
|
+
return
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
let token = drm["token"] as! String? ?? ""
|
|
265
|
+
let licenceHttpHeader = drm["licence_server_http_header"] as! String? ?? ""
|
|
266
|
+
let licence = drm["licence_server"] as! String? ?? ""
|
|
267
|
+
let cert = drm["fairplay_cert"] as! String? ?? ""
|
|
268
|
+
|
|
269
|
+
guard let drmSetup = FairPlayDrmSetup(assetID: assetID, certificateUrl: cert, licenceUrl: licence, header: licenceHttpHeader, token: token) else {
|
|
270
|
+
EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.FAIR_PLAY_LICENSE_DELEGATE_ERROR, assetId: "", body: "")
|
|
271
|
+
return
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
if !drmSetup.configure() {
|
|
275
|
+
EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.FAIR_PLAY_LICENSE_DELEGATE_ERROR, assetId: "", body: "")
|
|
276
|
+
return
|
|
277
|
+
}
|
|
278
|
+
config.protectionType = .vde_AssetProtectionTypeFairPlay
|
|
279
|
+
|
|
280
|
+
}
|
|
281
|
+
|
|
254
282
|
let asset = VirtuosoAsset.init(config: config)
|
|
255
|
-
|
|
283
|
+
|
|
256
284
|
let data = item["data"] as! [String: AnyObject]? ?? [:]
|
|
257
|
-
|
|
285
|
+
|
|
258
286
|
asset?.userInfo = data
|
|
259
|
-
|
|
287
|
+
|
|
260
288
|
config.ancillaries?.forEach{ file in
|
|
261
289
|
asset?.add(file)
|
|
262
290
|
}
|
|
263
|
-
|
|
264
|
-
|
|
291
|
+
|
|
292
|
+
|
|
265
293
|
//asset?.add(subtitle!)
|
|
266
|
-
|
|
294
|
+
|
|
267
295
|
//let calendar = Calendar.current
|
|
268
296
|
//guard let expiryDate = calendar.date(byAdding: .minute, value: 1, to: Date()) else {
|
|
269
297
|
// return
|
|
270
298
|
//}
|
|
271
|
-
|
|
299
|
+
|
|
272
300
|
//asset?.expiryAfterDownload = expiryDate.timeIntervalSinceNow
|
|
273
|
-
|
|
301
|
+
|
|
274
302
|
queue.append(asset!)
|
|
275
303
|
resolve(assetID)
|
|
276
304
|
//resolve(queue.count)
|
|
277
305
|
}
|
|
278
306
|
}
|
|
279
|
-
|
|
307
|
+
|
|
280
308
|
} catch {
|
|
281
309
|
reject("penthera", error.localizedDescription, error)
|
|
282
310
|
}
|
|
283
311
|
}
|
|
284
|
-
|
|
312
|
+
|
|
285
313
|
@objc(delete:withResolver:withRejecter:)
|
|
286
314
|
func delete(assetID: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
287
315
|
//DispatchQueue.global(qos: .background).async {
|
|
288
|
-
|
|
316
|
+
|
|
289
317
|
let downloadComplete = VirtuosoAsset.completedAssets(withAvailabilityFilter: false)
|
|
290
318
|
if(downloadComplete.count > 0) {
|
|
291
319
|
for case let va as VirtuosoAsset in downloadComplete {
|
|
@@ -300,28 +328,28 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
300
328
|
EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ASSET_DELETED, assetId: assetID, body: "")
|
|
301
329
|
}
|
|
302
330
|
}
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
306
334
|
@objc(deleteMany:withResolver:withRejecter:)
|
|
307
335
|
func deleteMany(assetIDS: [String], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
308
336
|
// initialize assetResponse {}. Ex {"123":false, "543":false}
|
|
309
337
|
var assetsResponse: [String: Bool] = Dictionary(uniqueKeysWithValues: assetIDS.map { ($0, false) })
|
|
310
|
-
|
|
338
|
+
|
|
311
339
|
let downloadComplete = VirtuosoAsset.completedAssets(withAvailabilityFilter: false)
|
|
312
340
|
if(downloadComplete.count > 0) {
|
|
313
341
|
var assetsToDelete: [VirtuosoAsset] = []
|
|
314
342
|
for asset in downloadComplete {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
343
|
+
if let va = asset as? VirtuosoAsset, assetIDS.contains(va.assetID) {
|
|
344
|
+
assetsToDelete.append(va)
|
|
345
|
+
assetsResponse[va.assetID] = true
|
|
346
|
+
if assetsToDelete.count == assetIDS.count { // Se encontraron todos los assets, break for.
|
|
347
|
+
break
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
|
|
325
353
|
VirtuosoAsset.delete(assetsToDelete) { () in
|
|
326
354
|
resolve(assetsResponse)
|
|
327
355
|
}
|
|
@@ -333,108 +361,108 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
333
361
|
reject("ASSET_DELETE_ERROR", errorMessage, error)
|
|
334
362
|
}
|
|
335
363
|
}
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
339
367
|
@objc open override func supportedEvents() -> [String] {
|
|
340
368
|
return EventEmitter.sharedInstance.allEvents
|
|
341
369
|
}
|
|
342
|
-
|
|
370
|
+
|
|
343
371
|
@objc(playAsset:withResolver:withRejecter:)
|
|
344
372
|
func playAsset(assetID: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
345
|
-
|
|
373
|
+
|
|
346
374
|
let downloadComplete = VirtuosoAsset.completedAssets(withAvailabilityFilter: false)
|
|
347
375
|
guard let asset = downloadComplete.filter({ ($0 as! VirtuosoAsset).assetID == assetID }).first as? VirtuosoAsset else {
|
|
348
376
|
reject("Error streaming asset", "", nil)
|
|
349
377
|
return
|
|
350
378
|
}
|
|
351
|
-
|
|
379
|
+
|
|
352
380
|
let decoder = JSONEncoder()
|
|
353
|
-
|
|
381
|
+
|
|
354
382
|
do {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
// let subtitle = vcHttpServer?.ancillaryURLForAncillary(withTag: "subtitle", usingMime: "text/vtt")
|
|
386
|
+
// let thumbnailOffline = asset.findAllAncillaries(withTag: "thumbnailOffline").first
|
|
359
387
|
//let wallpaper = asset.findAllAncillaries(withTag: "wallpaper").first
|
|
360
|
-
|
|
388
|
+
|
|
361
389
|
let vcHttpServer = VirtuosoClientHTTPServer(asset: asset)
|
|
362
|
-
|
|
390
|
+
|
|
363
391
|
let licenseURL = vcHttpServer?.fairPlayLicenseServerURL
|
|
364
392
|
let certificateURL = vcHttpServer?.fairPlayCertificateDataURL(forSubType: nil)
|
|
365
|
-
|
|
393
|
+
|
|
366
394
|
//let avContentKeySession = VirtuosoLicenseManager.registeredAVContentKeySession()
|
|
367
|
-
|
|
395
|
+
|
|
368
396
|
//let userInfoData = try encoder.encode(asset.userInfo)
|
|
369
397
|
//let userInfo = String(data: userInfoData, encoding: .utf8)
|
|
370
|
-
|
|
398
|
+
|
|
371
399
|
let assetData = [
|
|
372
400
|
"id": asset.assetID,
|
|
373
401
|
"url": vcHttpServer?.playbackURL ?? "",
|
|
374
402
|
"certificate": certificateURL ,
|
|
375
403
|
"license": licenseURL
|
|
376
404
|
]
|
|
377
|
-
|
|
405
|
+
|
|
378
406
|
let data = try decoder.encode(assetData)
|
|
379
407
|
let json = String(data: data, encoding: .utf8)!
|
|
380
408
|
resolve(json)
|
|
381
|
-
|
|
409
|
+
|
|
382
410
|
// let config = PlayerConfig()
|
|
383
411
|
// config.styleConfig.userInterfaceType = .system
|
|
384
412
|
// config.key = "ASSSSSS"
|
|
385
|
-
|
|
413
|
+
|
|
386
414
|
// let player = PlayerFactory.create(playerConfig: config)
|
|
387
|
-
|
|
415
|
+
|
|
388
416
|
// guard let streamUrl = URL(string: vcHttpServer!.playbackURL) else {
|
|
389
417
|
// return
|
|
390
418
|
// }
|
|
391
|
-
|
|
419
|
+
|
|
392
420
|
// // Create a SourceConfig
|
|
393
421
|
// let sourceConfig = SourceConfig(url: streamUrl, type: .hls)
|
|
394
422
|
// print(streamUrl.absoluteString)
|
|
395
|
-
|
|
423
|
+
|
|
396
424
|
// // Optionally set additional properties
|
|
397
425
|
// sourceConfig.title = "Art of motion"
|
|
398
|
-
|
|
426
|
+
|
|
399
427
|
// DispatchQueue.main.async {
|
|
400
428
|
// let source = SourceFactory.create(from: sourceConfig)
|
|
401
|
-
|
|
429
|
+
|
|
402
430
|
// player.load(source: source)
|
|
403
|
-
|
|
404
|
-
|
|
431
|
+
|
|
432
|
+
|
|
405
433
|
// let viewController = UIApplication.shared.windows.first?.rootViewController as? UIViewController
|
|
406
|
-
|
|
434
|
+
|
|
407
435
|
// let playerView = PlayerView(player: player, frame: (viewController?.view.bounds)!)
|
|
408
|
-
|
|
436
|
+
|
|
409
437
|
// // Adding the view to the a container View
|
|
410
438
|
// viewController?.view.addSubview(playerView)
|
|
411
439
|
// viewController?.view.bringSubviewToFront(playerView)
|
|
412
440
|
// }
|
|
413
|
-
|
|
414
|
-
|
|
441
|
+
|
|
442
|
+
|
|
415
443
|
/*
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
444
|
+
let demoPlayer = DemoPlayerViewController()
|
|
445
|
+
DispatchQueue.main.async {
|
|
446
|
+
asset.play(using: .vde_AssetPlaybackTypeLocal,
|
|
447
|
+
andPlayer: demoPlayer as VirtuosoPlayer,
|
|
448
|
+
onSuccess: {
|
|
449
|
+
// Present the player
|
|
450
|
+
|
|
451
|
+
let viewController = UIApplication.shared.windows.first?.rootViewController as? UIViewController
|
|
452
|
+
viewController?.present(demoPlayer, animated: true)
|
|
453
|
+
//self.present(demoPlayer, animated: true, completion: nil)
|
|
454
|
+
},
|
|
455
|
+
onFail: {
|
|
456
|
+
//self.error = nil
|
|
457
|
+
})
|
|
458
|
+
}*/
|
|
459
|
+
|
|
432
460
|
} catch {
|
|
433
461
|
reject("penthere", error.localizedDescription, error)
|
|
434
462
|
}
|
|
435
463
|
}
|
|
436
|
-
|
|
437
|
-
|
|
464
|
+
|
|
465
|
+
|
|
438
466
|
@objc(pauseDownload:withResolver:withRejecter:)
|
|
439
467
|
func pauseDownload(assetID: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
|
440
468
|
let pendingAsset = getPendingAsset(assetID: assetID)
|
|
@@ -442,13 +470,13 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
|
|
|
442
470
|
self.pauseAsset(asset: pendingAsset!)
|
|
443
471
|
return
|
|
444
472
|
}
|
|
445
|
-
|
|
473
|
+
|
|
446
474
|
}
|
|
447
|
-
|
|
475
|
+
|
|
448
476
|
func pauseAsset(asset: VirtuosoAsset) {
|
|
449
|
-
|
|
477
|
+
asset.isPaused = !asset.isPaused
|
|
450
478
|
EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED, assetId: asset.assetID, body: "\(asset.isPaused)")
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
|
|
454
482
|
}
|
|
@@ -9,9 +9,10 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _reactNativePenthera = require("@takeoffmedia/react-native-penthera");
|
|
10
10
|
const usePenthera = _ref => {
|
|
11
11
|
let {
|
|
12
|
-
sessionConnect
|
|
12
|
+
sessionConnect,
|
|
13
|
+
data
|
|
13
14
|
} = _ref;
|
|
14
|
-
const [catalog, setCatalogResult] = (0, _react.useState)([]);
|
|
15
|
+
const [catalog, setCatalogResult] = (0, _react.useState)(data ? data : []);
|
|
15
16
|
(0, _react.useEffect)(() => {
|
|
16
17
|
const eventListener = listenerPethera();
|
|
17
18
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativePenthera","usePenthera","_ref","sessionConnect","catalog","setCatalogResult","useState","useEffect","eventListener","listenerPethera","remove","NEventEmitter","NativeModules","Penthera","eventEmitter","NativeEventEmitter","addListener","downloadVideo","_ref2","_item$thumbnails","item","drm","url","dataBySO","Platform","OS","asset_id","id","content_url","poster","thumbnails","thumbnail","subtitle","download","JSON","stringify","error","console","playVideo","assetId","response","playAsset","parse","handleDeleteAsset","deleteAsset","deletedAsset","getAllDownloads","getDownloads","dataResponse","forEach","newCatalog","index","findIndex","i","isCompleted","download_percentage","isPaused","show","_ref3","updateDownload","_ref4","assetID","percentage","pauseDownloadHandle","pauseDownload","updateDataWhenIsPaused","isPause","exports"],"sourceRoot":"../../../src","sources":["hooks/usePenthera.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKA,IAAAE,oBAAA,GAAAF,OAAA;AAgBO,MAAMG,WAAW,GAAGC,IAAA,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativePenthera","usePenthera","_ref","sessionConnect","data","catalog","setCatalogResult","useState","useEffect","eventListener","listenerPethera","remove","NEventEmitter","NativeModules","Penthera","eventEmitter","NativeEventEmitter","addListener","downloadVideo","_ref2","_item$thumbnails","item","drm","url","dataBySO","Platform","OS","asset_id","id","content_url","poster","thumbnails","thumbnail","subtitle","download","JSON","stringify","error","console","playVideo","assetId","response","playAsset","parse","handleDeleteAsset","deleteAsset","deletedAsset","getAllDownloads","getDownloads","dataResponse","forEach","newCatalog","index","findIndex","i","isCompleted","download_percentage","isPaused","show","_ref3","updateDownload","_ref4","assetID","percentage","pauseDownloadHandle","pauseDownload","updateDataWhenIsPaused","isPause","exports"],"sourceRoot":"../../../src","sources":["hooks/usePenthera.ts"],"mappings":"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"}
|
|
@@ -4,9 +4,10 @@ import { getDownloads, deleteAsset, download, playAsset, pauseDownload } from '@
|
|
|
4
4
|
import { Platform } from 'react-native';
|
|
5
5
|
export const usePenthera = _ref => {
|
|
6
6
|
let {
|
|
7
|
-
sessionConnect
|
|
7
|
+
sessionConnect,
|
|
8
|
+
data
|
|
8
9
|
} = _ref;
|
|
9
|
-
const [catalog, setCatalogResult] = useState([]);
|
|
10
|
+
const [catalog, setCatalogResult] = useState(data ? data : []);
|
|
10
11
|
useEffect(() => {
|
|
11
12
|
const eventListener = listenerPethera();
|
|
12
13
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","NativeModules","NativeEventEmitter","getDownloads","deleteAsset","download","playAsset","pauseDownload","Platform","usePenthera","_ref","sessionConnect","catalog","setCatalogResult","eventListener","listenerPethera","remove","NEventEmitter","Penthera","eventEmitter","addListener","downloadVideo","_ref2","_item$thumbnails","item","drm","url","dataBySO","OS","asset_id","id","content_url","poster","thumbnails","thumbnail","subtitle","JSON","stringify","error","console","playVideo","assetId","response","parse","handleDeleteAsset","deletedAsset","getAllDownloads","dataResponse","forEach","newCatalog","index","findIndex","i","isCompleted","download_percentage","isPaused","show","_ref3","updateDownload","_ref4","assetID","percentage","pauseDownloadHandle","updateDataWhenIsPaused","isPause"],"sourceRoot":"../../../src","sources":["hooks/usePenthera.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SACEC,aAAa,EACbC,kBAAkB,QAEb,cAAc;AACrB,SACEC,YAAY,EACZC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,aAAa,QACR,qCAAqC;AAE5C,SAASC,QAAQ,QAAQ,cAAc;AAQvC,OAAO,MAAMC,WAAW,GAAGC,IAAA,
|
|
1
|
+
{"version":3,"names":["useEffect","useState","NativeModules","NativeEventEmitter","getDownloads","deleteAsset","download","playAsset","pauseDownload","Platform","usePenthera","_ref","sessionConnect","data","catalog","setCatalogResult","eventListener","listenerPethera","remove","NEventEmitter","Penthera","eventEmitter","addListener","downloadVideo","_ref2","_item$thumbnails","item","drm","url","dataBySO","OS","asset_id","id","content_url","poster","thumbnails","thumbnail","subtitle","JSON","stringify","error","console","playVideo","assetId","response","parse","handleDeleteAsset","deletedAsset","getAllDownloads","dataResponse","forEach","newCatalog","index","findIndex","i","isCompleted","download_percentage","isPaused","show","_ref3","updateDownload","_ref4","assetID","percentage","pauseDownloadHandle","updateDataWhenIsPaused","isPause"],"sourceRoot":"../../../src","sources":["hooks/usePenthera.ts"],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import type { PentheraTypes } from '../interface/PentheraTypes';
|
|
3
3
|
interface IUsePenthera {
|
|
4
4
|
tokenDevice?: string;
|
|
5
|
-
data
|
|
5
|
+
data?: PentheraTypes.ItemCatalog[];
|
|
6
6
|
sessionConnect: (event: any) => void;
|
|
7
7
|
}
|
|
8
|
-
export declare const usePenthera: ({ sessionConnect }: IUsePenthera) => {
|
|
8
|
+
export declare const usePenthera: ({ sessionConnect, data }: IUsePenthera) => {
|
|
9
9
|
catalog: PentheraTypes.ItemCatalog[];
|
|
10
10
|
setCatalogResult: import("react").Dispatch<import("react").SetStateAction<PentheraTypes.ItemCatalog[]>>;
|
|
11
11
|
playVideo: (assetId: string) => Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePenthera.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePenthera.ts"],"names":[],"mappings":";AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,UAAU,YAAY;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"usePenthera.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePenthera.ts"],"names":[],"mappings":";AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,UAAU,YAAY;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC;IACnC,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,WAAW,6BAA8B,YAAY;;;yBA2C9B,MAAM;iCASE,MAAM;yCA3B7C,cAAc,cAAc;;+CA2E5B,cAAc,eAAe;gCAdG,GAAG;mCAuBM,MAAM;sCAIT,MAAM,WAAW,OAAO;CAqBlE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PentheraTypes.d.ts","sourceRoot":"","sources":["../../../src/interface/PentheraTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,UAAiB,eAAe;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB;IAED,UAAiB,WAAW;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"PentheraTypes.d.ts","sourceRoot":"","sources":["../../../src/interface/PentheraTypes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/hooks/usePenthera.ts
CHANGED
|
@@ -16,12 +16,14 @@ import { Platform } from 'react-native';
|
|
|
16
16
|
|
|
17
17
|
interface IUsePenthera {
|
|
18
18
|
tokenDevice?: string;
|
|
19
|
-
data
|
|
19
|
+
data?: PentheraTypes.ItemCatalog[];
|
|
20
20
|
sessionConnect: (event: any) => void;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
export const usePenthera = ({ sessionConnect }: IUsePenthera) => {
|
|
24
|
-
const [catalog, setCatalogResult] = useState<PentheraTypes.ItemCatalog[]>(
|
|
23
|
+
export const usePenthera = ({ sessionConnect, data }: IUsePenthera) => {
|
|
24
|
+
const [catalog, setCatalogResult] = useState<PentheraTypes.ItemCatalog[]>(
|
|
25
|
+
data ? data : []
|
|
26
|
+
);
|
|
25
27
|
|
|
26
28
|
useEffect(() => {
|
|
27
29
|
const eventListener: EmitterSubscription = listenerPethera();
|
|
Binary file
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Bucket
|
|
3
|
-
uuid = "3AE98629-7421-4561-B12C-C06B8B6A3023"
|
|
4
|
-
type = "1"
|
|
5
|
-
version = "2.0">
|
|
6
|
-
<Breakpoints>
|
|
7
|
-
<BreakpointProxy
|
|
8
|
-
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
9
|
-
<BreakpointContent
|
|
10
|
-
uuid = "A5D166B0-3C57-4F4D-A845-BDB81498DA0F"
|
|
11
|
-
shouldBeEnabled = "No"
|
|
12
|
-
ignoreCount = "0"
|
|
13
|
-
continueAfterRunningActions = "No"
|
|
14
|
-
filePath = "Penthera.swift"
|
|
15
|
-
startingColumnNumber = "9223372036854775807"
|
|
16
|
-
endingColumnNumber = "9223372036854775807"
|
|
17
|
-
startingLineNumber = "18"
|
|
18
|
-
endingLineNumber = "18"
|
|
19
|
-
landmarkName = "initializeSdk(user:backplaneUrl:publicKey:privateKey:resolve:reject:)"
|
|
20
|
-
landmarkType = "7">
|
|
21
|
-
</BreakpointContent>
|
|
22
|
-
</BreakpointProxy>
|
|
23
|
-
<BreakpointProxy
|
|
24
|
-
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
25
|
-
<BreakpointContent
|
|
26
|
-
uuid = "5D7AE47B-D5FC-4468-A75B-C414F3F8A58C"
|
|
27
|
-
shouldBeEnabled = "No"
|
|
28
|
-
ignoreCount = "0"
|
|
29
|
-
continueAfterRunningActions = "No"
|
|
30
|
-
filePath = "Penthera.swift"
|
|
31
|
-
startingColumnNumber = "9223372036854775807"
|
|
32
|
-
endingColumnNumber = "9223372036854775807"
|
|
33
|
-
startingLineNumber = "25"
|
|
34
|
-
endingLineNumber = "25"
|
|
35
|
-
landmarkName = "initializeSdk(user:backplaneUrl:publicKey:privateKey:resolve:reject:)"
|
|
36
|
-
landmarkType = "7">
|
|
37
|
-
</BreakpointContent>
|
|
38
|
-
</BreakpointProxy>
|
|
39
|
-
<BreakpointProxy
|
|
40
|
-
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
41
|
-
<BreakpointContent
|
|
42
|
-
uuid = "E3C50B30-46CF-4D56-8C49-C257C70E0ACC"
|
|
43
|
-
shouldBeEnabled = "No"
|
|
44
|
-
ignoreCount = "0"
|
|
45
|
-
continueAfterRunningActions = "No"
|
|
46
|
-
filePath = "Penthera.swift"
|
|
47
|
-
startingColumnNumber = "9223372036854775807"
|
|
48
|
-
endingColumnNumber = "9223372036854775807"
|
|
49
|
-
startingLineNumber = "26"
|
|
50
|
-
endingLineNumber = "26"
|
|
51
|
-
landmarkName = "initializeSdk(user:backplaneUrl:publicKey:privateKey:resolve:reject:)"
|
|
52
|
-
landmarkType = "7">
|
|
53
|
-
</BreakpointContent>
|
|
54
|
-
</BreakpointProxy>
|
|
55
|
-
</Breakpoints>
|
|
56
|
-
</Bucket>
|
|
@@ -1,14 +0,0 @@
|
|
|
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>SchemeUserState</key>
|
|
6
|
-
<dict>
|
|
7
|
-
<key>Penthera.xcscheme_^#shared#^_</key>
|
|
8
|
-
<dict>
|
|
9
|
-
<key>orderHint</key>
|
|
10
|
-
<integer>0</integer>
|
|
11
|
-
</dict>
|
|
12
|
-
</dict>
|
|
13
|
-
</dict>
|
|
14
|
-
</plist>
|