Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ios build failing (Swift 3 errors) #243

Open
graphicgeek opened this issue Sep 25, 2017 · 33 comments
Open

ios build failing (Swift 3 errors) #243

graphicgeek opened this issue Sep 25, 2017 · 33 comments

Comments

@graphicgeek
Copy link

graphicgeek commented Sep 25, 2017

I've seen some other closed issues that indicated this has been fixed but it is not building for me with a fresh HelloWorld app.

Cordova 7.0.1
ios platform 4.4.0 (also tried with 4.5.0)
Xcode 8.3.3 (I also just updated to 9.0 with the same results)
cordova-plugin-geofence 0.7.0

I even tried updating cordova-plugin-add-swift-support to version 1.7.0 but no luck.

Here's the log output:

/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:181:39: '=' has been replaced with ':' in attribute arguments
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:897:35: Expected ',' joining parts of a multi-clause condition
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1612:21: 'SQLiteDB' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1036:19: Type declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1831:21: 'SQLiteDB' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1036:19: Type declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1971:21: 'SDError' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1603:20: Type declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:274:26: 'ForwardIndexType' has been renamed to 'Comparable'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.ForwardIndexType:2:18: 'ForwardIndexType' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:104:20: 'DISPATCH_QUEUE_PRIORITY_DEFAULT' has been renamed to 'DispatchQueue.GlobalQueuePriority.default'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.DISPATCH_QUEUE_PRIORITY_DEFAULT:2:12: 'DISPATCH_QUEUE_PRIORITY_DEFAULT' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:187:24: 'CollectionType' has been renamed to 'Collection'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.CollectionType:2:18: 'CollectionType' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:187:46: 'SequenceType' has been renamed to 'Sequence'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.SequenceType:2:18: 'SequenceType' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:659:23: No type named 'Printable' in module 'Swift'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:659:40: No type named 'DebugPrintable' in module 'Swift'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:760:23: 'BooleanType' has been renamed to 'Bool'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.BooleanType:2:18: 'BooleanType' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:25:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:25:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:31:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:31:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:39:28: 'isMonitoringAvailableForClass' has been renamed to 'isMonitoringAvailable(for:)'
'isMonitoringAvailableForClass' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:55:45: 'AuthorizedAlways' has been renamed to 'authorizedAlways'
'AuthorizedAlways' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:63:70: Cannot call value of non-function type 'UIApplication'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:107:9: 'NSNotificationCenter' has been renamed to 'NotificationCenter'
'NSNotificationCenter' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:114:9: 'NSNotificationCenter' has been renamed to 'NotificationCenter'
'NSNotificationCenter' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:123:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:123:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:134:9: Cannot invoke 'log' with an argument list of type '([String])'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:134:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:135:9: Cannot invoke 'log' with an argument list of type '([[String : String]])'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:135:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:140:22: 'init(status:messageAsString:)' has been replaced by 'init(status:messageAs:)'
'init(status:messageAsString:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:140:93: 'joinWithSeparator' has been renamed to 'joined(separator:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.Sequence:3:17: 'joinWithSeparator' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:142:22: 'init(status:messageAsDictionary:)' has been replaced by 'init(status:messageAs:)'
'init(status:messageAsDictionary:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:148:26: 'sendPluginResult(:callbackId:)' has been renamed to 'send(:callbackId:)'
'sendPluginResult(:callbackId:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:153:26: 'sendPluginResult(
:callbackId:)' has been renamed to 'send(:callbackId:)'
'sendPluginResult(
:callbackId:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:157:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:157:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:159:26: 'sendPluginResult(:callbackId:)' has been renamed to 'send(:callbackId:)'
'sendPluginResult(:callbackId:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:163:40: Cannot call value of non-function type 'UIApplication'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:68:43: 'NSJSONReadingOptions' has been renamed to 'JSONSerialization.ReadingOptions'
'NSJSONReadingOptions' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:173:67: Missing argument label 'geoNotification:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:171:9: 'dispatch_async' has been replaced by instance method 'DispatchQueue.async(execute:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_async:2:13: 'dispatch_async' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:171:24: 'dispatch_get_global_queue' has been replaced by 'DispatchQueue.global(attributes:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_get_global_queue:2:13: 'dispatch_get_global_queue' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:176:17: 'dispatch_async' has been replaced by instance method 'DispatchQueue.async(execute:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_async:2:13: 'dispatch_async' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:176:32: 'dispatch_get_main_queue()' has been replaced by property 'DispatchQueue.main'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_get_main_queue:2:13: 'dispatch_get_main_queue()' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:195:36: 'init(status:messageAsString:)' has been replaced by 'init(status:messageAs:)'
'init(status:messageAsString:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:196:39: 'sendPluginResult(
:callbackId:)' has been renamed to 'send(:callbackId:)'
'sendPluginResult(
:callbackId:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:194:13: 'dispatch_async' has been replaced by instance method 'DispatchQueue.async(execute:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_async:2:13: 'dispatch_async' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:194:28: 'dispatch_get_main_queue()' has been replaced by property 'DispatchQueue.main'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_get_main_queue:2:13: 'dispatch_get_main_queue()' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:191:9: 'dispatch_async' has been replaced by instance method 'DispatchQueue.async(execute:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_async:2:13: 'dispatch_async' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:191:24: 'dispatch_get_global_queue' has been replaced by 'DispatchQueue.global(attributes:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_get_global_queue:2:13: 'dispatch_get_global_queue' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:204:67: Missing argument label 'id:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:208:39: 'sendPluginResult(:callbackId:)' has been renamed to 'send(:callbackId:)'
'sendPluginResult(:callbackId:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:206:13: 'dispatch_async' has been replaced by instance method 'DispatchQueue.async(execute:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_async:2:13: 'dispatch_async' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:206:28: 'dispatch_get_main_queue()' has been replaced by property 'DispatchQueue.main'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_get_main_queue:2:13: 'dispatch_get_main_queue()' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:202:9: 'dispatch_async' has been replaced by instance method 'DispatchQueue.async(execute:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_async:2:13: 'dispatch_async' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:202:24: 'dispatch_get_global_queue' has been replaced by 'DispatchQueue.global(attributes:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_get_global_queue:2:13: 'dispatch_get_global_queue' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:218:39: 'sendPluginResult(
:callbackId:)' has been renamed to 'send(:callbackId:)'
'sendPluginResult(
:callbackId:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:216:13: 'dispatch_async' has been replaced by instance method 'DispatchQueue.async(execute:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_async:2:13: 'dispatch_async' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:216:28: 'dispatch_get_main_queue()' has been replaced by property 'DispatchQueue.main'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_get_main_queue:2:13: 'dispatch_get_main_queue()' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:214:9: 'dispatch_async' has been replaced by instance method 'DispatchQueue.async(execute:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_async:2:13: 'dispatch_async' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:214:24: 'dispatch_get_global_queue' has been replaced by 'DispatchQueue.global(attributes:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Dispatch.dispatch_get_global_queue:2:13: 'dispatch_get_global_queue' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:224:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:224:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:229:24: Missing argument label 'script:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:234:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:234:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:235:43: Cannot call value of non-function type 'UIApplication'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:243:28: Missing argument label 'script:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:251:27: 'stringByEvaluatingJavaScriptFromString' has been renamed to 'stringByEvaluatingJavaScript(from:)'
'stringByEvaluatingJavaScriptFromString' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:256:13: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:256:13: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:273:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:273:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:286:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:286:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:290:9: Cannot invoke 'log' with an argument list of type '([String])'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:290:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:291:9: Cannot invoke 'log' with an argument list of type '([[String : String]])'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:291:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:366:31: 'GeneratorType' has been renamed to 'IteratorProtocol'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.GeneratorType:2:18: 'GeneratorType' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:301:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:301:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:314:75: Passing non-escaping parameter 'completion' to function expecting an @escaping closure
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:285:60: Parameter 'completion' is implicitly non-escaping
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:316:25: 'startMonitoringForRegion' has been renamed to 'startMonitoring(for:)'
'startMonitoringForRegion' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:335:22: Missing argument label 'id:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:336:41: Missing argument label 'id:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:338:13: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:338:13: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:347:13: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:347:13: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:348:29: 'stopMonitoringForRegion' has been renamed to 'stopMonitoring(for:)'
'stopMonitoringForRegion' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:353:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:353:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:354:25: Missing argument label 'region:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:358:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:358:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:359:25: Missing argument label 'region:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:365:35: Missing argument label 'geoNotification:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:366:17: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:366:17: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:368:43: 'removeValueForKey' has been renamed to 'removeValue(forKey:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.Dictionary<Key, Value>:7:26: 'removeValueForKey' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:374:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:374:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:391:43: 'removeValueForKey' has been renamed to 'removeValue(forKey:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.Dictionary<Key, Value>:7:26: 'removeValueForKey' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:397:49: Missing argument label 'id:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:404:13: 'NSNotificationCenter' has been renamed to 'NotificationCenter'
'NSNotificationCenter' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:409:9: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:409:9: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:411:59: Cannot call value of non-function type 'TimeZone'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:413:33: Cannot assign value of type 'NSDate' to type 'Date?'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:634:79: 'NSJSONWritingOptions' has been renamed to 'JSONSerialization.WritingOptions'
'NSJSONWritingOptions' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:419:40: Cannot call value of non-function type 'UIApplication'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:439:13: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:439:13: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:444:43: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:449:17: Cannot invoke 'log' with an argument list of type '(String)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:449:17: Overloads for 'log' exist with these partially matching parameter lists: (Float), (Double), (CGFloat)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:455:22: Missing argument label 'id:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:456:20: Missing argument label 'geoNotification:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:459:17: Missing argument label 'geoNotification:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:465:35: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:475:35: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:484:47: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:502:48: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:520:35: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/GeofencePlugin.swift:528:36: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1047:23: 'COpaquePointer' has been renamed to 'OpaquePointer'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.COpaquePointer:2:15: 'COpaquePointer' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1053:70: Cannot convert value of type '()' to expected argument type '__OS_dispatch_queue_attr?'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1306:40: 'COpaquePointer' has been renamed to 'OpaquePointer'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.COpaquePointer:2:15: 'COpaquePointer' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:2121:39: 'stringByDeletingLastPathComponent' has been renamed to 'deletingLastPathComponent'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:2121:39: 'stringByDeletingLastPathComponent' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:2128:39: 'stringByDeletingPathExtension' has been renamed to 'deletingPathExtension'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:2128:39: 'stringByDeletingPathExtension' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:68:59: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:125:58: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:173:68: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:175:43: 'indexOf' has been renamed to 'index(of:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.Collection:3:17: 'indexOf' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:235:68: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:287:67: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:334:63: Cannot call value of non-function type 'Bool'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:376:25: Value of type 'SwiftData.SQLiteDB' has no member 'escapeValue'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:388:25: Value of type 'SwiftData.SQLiteDB' has no member 'escapeIdentifier'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:423:30: Value of type 'SwiftData.SQLiteDB' has no member 'createSQLTable'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:468:30: Value of type 'SwiftData.SQLiteDB' has no member 'deleteSQLTable'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:513:40: Value of type 'SwiftData.SQLiteDB' has no member 'existingTables'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:545:26: Type 'SwiftData.SDError' has no member 'errorMessageFromCode'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:683:30: Value of type 'SwiftData.SQLiteDB' has no member 'createIndex'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:728:30: Value of type 'SwiftData.SQLiteDB' has no member 'removeIndex'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:773:40: Value of type 'SwiftData.SQLiteDB' has no member 'existingIndexes'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:820:40: Value of type 'SwiftData.SQLiteDB' has no member 'existingIndexesForTable'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:985:60: 'NSSearchPathDirectory' has been renamed to 'FileManager.SearchPathDirectory'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:985:60: 'NSSearchPathDirectory' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:988:13: 'NSFileManager' has been renamed to 'FileManager'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:988:13: 'NSFileManager' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:990:21: 'NSFileManager' has been renamed to 'FileManager'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:990:21: 'NSFileManager' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:997:32: 'UUIDString' has been renamed to 'uuidString'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:997:32: 'UUIDString' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1020:60: 'NSSearchPathDirectory' has been renamed to 'FileManager.SearchPathDirectory'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1020:60: 'NSSearchPathDirectory' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1025:17: 'NSFileManager' has been renamed to 'FileManager'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1025:17: 'NSFileManager' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1208:64: 'NSSearchPathDirectory' has been renamed to 'FileManager.SearchPathDirectory'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1208:64: 'NSSearchPathDirectory' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1230:42: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1243:39: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1253:39: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1268:42: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1280:34: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1286:39: Missing argument label 'sqlStr:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1335:37: 'NSDateFormatter' has been renamed to 'DateFormatter'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1335:37: 'NSDateFormatter' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1358:51: Missing argument for parameter #3 in call
/Users/station5/Projects/phonegap/hello/platforms/ios/Darwin.bind:1:13: 'bind' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1366:24: 'COpaquePointer' has been renamed to 'OpaquePointer'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.COpaquePointer:2:15: 'COpaquePointer' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1401:51: Missing argument for parameter #3 in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1409:24: 'COpaquePointer' has been renamed to 'OpaquePointer'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1583:68: 'NSSearchPathDirectory' has been renamed to 'FileManager.SearchPathDirectory'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1586:21: 'NSFileManager' has been renamed to 'FileManager'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1630:31: Use of unresolved identifier 'escapeIdentifier'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1636:30: Value of type 'String' has no member 'substringToIndex'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1638:27: Use of unresolved identifier 'escapeValue'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1695:37: 'NSDateFormatter' has been renamed to 'DateFormatter'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1701:49: Missing argument label 'image:' in call
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1841:30: Use of unresolved identifier 'escapeIdentifier'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1844:32: Use of unresolved identifier 'escapeIdentifier'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1867:23: Use of unresolved identifier 'executeQuery'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1927:23: Use of unresolved identifier 'executeQuery'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:1950:23: Use of unresolved identifier 'executeQuery'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:2143:21: 'stringByAppendingPathComponent' has been renamed to 'appendingPathComponent(:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:2150:21: 'stringByAppendingPathExtension' has been renamed to 'appendingPathExtension(
:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:2150:21: 'stringByAppendingPathExtension' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:340:13: Closure use of non-escaping parameter 'closure' may allow it to escape
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:325:63: Parameter 'closure' is implicitly non-escaping
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:878:16: Closure use of non-escaping parameter 'transactionClosure' may allow it to escape
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:856:36: Parameter 'transactionClosure' is implicitly non-escaping
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:942:16: Closure use of non-escaping parameter 'savepointClosure' may allow it to escape
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftData.swift:920:34: Parameter 'savepointClosure' is implicitly non-escaping
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:371:36: Use of undeclared type 'DictionaryGenerator'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:372:32: 'IndexingGenerator' has been renamed to 'IndexingIterator'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.IndexingGenerator:2:15: 'IndexingGenerator' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:626:38: 'NSJSONWritingOptions' has been renamed to 'JSONSerialization.WritingOptions'
'NSJSONWritingOptions' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1283:26: 'init(bool:)' has been renamed to 'init(value:)'
'init(bool:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1284:27: 'init(bool:)' has been renamed to 'init(value:)'
'init(bool:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1285:35: 'fromCString' is unavailable: Please use String.init?(validatingUTF8:) instead. Note that it no longer accepts NULL as a valid input. Also consider using String(cString:), that will attempt to repair ill-formed code units.
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.String:3:24: 'fromCString' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1286:36: 'fromCString' is unavailable: Please use String.init?(validatingUTF8:) instead. Note that it no longer accepts NULL as a valid input. Also consider using String(cString:), that will attempt to repair ill-formed code units.
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.String:3:24: 'fromCString' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:187:1: Type 'JSON' does not conform to protocol '_IndexableBase'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift._IndexableBase:30:20: Protocol requires nested type '_Element'; do you want to add it?
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift._IndexableBase:53:20: Protocol requires nested type 'SubSequence'; do you want to add it?
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:133:29: Return expression of type '[AnyObject]' does not conform to 'AnyObject'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:135:29: Return expression of type '[String : AnyObject]' does not conform to 'AnyObject'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:183:49: Cannot invoke initializer for type 'JSON' with an argument list of type '(NSNull)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:183:49: Overloads for 'JSON' exist with these partially matching parameter lists: (AnyObject), ([JSON]), ([String : JSON])
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:196:47: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:198:52: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:207:47: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:209:52: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:232:29: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:234:29: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:245:25: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:247:25: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:682:29: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:701:29: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:708:31: Value of type '[AnyObject]' does not conform to 'AnyObject' in assignment
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:723:25: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:119:17: 'rawDictionary' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:743:29: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:119:17: 'rawDictionary' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:750:31: Value of type '[String : AnyObject]' does not conform to 'AnyObject' in assignment
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:767:29: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:774:31: 'init(bool:)' has been renamed to 'init(value:)'
'init(bool:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:792:27: 'init(bool:)' has been renamed to 'init(value:)'
'init(bool:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:848:29: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:864:57: Cannot call value of non-function type 'NSDecimalNumber'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:865:48: Cannot call value of non-function type 'NSDecimalNumber'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:871:24: 'init(double:)' has been renamed to 'init(value:)'
'init(double:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:887:29: 'rawNull' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:122:17: 'rawNull' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:922:37: Cannot convert value of type 'String?' to expected argument type 'AnyObject?'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:937:31: 'init(double:)' has been renamed to 'init(value:)'
'init(double:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:949:27: 'init(double:)' has been renamed to 'init(value:)'
'init(double:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:959:31: 'init(float:)' has been renamed to 'init(value:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:971:27: 'init(float:)' has been renamed to 'init(value:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:977:33: 'longValue' is unavailable in Swift
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:981:31: 'init(integer:)' has been renamed to 'init(value:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:990:37: 'integerValue' has been renamed to 'intValue'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:993:27: 'init(integer:)' has been renamed to 'init(value:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:999:33: 'unsignedLongValue' is unavailable in Swift: use 'uintValue'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1003:31: 'init(unsignedLong:)' is unavailable in Swift
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1012:37: 'unsignedLongValue' is unavailable in Swift: use 'uintValue'
/Users/station5/Projects/phonegap/hello/platforms/ios/Foundation.NSNumber:32:14: 'unsignedLongValue' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1015:27: 'init(unsignedLong:)' is unavailable in Swift
/Users/station5/Projects/phonegap/hello/platforms/ios/Foundation.NSNumber:13:12: 'init(unsignedLong:)' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1021:33: 'charValue' has been renamed to 'int8Value'
'charValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1025:31: 'init(char:)' has been renamed to 'init(value:)'
'init(char:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1034:37: 'charValue' has been renamed to 'int8Value'
'charValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1037:27: 'init(char:)' has been renamed to 'init(value:)'
'init(char:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1043:33: 'unsignedCharValue' has been renamed to 'uint8Value'
'unsignedCharValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1047:31: 'init(unsignedChar:)' has been renamed to 'init(value:)'
'init(unsignedChar:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1056:37: 'unsignedCharValue' has been renamed to 'uint8Value'
'unsignedCharValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1059:27: 'init(unsignedChar:)' has been renamed to 'init(value:)'
'init(unsignedChar:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1065:33: 'shortValue' has been renamed to 'int16Value'
'shortValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1069:31: 'init(short:)' has been renamed to 'init(value:)'
'init(short:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1078:37: 'shortValue' has been renamed to 'int16Value'
'shortValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1081:27: 'init(short:)' has been renamed to 'init(value:)'
'init(short:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1087:33: 'unsignedShortValue' has been renamed to 'uint16Value'
'unsignedShortValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1091:31: 'init(unsignedShort:)' has been renamed to 'init(value:)'
'init(unsignedShort:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1100:37: 'unsignedShortValue' has been renamed to 'uint16Value'
'unsignedShortValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1103:27: 'init(unsignedShort:)' has been renamed to 'init(value:)'
'init(unsignedShort:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1109:33: Cannot convert return expression of type 'Int?' to return type 'Int32?'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1113:31: 'init(int:)' has been renamed to 'init(value:)'
'init(int:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1122:37: Cannot convert return expression of type 'Int' to return type 'Int32'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1125:27: 'init(int:)' has been renamed to 'init(value:)'
'init(int:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1131:33: 'unsignedIntValue' has been renamed to 'uint32Value'
'unsignedIntValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1135:31: 'init(unsignedInt:)' has been renamed to 'init(value:)'
'init(unsignedInt:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1144:37: 'unsignedIntValue' has been renamed to 'uint32Value'
'unsignedIntValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1147:27: 'init(unsignedInt:)' has been renamed to 'init(value:)'
'init(unsignedInt:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1153:33: 'longLongValue' has been renamed to 'int64Value'
'longLongValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1157:31: 'init(longLong:)' has been renamed to 'init(value:)'
'init(longLong:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1166:37: 'longLongValue' has been renamed to 'int64Value'
'longLongValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1169:27: 'init(longLong:)' has been renamed to 'init(value:)'
'init(longLong:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1175:33: 'unsignedLongLongValue' has been renamed to 'uint64Value'
'unsignedLongLongValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1179:31: 'init(unsignedLongLong:)' has been renamed to 'init(value:)'
'init(unsignedLongLong:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1188:37: 'unsignedLongLongValue' has been renamed to 'uint64Value'
'unsignedLongLongValue' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1191:27: 'init(unsignedLongLong:)' has been renamed to 'init(value:)'
'init(unsignedLongLong:)' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1293:35: 'fromCString' is unavailable: Please use String.init?(validatingUTF8:) instead. Note that it no longer accepts NULL as a valid input. Also consider using String(cString:), that will attempt to repair ill-formed code units.
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.String:3:24: 'fromCString' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1294:45: 'NSComparisonResult' has been renamed to 'ComparisonResult'
'NSComparisonResult' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1295:50: 'NSComparisonResult' has been renamed to 'ComparisonResult'
'NSComparisonResult' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:218:60: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:220:37: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:119:17: 'rawDictionary' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:256:25: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:258:25: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:119:17: 'rawDictionary' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:302:57: Value of type 'Int' has no member 'successor'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:304:67: Value of type 'Dictionary<String, AnyObject>.Index' has no member 'successor'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:325:37: Value of optional type 'Int?' not unwrapped; did you mean to use '!' or '?'?
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:327:36: Binary operator '<' cannot be applied to two 'Dictionary<String, AnyObject>.Index?' operands
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:327:36: Overloads for '<' exist with these partially matching parameter lists: (JSONIndex, JSONIndex), (JSON, JSON), (NSNumber, NSNumber), (Date, Date), (DateInterval, DateInterval), (Decimal, Decimal), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), (DispatchTime, DispatchTime), (DispatchWallTime, DispatchWallTime), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UInt32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (Character, Character), (ObjectIdentifier, ObjectIdentifier), (String, String), (String.Index, String.Index), (String.UnicodeScalarView.Index, String.UnicodeScalarView.Index), (String.UTF16View.Index, String.UTF16View.Index), (String.UTF8View.Index, String.UTF8View.Index), (UnicodeScalar, UnicodeScalar), (UnsafeMutableRawPointer, UnsafeMutableRawPointer), (UnsafeRawPointer, UnsafeRawPointer), (_SwiftNSOperatingSystemVersion, _SwiftNSOperatingSystemVersion), (AnyIndex, AnyIndex), (LazyDropWhileIndex, LazyDropWhileIndex), (LazyPrefixWhileIndex, LazyPrefixWhileIndex), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A, B, C, D, E, F)), (ClosedRangeIndex, ClosedRangeIndex), (LazyFilterIndex, LazyFilterIndex), (FlattenCollectionIndex, FlattenCollectionIndex), (FlattenBidirectionalCollectionIndex, FlattenBidirectionalCollectionIndex), (Set.Index, Set.Index), (Dictionary<Key, Value>.Index, Dictionary<Key, Value>.Index), (ReversedIndex, ReversedIndex), (ReversedRandomAccessIndex, ReversedRandomAccessIndex), (UnsafeMutablePointer, UnsafeMutablePointer), (UnsafePointer, UnsafePointer), (Measurement, Measurement)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:336:38: Value of optional type 'Int?' not unwrapped; did you mean to use '!' or '?'?
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:338:36: Binary operator '<=' cannot be applied to two 'Dictionary<String, AnyObject>.Index?' operands
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:338:36: Overloads for '<=' exist with these partially matching parameter lists: (JSONIndex, JSONIndex), (JSON, JSON), (NSNumber, NSNumber), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UInt32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A, B, C, D, E, F)), (LazyFilterIndex, LazyFilterIndex)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:347:38: Value of optional type 'Int?' not unwrapped; did you mean to use '!' or '?'?
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:349:36: Binary operator '>=' cannot be applied to two 'Dictionary<String, AnyObject>.Index?' operands
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:349:36: Overloads for '>=' exist with these partially matching parameter lists: (JSONIndex, JSONIndex), (JSON, JSON), (NSNumber, NSNumber), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UInt32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (_SwiftNSOperatingSystemVersion, _SwiftNSOperatingSystemVersion), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A, B, C, D, E, F)), (LazyFilterIndex, LazyFilterIndex)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:358:37: Value of optional type 'Int?' not unwrapped; did you mean to use '!' or '?'?
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:360:36: Binary operator '>' cannot be applied to two 'Dictionary<String, AnyObject>.Index?' operands
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:360:36: Overloads for '>' exist with these partially matching parameter lists: (JSONIndex, JSONIndex), (JSON, JSON), (NSNumber, NSNumber), (Date, Date), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UInt32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A, B, C, D, E, F)), (LazyFilterIndex, LazyFilterIndex)
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:437:19: '_error' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:126:17: '_error' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:439:50: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:440:34: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:443:19: '_error' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:126:17: '_error' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:449:25: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:450:26: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:461:33: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:119:17: 'rawDictionary' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:464:23: '_error' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:126:17: '_error' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:467:19: '_error' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:126:17: '_error' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:473:22: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:119:17: 'rawDictionary' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:518:41: 'removeAtIndex' has been renamed to 'remove(at:)'
/Users/station5/Projects/phonegap/hello/platforms/ios/Swift.Array:3:26: 'removeAtIndex' has been explicitly marked unavailable here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:627:15: 'NSJSONSerialization' has been renamed to 'JSONSerialization'
'NSJSONSerialization' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:634:44: Default argument value of type 'String.Encoding' cannot be converted to type 'UInt'
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1203:20: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1207:20: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1209:20: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1211:20: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:119:17: 'rawDictionary' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1223:20: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1227:20: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1229:20: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1231:20: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:119:17: 'rawDictionary' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1243:20: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1247:20: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1249:20: 'rawArray' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:118:17: 'rawArray' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1251:20: 'rawDictionary' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:119:17: 'rawDictionary' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1263:20: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1275:20: 'rawNumber' is inaccessible due to 'private' protection level
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:121:17: 'rawNumber' declared here
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1311:36: 'NSComparisonResult' has been renamed to 'ComparisonResult'
'NSComparisonResult' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1327:36: 'NSComparisonResult' has been renamed to 'ComparisonResult'
'NSComparisonResult' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1339:36: 'NSComparisonResult' has been renamed to 'ComparisonResult'
'NSComparisonResult' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1351:36: 'NSComparisonResult' has been renamed to 'ComparisonResult'
'NSComparisonResult' was obsoleted in Swift 3
/Users/station5/Projects/phonegap/hello/platforms/ios/HelloWorld/Plugins/cordova-plugin-geofence/SwiftyJson.swift:1363:36: 'NSComparisonResult' has been renamed to 'ComparisonResult'

@centos94
Copy link

@graphicgeek after some days trying to resolve this, i finally was able to compile the project and to prevent application crash after adding a new zone.

I was able to do that doing:

  • Referring to Requires swift 3.0 in Xcode 8.3 #215, i converted the swift file from Swift 2.3 to Swift 3 following these steps:
    1. Install cordova-plugin-geofence
    2. Install cordova-plugin-add-swift-support
    3. Not add the preference "UseLegacySwiftLanguageVersion"
    4. Add ios platform
    5. Replace three swift file with the ones in the Requires swift 3.0 in Xcode 8.3 #215 in the platform project folder.
  • After that i was able to build, but the app crashes, so i had to insert the fix in the Update to Swift 3 #224. Applying only the first correction (Fix crash on ios due to sqlite3_column_decltype)

After all this, you should have files like the attached ones!

geofence-plugin.zip

I didn't have the opportunity to test that notification really works, but geofence does all the passage (init and add/update) with no issues.

Hope this can help you.

@graphicgeek
Copy link
Author

Thanks @centos94, I will give this a try.

@centos94
Copy link

@graphicgeek let me know if it works so it can be useful for others with the same problem too!

@JustCallMeMarly
Copy link

Worked for me thanks !

@dovk
Copy link

dovk commented Sep 30, 2017

Will this work using XCode9 or do we have to stay below that?

@centos94
Copy link

centos94 commented Oct 1, 2017

@dovk yes, it works with xcode 9!

@dovk
Copy link

dovk commented Oct 3, 2017

@centos94 I went by your instructions as written above to @graphicgeek
and it works on the Mac using XCode9 + no need for Swift code conversion anymore.
Thank you very very much!

@graphicgeek
Copy link
Author

This worked for me. It looks like someone has forked the repo to create a version that has all of these files here https://github.com/compelling/cordova-plugin-geofence/

Note, I had to remove from my config.xml to get it to build.

Hopefully the fixed files will get merged into the main repo soon.

@marcelomiura
Copy link

marcelomiura commented Oct 19, 2017

HI there

Not sure if it's related, but I'm not able to get it working on ios.
I could build the project successfully using this fork (https://github.com/compelling/cordova-plugin-geofence/) and when I try to initialize the plugin, the success callback is called. I can also see the geofences watched by the geofence.getWatched() method, but the method onTransitionReceived is never called.
When testing on android, it works fine.

Xcode Version 9.0.1
iOS: 11.0.3
Cordova iOS platform: 4.3.1
ionic v1 Project

Any ideas?

@dovk
Copy link

dovk commented Oct 19, 2017

I realize now what worked was that I was able to complete the build without any errors, but the geofence itself still does not work. Can someone point me to a fork that works with Xcode 9 ?

@centos94
Copy link

@marcelomiura @dovk
I'm not sure of that, and for now i have no way to test it, but i noticed that in the logs there is a warning Location always permissions not granted.

Now i tried to add in the plist file NSLocationAlwaysAndWhenInUseUsageDescription, the warning disappeared and the app asks me another authorization. Maybe is that.

Can you try it and tell us if it works?
Although i don't know how to resolve, cause the logs says that the geofence are added correctly.

@marcelomiura
Copy link

@centos94 I've already added NSLocationAlwaysAndWhenInUseUsageDescription on the plist too.

I could make it work simulating a big location change with Xcode. When disabling the location simulator, all my near geofences were detected at the same time.

But I'm not able to make this work testing a normal use case yet.

@rodneyjoyce
Copy link

Firstly, thanks for the hard work on this. I am using Ionic Cloud build and I beleive they have upgraded it to use a new version of Xcode which does not use Swift 2.3. What are the plans to upgrade this plugin to use newer version of Swift? You can see my issues with Ionic 2 here: https://forum.ionicframework.com/t/ionic-package-ios-release-build-error-in-package-ionic-services/109507/15

@dovk
Copy link

dovk commented Nov 4, 2017

Finally! Thank you again centos94 - I checked again and the solution works!
image
The .ipa was built on a macMini (OS Sierra 10.12.6) using XCode 9.0.1, and the screenshot of the geofence notification is from my iPhone (iOS 11.0.3).
In this build I also made the switch from UIWebView to WKWebView, and set the major packages to the latest versions, such as

  • ionic: 3.16.0
  • cordova: 7.1.0
  • cordova-ios: 4.5.3
  • ionic-angular: 3.8.0
  • node: 8.9.0
  • npm: 5.5.1

I did not have to change much in the Xcode developer, other than adding the 1024 icon manually (until I figure that one out). And though I'm not sure I needed to, I ticked the location updates checkbox in Capabilities/Background modes.
As far as permissons entries under Info, I didn't have to add anything, it seems easier to handle that in config.xml -

    <platform name="ios">
        <config-file parent="NSBluetoothPeripheralUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} requires bluetooth access to function properly</string>
        </config-file>
        <config-file parent="NSCalendarsUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} requires calendar access to function properly</string>
        </config-file>
        <config-file parent="NSCameraUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} requires camera access to function properly</string>
        </config-file>
        <config-file parent="NSContactsUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} requires contacts access to function properly</string>
        </config-file>
        <config-file parent="NSLocationAlwaysAndWhenInUseUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} would like to check your location when app is active or in background</string>
        </config-file>
        <config-file parent="NSLocationAlwaysUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} would like to check your location when app is active or in background</string>
        </config-file>
        <config-file parent="NSLocationWhenInUseUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} would like to check your location when app is active or in background</string>
        </config-file>
        <config-file parent="NSMicrophoneUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} requires microphone access to function properly</string>
        </config-file>
        <config-file parent="NSMotionUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} requires motion detection access to function properly</string>
        </config-file>
        <config-file parent="NSPhotoLibraryUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} requires photo library access to function properly</string>
        </config-file>
        <config-file parent="NSRemindersUsageDescription" platform="ios" target="*-Info.plist">
            <string>${EXECUTABLE_NAME} equires reminders access to function properly</string>
        </config-file>
        <feature name="CDVOrientation">
            <param name="ios-package" value="CDVOrientation" />
        </feature>
        <feature name="CDVWKWebViewEngine">
            <param name="ios-package" value="CDVWKWebViewEngine" />
        </feature>
        <feature name="Console">
            <param name="ios-package" value="CDVLogger" />
        </feature>
        <feature name="Device">
            <param name="ios-package" value="CDVDevice" />
        </feature>
        <feature name="EmailComposer">
            <param name="ios-package" value="APPEmailComposer" />
        </feature>
        <feature name="FacebookConnectPlugin">
            <param name="ios-package" value="FacebookConnectPlugin" />
            <param name="onload" value="true" />
        </feature>
        <feature name="GeofencePlugin">
            <param name="ios-package" value="HWPGeofencePlugin" />
        </feature>
        <feature name="Geolocation">
            <param name="ios-package" value="CDVLocation" />
        </feature>
        <feature name="GestureHandler">
            <param name="ios-package" value="CDVGestureHandler" />
            <param name="onload" value="true" />
        </feature>
        <feature name="GooglePlus">
            <param name="ios-package" value="GooglePlus" />
            <param name="onload" value="true" />
        </feature>
        <feature name="HandleOpenUrl">
            <param name="ios-package" value="CDVHandleOpenURL" />
            <param name="onload" value="true" />
        </feature>
        <feature name="InAppBrowser">
            <param name="ios-package" value="CDVInAppBrowser" />
        </feature>
        <feature name="IntentAndNavigationFilter">
            <param name="ios-package" value="CDVIntentAndNavigationFilter" />
            <param name="onload" value="true" />
        </feature>
        <feature name="Keyboard">
            <param name="ios-package" onload="true" value="CDVKeyboard" />
        </feature>
        <feature name="Keyboard">
            <param name="ios-package" onload="true" value="IonicKeyboard" />
        </feature>
        <feature name="LocalNotification">
            <param name="ios-package" onload="true" value="APPLocalNotification" />
            <param name="onload" value="false" />
        </feature>
        <feature name="LocalStorage">
            <param name="ios-package" value="CDVLocalStorage" />
        </feature>
        <feature name="NativePageTransitions">
            <param name="ios-package" value="NativePageTransitions" />
        </feature>
        <feature name="NetworkStatus">
            <param name="ios-package" value="CDVConnection" />
        </feature>
        <feature name="Sms">
            <param name="ios-package" value="Sms" />
        </feature>
        <feature name="SplashScreen">
            <param name="ios-package" value="CDVSplashScreen" />
            <param name="onload" value="true" />
        </feature>
        <feature name="StatusBar">
            <param name="ios-package" onload="false" value="CDVStatusBar" />
        </feature>

There is one other thing that I did, I don't know if this is an issue with anyone else - I was getting too many permission error messages when the app initializes so I just remarked all the warnings.append in GeofencePlugin.swift.

By the way rodneyjoyce - Like many others I too was having a very difficult time with Ionic's unreliable Cloud Build. I finally gave up on them and got myself a macMini for the .ipa builds. It took a while to get used to but I now have a lot more control and understanding of the process now.

If this will help anyone, here are the relevant packeges I have in package.json

"@angular/animations": "4.4.4",
"@angular/cli": "1.4.4",
"@angular/common": "4.4.4",
"@angular/compiler": "4.4.4",
"@angular/compiler-cli": "4.4.4",
"@angular/core": "4.4.4",
"@angular/forms": "4.4.4",
"@angular/http": "4.4.4",
"@angular/platform-browser": "4.4.4",
"@angular/platform-browser-dynamic": "4.4.4",
"@angular/platform-server": "4.4.4",
"@angular/tsc-wrapped": "4.4.4",
"@ionic-native/app-minimize": "^4.3.3",
"@ionic-native/core": "^4.3.3",
"@ionic-native/device": "^4.3.3",
"@ionic-native/email-composer": "^4.3.3",
"@ionic-native/facebook": "^4.3.3",
"@ionic-native/geofence": "^4.3.3",
"@ionic-native/geolocation": "^4.3.3",
"@ionic-native/google-plus": "^4.3.3",
"@ionic-native/in-app-browser": "^4.3.3",
"@ionic-native/keyboard": "^4.3.3",
"@ionic-native/local-notifications": "^4.3.3",
"@ionic-native/native-page-transitions": "^4.3.3",
"@ionic-native/network": "^4.3.3",
"@ionic-native/screen-orientation": "^4.3.3",
"@ionic-native/sms": "^4.3.3",
"@ionic-native/splash-screen": "^4.3.3",
"@ionic-native/status-bar": "^4.3.3",
"angularfire2": "4.0.0-rc.1",
"autoprefixer": "^7.1.6",
"com.telerik.plugins.nativepagetransitions": "^0.6.5",
"cordova-android": "6.3.0",
"cordova-android-play-services-gradle-release": "0.0.2",
"cordova-android-support-gradle-release": "0.0.2",
"cordova-ios": "^4.5.3",
"cordova-plugin-add-swift-support": "^1.7.0",
"cordova-plugin-app-event": "^1.2.1",
"cordova-plugin-appminimize": "^1.0.0",
"cordova-plugin-compat": "^1.2.0",
"cordova-plugin-console": "^1.1.0",
"cordova-plugin-device": "^1.1.6",
"cordova-plugin-email-composer": "^0.8.11",
"cordova-plugin-facebook4": "^1.9.1",
"cordova-plugin-geofence": "^0.7.0",
"cordova-plugin-geolocation": "^2.4.3",
"cordova-plugin-googleplus": "^5.1.1",
"cordova-plugin-inappbrowser": "^1.7.1",
"cordova-plugin-ionic-webview": "^1.1.16",
"cordova-plugin-keyboard": "^1.1.5",
"cordova-plugin-network-information": "^1.3.3",
"cordova-plugin-screen-orientation": "^2.0.1",
"cordova-plugin-splashscreen": "^4.0.3",
"cordova-plugin-statusbar": "^2.2.3",
"cordova-plugin-whitelist": "^1.3.2",
"cordova-sms-plugin": "^0.1.11",
"de.appplant.cordova.plugin.local-notification": "^0.8.5",
"es6-promise-plugin": "^4.1.1",
"firebase": "4.4.0",
"ionic-angular": "^3.8.0",
"ionic-plugin-keyboard": "^2.2.1",
"promise-polyfill": "^6.0.2",
"rxjs": "5.4.3",
"sw-toolbox": "^3.6.0",
"zone.js": "0.8.18",
"@ionic/app-scripts": "^3.0.0",
"typescript": "2.3.4"

BTW I read a pretty good explanation about the Location permission here https://mackuba.eu/2017/07/13/changes-to-location-tracking-in-ios-11/

@mroberty8
Copy link

mroberty8 commented Nov 9, 2017

Hi, do you plan a date for release compatibility with swift 3 ?

@dovk
Copy link

dovk commented Nov 9, 2017

I noticed that Swift 4.0 is the default version in Xcode 9.1, I understand you can still use Swift 3.0 code, but the compatibility issue might be relevant as well.

@mroberty8
Copy link

Or maybe a date for Swift4 ? ;)

@brijesh-p
Copy link

brijesh-p commented Nov 20, 2017

@centos94 , I am able to compile code by changing 3 swifts files, but geofence is still not working in IOS device (however fence is adding perfectly but unable to trigger transition), any Idea what I am missing?

@centos94
Copy link

Hello @brijesh-p, did you try what @dovk has done?
He said that with those steps he was able to made it works.

@dovk
Copy link

dovk commented Nov 20, 2017

Sorry, I forgot to mention that, although I might have been able to do this differently, I copy the 3 sources to 3 different places -

<path_to_project>/<project_name>/node_modules/cordova-plugin-geofence/src/ios
<path_to_project>/<project_name>/plugins/cordova-plugin-geofence/src/ios
<path_to_project>/<project_name>/platforms/ios/<project_name>/Plugins/cordova-plugin-geofence

And as I wrote earlier, at one point it wasn't working because I had a spelling mistake in one of the fence json parameters (openAppOnClic instead of openAppOnClick).

Also - as a result of different behavior between Android and iOS, and based on suggestions that I read about, I define the fence json parameters as follows (although some may seem obvious or may not be necessary) -

  • the radius is never less than 300
  • on iOS cast parseFloat on the latitude and longitude - on Android define them as number
  • on iOS define the smallIcon as '/icon' and icon as '/assets/img/icon.png'
  • on Android define the smallIcon as 'res://icon' and icon as 'file://assets/img/icon.png'
  • I used a unique id for the fence only, and no id for the notification within
  • I always define openAppOnClick: false and autoClear: true
  • I always define the text parameter, but not the title parameter
  • in the <code> under fence.onTransitionReceived().subscribe(items => {<code>}
    I added a wait of 3 seconds before continuing with what I want to do when fenceIn or fenceOut
  • Adding .catch((err) => {JSON.stringify(err)} wherever possible became critical to understanding
  • add what I added above regarding permissions to config.xml

If I notice anything else I did, I'll add it here later - Good luck !

@brijesh-p
Copy link

@dovk, thanks. Its is possible to share, .swifts files for IOS?, meantime I am looking your suggestions.

@marcelomiura
Copy link

@brijesh-p I'm still facing the same issue as you. Geofences added, but transitions not triggered on ios. Have you made any progress?
I saw suggestions from @dovk, but a radius of 300 is too much for my application. (But even setting to more than 300 on my case, it did not work).

@dovk
Copy link

dovk commented Dec 4, 2017

I've already gone down to radius of 100 and it's ok, so I guess that was never a real problem there.

I placed some of the relevant code here https://github.com/dovk/geofence-fix
I'm sorry if it's hard to follow, it's overloaded with specific app business logic.
l_fence.ts is where we initialize and set the fence, and s_privateApp.ts is where we invoke those functions. But you can get an idea of how we defined the fence parameters and so on, and might see something that could help you.

You might also notice things in package.json or config.xml that would be beneficial to add.

Regarding the Swift sources - I took those from https://github.com/ypelud/cordova-plugin-geofence
In GeofencePlugin.swift I remarked out all the errors.append and warnings append because they were always popping up prematurely when the app came up - I believe it's something I need to fix like checking for platform.ready() earlier than I do.

And in the build_ios.sh (I know it's ugly - it's the first shell script I ever wrote) you can see how I automatically run the build and copy the Swift files to their respective places.

Take a look and let me know.

@brijesh-p
Copy link

brijesh-p commented Dec 5, 2017

@dovk , thanks.
I am looking https://github.com/dovk/geofence-fix, pls confirm if geofcence worked on IOS on this code? with .swift files (https://github.com/ypelud/cordova-plugin-geofence)

@dovk
Copy link

dovk commented Dec 5, 2017

Yes, absolutely, as you can see in the screenshot above from my iPhone. And as I wrote, it is all with recent versions, including using the new WKWebView, node/npm, and cordova, whose latest versions had caused problems and forced me in the past to revert to previous versions - now everything is up-to-date. By the way, it did not go well with XCode 9.1.0, so I stayed at 9.0.1.

The .ipa was built on a macMini (OS Sierra 10.12.6) using XCode 9.0.1, and the screenshot of the geofence notification is from my iPhone (iOS 11.0.3).
In this build I also made the switch from UIWebView to WKWebView, and set the major packages to the latest versions, such as
ionic: 3.16.0
cordova: 7.1.0
cordova-ios: 4.5.3
ionic-angular: 3.8.0
node: 8.9.0
npm: 5.5.1

I also found it important to make sure that everyting regarding notifications is also defined and installed correctly, because at one point the problem wasn't with Geofence but rather with localNotifications. For example using all those permission definitions in config.xml (under config-file)

@mroberty8
Copy link

mroberty8 commented Jan 9, 2018

Hi, guys, this thread is very hard to follow. I understand that the compatibility with Swift >=3 is not already working, but a temporary patch exists. Thats true ?

In this case is it possible to describe the full procedure (with version required of ios) to follow to use geofence plugin ?

Thanks in advance.

@dovk
Copy link

dovk commented Jan 11, 2018

Please you can define your current problem, because there are a lot of possibilities. Try to include relevant sources.

@mroberty8
Copy link

My initial problem was : "I had trouble following the procedure to make geofence work on the latest Xcode versions". But I tried to understand your explanations well now i can pass the compilation step.

I will try to explain what I did and the new problem that I am experiencing now.

  1. I got swift file on : https://github.com/ypelud/cordova-plugin-geofence
  2. I have replaced files on :

<path_to_project>/<project_name>/node_modules/cordova-plugin-geofence/src/ios
<path_to_project>/<project_name>/plugins/cordova-plugin-geofence/src/ios
<path_to_project>/<project_name>/platforms/ios/<project_name>/Plugins/cordova-plugin-geofence

  1. Build seems ok, but When i run the app on device or on simulator we got that error : "EXC_BAD_ACCESS (code=EXC_I136_GPFLT)

It only happens when I use the geofence lib.

Below a simple code that i used :

import { Injectable } from '@angular/core';
import { Geofence } from '@ionic-native/geofence';

@Injectable()
export class GeofenceService {
  constructor(private geofence: Geofence) {}

  public watch(): void {
    console.log('watch geofence');
    // initialize the plugin
    this.geofence.initialize().then(() => {
      console.log('watch');
      this.addGeofence();
    }, (err) => {
      console.log(err);
    });
  }

  private addGeofence():void {
    //options describing geofence
    let fence = {
      id: '69ca1b88-6fbe-4e80-a4d4-ff4d3748acdb', //any unique ID
      latitude:       -21.0130745, //center of geofence radius
      longitude:      55.2646077,
      radius:         100, //radius to edge of geofence in meters
      transitionType: 3, //see 'Transition Types' below
      notification: { //notification settings
          id:             1, //any unique ID
          title:          'You crossed a fence', //notification title
          text:           'You just arrived to Gliwice city center.', //notification body
          openAppOnClick: true //open app when notification is tapped
      }
    }
  
    this.geofence.addOrUpdate(fence).then(
       () => console.log('Geofence added'),
       (err) => console.log('Geofence failed to add')
     );
  }
}

My environment :

cli packages: (/usr/local/lib/node_modules)

@ionic/cli-utils  : 1.13.1
ionic (Ionic CLI) : 3.13.2

global packages:

cordova (Cordova CLI) : 7.1.0

local packages:

@ionic/app-scripts : 3.1.2
Cordova Platforms  : android 6.3.0
Ionic Framework    : ionic-angular 3.9.2

System:

Android SDK Tools : 26.1.1
ios-deploy        : 1.9.2
ios-sim           : 6.1.2
Node              : v8.9.4
npm               : 5.6.0
OS                : macOS High Sierra
Xcode             : Xcode 9.2 Build version 9C40b

Hope it's help to understand my request.

Thanks in advance.

@dovk
Copy link

dovk commented Jan 12, 2018

Try to code as close as possible to my code here
https://github.com/dovk/geofence-fix
and go over thw efine points I wrote there and above here,
Using the Swift code from https://github.com/ypelud/cordova-plugin-geofence is a prequisite of course but the TS script also needs to be handled in a certain way.

@shinuvs
Copy link

shinuvs commented Feb 22, 2018

I am also facing the same issue and the above mentioned solution is not working for me

@dovk
Copy link

dovk commented Feb 22, 2018

If you put some of your code up I can take a look. It still works for us but be aware that it might not be a viable solution for your purposes in any case since there are limitations when using the plugin in a Web/Javascript-based app framework like Ionic - geolocation and geofence works fine when the app is active in foreground, or when the app is minimized (for example when focusing on another app or pressing the back button on Android). However, when the app is closed, for example when you close the app window from the app list on Android, or swipe the app up on iOS, only the notification will work, not the actual Javascript code that you want to run when the entering or leaving event occurs. I am checking different solutions for that case.

@shinuvs
Copy link

shinuvs commented Feb 24, 2018

Thank you for your response. I am working on Ionic platform and in Android the geofence is working fine without having any issue. In iOS it is added succesfully(as per the log) but no notification is showing.

{code}
import { Component } from '@angular/core';
import { NavController, Platform } from 'ionic-angular';
import { Geofence } from '@ionic-native/geofence';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import { Headers, RequestOptions, ResponseContentType } from '@angular/http';
import {Observable} from 'rxjs/Observable';
import { Storage } from '@ionic/storage';

@component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {

constructor(public navCtrl: NavController, private geofence: Geofence, public http: Http, private plt: Platform, private file: File, private fileOpener: FileOpener) {
// initialize the plugin

}

callGeofence(){
this.geofence.initialize().then(
// resolved promise does not return a value
() => {
console.log('Geofence Plugin Ready');
this.addGeofence();
},
(err) => console.log(err)
)
}

private addGeofence() {
//options describing geofence
let fence = {
id: '69ca1b88-6fbe-4e80-a4d4-ff4d3748acdb', //any unique ID
latitude: 8.54748, //center of geofence radius
longitude: 76.87932,
radius: 100, //radius to edge of geofence in meters
transitionType: 3, //see 'Transition Types' below
notification: { //notification settings
id: 1, //any unique ID
title: 'You crossed a fence', //notification title
text: 'You just arrived to Gliwice city center.', //notification body
openAppOnClick: true //open app when notification is tapped
}
}
this.geofence.addOrUpdate(fence).then(
() => console.log('Geofence added'),
(err) => console.log('Geofence failed to add')
);
}

}

{code}

@dovk
Copy link

dovk commented Feb 24, 2018

We learnt alot in the process of trying to integrate the Geofence plugin in our app, but finally removed it from our app today and replaced it with simple home-made Geofence functionality based on the Background Geolocation plugin.
In our case the Geofence plugin eventually worked, but it seems to run your triggered Javascript code only when the app is in active or minimized mode, not when the app is closed - and in our case we must have Geofence monitoring when the app is closed as well. And while it appears that the Background Geolocation plugin doesn't run Javascript code in background mode either, it does record all location tracking information while in background mode. We can then retrieve this information when the app is alive again with the getLocations() function. And just as important - the Background Geolocation plugin records foreground geolocation as well - so for the purpose of geolocation tracking, all you need is the Background Geolocation plugin. You may perhaps need the regular Geolocation plugin if, as in our case, you need to know at a specific moment your location coordinates - but remember this will only work in foreground mode when the app is active. After that we added our own Geofence-like solution by using the haversine algorithm to calculate the distance of the recorded coordinates in relation to the target location.
Thanks to Josh Morony's tutorial we were able to do this in a day or two, and I hope it will serve our app well.
Regarding your question, I wrote earlier that we made some adjustments to accomodate for differences that we found between iOS and Android before passing the fence object to the addOrUpdate() function -

if (ios) {
	this.smallIcon = '/icon'
	this.icon = '/assets/img/icon.png'
	this.latitude = parseFloat(parms.latitude)
	this.longitude = parseFloat(parms.longitude)
}else{
	this.smallIcon = 'res://icon'
	this.icon = 'file://assets/img/icon.png'
	this.latitude = (parms.latitude)
	this.longitude = (parms.longitude)
}

and the fence object is defined as

{
	id: parms.idIn,
	latitude: this.latitude,
	longitude: this.longitude,
	radius: this.radius,
	transitionType: 1,
	notification: {
		text: text,
		openAppOnClick: false,
		autoClear: true,
		smallIcon: this.smallIcon,
		icon: this.icon}
}

I also mentioned above that:

  • the radius is never less than 300
  • on iOS cast parseFloat on the latitude and longitude - on Android define them as number
  • on iOS define the smallIcon as '/icon' and icon as '/assets/img/icon.png'
  • on Android define the smallIcon as 'res://icon' and icon as 'file://assets/img/icon.png'
  • I used a unique id for the fence only, and no id for the notification within
  • I always define openAppOnClick: false and autoClear: true
  • I always define the text parameter, but not the title parameter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants