Skip to content

Commit 6157806

Browse files
authored
Merge pull request #176 from optimizely/jae/errors
cleanup NSError conversion for ObjC
2 parents c9a4149 + 6987505 commit 6157806

File tree

5 files changed

+21
-29
lines changed

5 files changed

+21
-29
lines changed

OptimizelySDK/Customization/DefaultEventDispatcher.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,20 +142,20 @@ open class DefaultEventDispatcher : BackgroundingCallbacks, OPTEventDispatcher {
142142
self.sendEvent(event: event) { (result) -> (Void) in
143143
switch result {
144144
case .failure(let error):
145-
self.logger?.e(error.localizedDescription)
145+
self.logger?.e(error.reason)
146146
failureCount += 1
147147
case .success(_):
148148
// we succeeded. remove the batch size sent.
149149
if let removedItem:[EventForDispatch] = self.dataStore.removeFirstItems(count: self.batchSize) {
150150
if self.batchSize == 1 && removedItem.first != event {
151-
self.logger?.log(level: .error, message: "Removed event different from sent event")
151+
self.logger?.e("Removed event different from sent event")
152152
}
153153
else {
154-
self.logger?.log(level: .debug, message: "Successfully sent event " + event.body.debugDescription)
154+
self.logger?.d("Successfully sent event " + event.body.debugDescription)
155155
}
156156
}
157157
else {
158-
self.logger?.log(level: .error, message: "Removed event nil for sent item")
158+
self.logger?.e("Removed event nil for sent item")
159159
}
160160
// reset failureCount
161161
failureCount = 0

OptimizelySDK/Customization/DefaultLogger.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ open class DefaultLogger : OPTLogger {
3737
if level.rawValue > DefaultLogger.logLevel.rawValue {
3838
return
3939
}
40-
let message = "[OPTIMIZELY][" + level.name + "]:" + message
40+
let message = "[OPTIMIZELY][" + level.name + "] " + message
4141
NSLog(message)
4242
}
4343
}

OptimizelySDK/Implementation/DefaultDatafileHandler.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class DefaultDatafileHandler : OPTDatafileHandler {
4040
case .success(let data):
4141
datafile = data
4242
case .failure(let error):
43-
self.logger?.e(error.localizedDescription)
43+
self.logger?.e(error.reason)
4444
}
4545
group.leave()
4646
}
@@ -76,7 +76,7 @@ class DefaultDatafileHandler : OPTDatafileHandler {
7676
open func getResponseData(sdkKey:String, response:HTTPURLResponse, url:URL?) -> Data? {
7777
if let url = url, let data = try? Data(contentsOf: url) {
7878
if let str = String(data: data, encoding: .utf8) {
79-
self.logger?.log(level: .debug, message: str)
79+
self.logger?.d(str)
8080
}
8181
self.saveDatafile(sdkKey: sdkKey, dataFile: data)
8282
if let lastModified = response.allHeaderFields["Last-Modified"] {
@@ -110,7 +110,7 @@ class DefaultDatafileHandler : OPTDatafileHandler {
110110
result = .success(data)
111111
}
112112
else if response.statusCode == 304 {
113-
self.logger?.log(level: .debug, message: "The datafile was not modified and won't be downloaded again")
113+
self.logger?.d("The datafile was not modified and won't be downloaded again")
114114
result = .success(nil)
115115
}
116116
}
@@ -209,7 +209,7 @@ class DefaultDatafileHandler : OPTDatafileHandler {
209209
datafileChangeNotification(data)
210210
}
211211
case .failure(let error):
212-
self.logger?.e(error.localizedDescription)
212+
self.logger?.e(error.reason)
213213
}
214214

215215
if self.hasPeriodUpdates(sdkKey: sdkKey) {

OptimizelySDK/Optimizely/OptimizelyClient+ObjC.swift

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ extension OptimizelyClient {
7070
start { result in
7171
switch result {
7272
case .failure(let error):
73-
completion?(nil, self.convertErrorForObjc(error))
73+
completion?(nil, error as NSError)
7474
case .success(let data):
7575
completion?(data, nil)
7676
}
@@ -347,25 +347,6 @@ extension OptimizelyClient {
347347
}
348348
}
349349

350-
/// Conver Swift Error for Objective-C interfaces
351-
///
352-
/// - Parameter error: Swift Error
353-
/// - Returns: Objective-C NSError converted
354-
func convertErrorForObjc(_ error: Error) -> NSError {
355-
var errorInObjc: NSError
356-
357-
// TODO: [Jae] add more details for error types
358-
359-
switch error {
360-
default:
361-
errorInObjc = NSError(domain: "com.optimizely.OptimizelySwiftSDK",
362-
code: 1000,
363-
userInfo: [NSLocalizedDescriptionKey: error.localizedDescription])
364-
}
365-
366-
return errorInObjc
367-
}
368-
369350
@available(swift, obsoleted: 1.0)
370351
@objc(notificationCenter)
371352
/// NotificationCenter for Objective-C interface support

OptimizelySDK/Optimizely/OptimizelyError.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ public enum OptimizelyError: Error {
7575
case eventDispatchFailed(_ reason: String)
7676
}
7777

78+
// MARK: - CustomStringConvertible
79+
7880
extension OptimizelyError: CustomStringConvertible {
7981
public var description: String {
8082
return "[Optimizely][Error] " + self.reason
@@ -135,3 +137,12 @@ extension OptimizelyError: CustomStringConvertible {
135137
return message
136138
}
137139
}
140+
141+
// MARK: - LocalizedError (ObjC NSError)
142+
143+
extension OptimizelyError: LocalizedError {
144+
public var errorDescription: String? {
145+
return self.reason
146+
}
147+
}
148+

0 commit comments

Comments
 (0)