Code Monkey home page Code Monkey logo

rwbutler / connectivity Goto Github PK

View Code? Open in Web Editor NEW
1.6K 20.0 76.0 1.27 MB

🌐 Makes Internet connectivity detection more robust by detecting Wi-Fi networks without Internet access.

Home Page: https://medium.com/@rwbutler/solving-the-captive-portal-problem-on-ios-9a53ba2b381e

License: MIT License

Ruby 1.47% Swift 89.57% Objective-C 8.26% HTML 0.62% C 0.08%
captive-portals reachability wi-fi internet-access swift apple carthage wifi detecting-captive-portals wifi-network

connectivity's Introduction

Connectivity

Build Status Version Carthage compatible Maintainability License Twitter Reviewed by Hound

Connectivity is a wrapper for Apple's Reachability providing a reliable measure of whether Internet connectivity is available where Reachability alone can only indicate whether an interface is available that might allow a connection.

Connectivity's objective is to solve the captive portal problem whereby an iOS device is connected to a WiFi network lacking Internet connectivity. Such situations are commonplace and may occur for example when connecting to a public WiFi network which requires the user to register before use. Connectivity can detect such situations enabling you to react accordingly.

To learn more about how to use Connectivity, take a look at the keynote presentation, check out the blog post, or make use of the table of contents below:

Features

  • Detect captive portals when a device joins a network.
  • Detect when connected to a router that has no Internet access.
  • Be notified of changes in Internet connectivity.
  • Polling connectivity checks may be performed where a constant network connection is required (optional).
  • Combine support via Connectivity.Publisher.

What's new in Connectivity 6.0.0?

  • Added ability to set the authorization header used when contacting an endpoint (thanks to Nils Bergmann - see #73).
  • iOS base deployment target updated to iOS 11.0.

For more information, see CHANGELOG.md.

Hyperconnectivity

If you don't require support for Objective-C or versions of iOS prior to iOS 13 then you may want to consider using Hyperconnectivity (an offshoot project of Connectivity), which drops support for these in favour of a modern, elegant syntax. For a comparison of the two frameworks see here.


Hyperconnectivity logo

OpenConnectivity

Connectivity and Hyperconnectivity both provide support for Combine however if you're working in an environment where Combine is unavailable e.g. supporting versions of iOS prior to 13 then you may make use of OpenCombine.

OpenConnectivity extends Connectivity with an OpenCombine-compatible publisher to allow you to take advantage of Combine syntax in environments where Combine itself is unavailable.

Installation

Ensure that you include Apple's Reachability header and implementation files (Reachability.h and Reachability.m) to use.

Use of Apple's Reachability is subject to licensing from Apple.

Cocoapods

CocoaPods is a dependency manager which integrates dependencies into your Xcode workspace. To install it using Ruby gems run:

gem install cocoapods

To install Connectivity using Cocoapods, simply add the following line to your Podfile:

pod "Connectivity"

Then run the command:

pod install

For more information see here.

Carthage

Carthage is a dependency manager which produces a binary for manual integration into your project. It can be installed via Homebrew using the commands:

brew update
brew install carthage

In order to integrate Connectivity into your project via Carthage, add the following line to your project's Cartfile:

github "rwbutler/Connectivity"

From the macOS Terminal run carthage update --platform iOS to build the framework then drag Connectivity.framework into your Xcode project.

For more information see here.

Swift Package Manager

Xcode (11 and above) includes support for Swift Package Manager. In order to add Connectivity to your Xcode project, from the File menu select Swift Packages and then select Add Package Dependency.

A dialogue will request the package repository URL which is:

https://github.com/rwbutler/connectivity

After verifying the URL, Xcode will prompt you to select whether to pull a specific branch, commit or versioned release into your project.

Xcode 11 Package Options

Proceed to the next step by where you will be asked to select the package product to integrate into a target. There will be a single package product named Connectivity which should be pre-selected. Ensure that your main app target is selected from the rightmost column of the dialog then click Finish to complete the integration.

Xcode 11 Add Package

How It Works

iOS adopts a protocol called Wireless Internet Service Provider roaming (WISPr 2.0) published by the Wireless Broadband Alliance. This protocol defines the Smart Client to Access Gateway interface describing how to authenticate users accessing public IEEE 802.11 (Wi-Fi) networks using the Universal Access Method in which a captive portal presents a login page to the user.

The user must then register or provide login credentials via a web browser in order to be granted access to the network using RADIUS or another protocol providing centralized Authentication, Authorization, and Accounting (AAA).

In order to detect a that it has connected to a Wi-Fi network with a captive portal, iOS contacts a number of endpoints hosted by Apple - an example being https://www.apple.com/library/test/success.html. Each endpoint hosts a small HTML page of the form:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
	<TITLE>Success</TITLE>
</HEAD>
<BODY>
	Success
</BODY>
</HTML>

If on downloading this small HTML page iOS finds that it contains the word Success as above then it knows that Internet connectivity is available. However, if a login page is presented by a captive portal then the word Success will not be present and iOS will realize that the network connection has been hijacked by a captive portal and will present a browser window allowing the user to login or register.

Apple hosts a number of these pages such that should one of these pages go down, a number of fallbacks can be checked to determine whether connectivity is present or whether our connection is blocked by the presence of a captive portal. Unfortunately iOS exposes no framework to developers which allows us to make use of the operating system’s awareness of captive portals.

Connectivity is an open-source framework which wraps Reachability and endeavours to replicate iOS’s means of detecting captive portals. When Reachability detects Wi-Fi or cellular connectivity, Connectivity contacts a number of endpoints to determine whether true Internet connectivity is present or whether a captive portal is intercepting the connections. This approach can also be used to determine whether an iOS device is connected to a Wi-Fi router with no Internet access.

Connectivity provides an interface as close to Reachability as possible so that it is familiar to developers used to working with Reachability. This includes providing the methods startNotifier() and stopNotifier() to begin checking for changes in Internet connectivity. Once the notifier has been started, you may query for the current connectivity status synchronously using the status property (similar to Reachability’s currentReachabilityStatus) or asynchronously by registering as an observer with the default NotificationCenter for the notification kNetworkConnectivityChangedNotification (in Swift this is accessed through Notification.Name.ConnectivityDidChange) — similar to Reachability’s notification kNetworkReachabilityChangedNotification.

By default, Connectivity contacts a number of endpoints already used by iOS but it recommended that these are replaced (or at least supplemented) by endpoints hosted by the developer by appending to the connectivityURLs property. Further customization is possible through setting the successThreshold property which determines the percentage of endpoints contacted which must result in a successful check in order to conclude that connectivity is present. The default value specifies that 50% of URLs contacted must result in a successful connectivity check. This is because two connectivity URLs are provided be default so only one of the two connectivity checks needs to succeed - should you require more stringent checks then consider increasing this threshold.

Usage

For an example of how to use Connectivity, see the sample app in the Example directory.

Callbacks

To get started using Connectivity, simply instantiate an instance and assign a closure to be invoked when Connectivity detects that you are connected to the Internet, when disconnected, or in both cases as follows:

let connectivity: Connectivity = Connectivity()

let connectivityChanged: (Connectivity) -> Void = { [weak self] connectivity in
     self?.updateConnectionStatus(connectivity.status)
}

connectivity.whenConnected = connectivityChanged
connectivity.whenDisconnected = connectivityChanged

func updateConnectionStatus(_ status: Connectivity.ConnectivityStatus) {

    switch status {
      case .connected:
	    case .connectedViaWiFi:
	    case .connectedViaWiFiWithoutInternet:
	    case .connectedViaCellular:
	    case .connectedViaCellularWithoutInternet:
	    case .notConnected:
    }
        
}

Then to start listening for changes in Connectivity call:

connectivity.startNotifier()

Then remember to call connectivity.stopNotifier() when you are done.

Combine

Connectivity provides support for Combine via the provision of Connectivity.Publisher which allows a client to subscribe and be notified of changes in Internet connectivity.

The provided sample application includes CombineViewController.swift illustrating how to use Connectivity with the Combine framework e.g.

let publisher = Connectivity.Publisher(
    configuration:
					.init()
          .configureURLSession(.default)
)

Note: You do not need to call startNotifier when using ConnectivityPublisher - this will be done for you automatically on subscription.

Configuration

The framework can be configured by setting the relevant properties on the Connectivity object directly e.g.

let connectivity = Connectivity()
connectivity.pollingInterval = 5
connectivity.expectedResponseString = "Success"
connectivity.validationMode = .containsExpectedResponseString

Connectivity 5.2.0 introduces a new fluent interface for configuring the framework by passing a ConnectivityConfiguration object to the Connectivity initializer.

let connectivity = Connectivity(
    configuration: .init()
                .configurePolling(interval: 5)
                .configureResponseValidation(.containsExpectedResponseString, expected: "Success")
)

One-Off Checks

Sometimes you only want to check the connectivity state as a one-off. To do so, instantiate a Connectivity object then check the status property as follows:

let connectivity = Connectivity()

connectivity.checkConnectivity { connectivity in

	switch connectivity.status {
		case .connected: 
			break
		case .connectedViaWiFi:
			break
		case .connectedViaWiFiWithoutInternet:
			break
		case .connectedViaCellular:
			break
		case .connectedViaCellularWithoutInternet:
			break
		case .notConnected:
			break
	}

}

Alternatively, you may check the following properties of the Connectivity object directly if you are only interested in certain types of connections:

var isConnectedViaCellular: Bool

var isConnectedViaWiFi: Bool
    
var isConnectedViaCellularWithoutInternet: Bool

var isConnectedViaWiFiWithoutInternet: Bool

Connectivity URLs

It is possible to set the URLs which will be contacted to check connectivity via the connectivityURLs property of the Connectivity object before starting connectivity checks with startNotifier().

connectivity.connectivityURLs = [URL(string: "https://www.apple.com/library/test/success.html")!]

Network Framework

From version 2.0.0, Connectivity provides the option of using the new Network framework where a device is running iOS 12 or above. To make use of this functionality set the framework property to .network (the default value is .systemConfiguration) as follows:

let connectivity = Connectivity()
connectivity.framework = .network

Below iOS 12, Connectivity will default to the traditional behaviour of using Reachability (SystemConfiguration.framework) to determine the availability of network interfaces.

For more information, refer to CHANGELOG.md.

Notifications

If you prefer using notifications to observe changes in connectivity, you may add an observer on the default NotificationCenter:

NotificationCenter.default.addObserver(_:selector:name:object:)

Listening for Notification.Name.ConnectivityDidChange, the object property of received notifications will contain the Connectivity object which you can use to query connectivity status.

Polling

In certain cases you may need to be kept constantly apprised of changes in connectivity state and therefore may wish to enable polling. Where enabled, Connectivity will not wait on changes in Reachability state but will poll the connectivity URLs every 10 seconds (this value is configurable by setting the value of the pollingInterval property). ConnectivityDidChange notifications and the closures assigned to the whenConnected and whenDisconnected properties will be invoked only where changes in connectivity state occur.

To enable polling:

connectivity.isPollingEnabled = true
connectivity.startNotifier()

As always, remember to call stopNotifier() when you are done.

SSL

As of Connectivity 1.1.0, using HTTPS for connectivity URLs is the default setting. If your app doesn't make use of App Transport Security and you wish to make use of HTTP URLs as well as HTTPS ones then either set isHTTPSOnly to false or set shouldUseHTTPS to false when instantiating the Connectivity object as follows*:

let connectivity = Connectivity(shouldUseHTTPS: false)

*Note that the property will not be set if you have not set the NSAllowsArbitraryLoads flag in your app's Info.plist first.

Threshold

To set the number of successful connections required in order to be deemed successfully connected, set the successThreshold property. The value is specified as a percentage indicating the percentage of successful connections i.e. if four connectivity URLs are set in the connectivityURLs property and a threshold of 75% is specified then three out of the four checks must succeed in order for our app to be deemed connected:

connectivity.successThreshold = Connectivity.Percentage(75.0)

Response Validation

There are three different validation modes available for checking response content these being:

  • .containsExpectedResponseString - Checks that the response contains the expected response as defined by the expectedResponseString property.
  • .equalsExpectedResponseString - Checks that the response equals the expected response as defined by the expectedResponseString property.
  • .matchesRegularExpression - Checks that the response matches the regular expression as defined by the expectedResponseRegEx property.
  • .custom - Allows a custom response validator to be set. If this validation mode is specified, then an implementation of ConnectivityResponseValidator protocol must be supplied as the value of the responseValidator property on the Connectivity object.

Supplied validators include:

  • ConnectivityResponseStringEqualityValidator: Determines whether the response string is equal to an expected string.
  • ConnectivityResponseContainsStringValidator: Determines whether the response string contains an expected string.
  • ConnectivityResponseRegExValidator: Determines whether the response string matches a given regular expression.

Known Issues

Caller responsible for retaining the Connectivity object

Please ensure that any implementation making use of this framework holds a strong reference to the Connectivity object for the duration of its use (as an instance variable or otherwise). If the object is deallocated before the callback is invoked, the result will be non-deterministic.

Simulator issues

Before reporting a bug please ensure that you have tested on a physical device as on simulator changes in network adapter state are not reported correctly by iOS frameworks particularly when transitioning from a disconnected -> connected state. This behaviour functions correctly on a physical device. Setting pollWhileOfflineOnly = true should resolve this issue.

Author

Ross Butler

License

Connectivity is available under the MIT license. See the LICENSE file for more info.

Additional Software

Controls

AnimatedGradientView
AnimatedGradientView

Frameworks

  • Cheats - Retro cheat codes for modern iOS apps.
  • Connectivity - Improves on Reachability for determining Internet connectivity in your iOS application.
  • FeatureFlags - Allows developers to configure feature flags, run multiple A/B or MVT tests using a bundled / remotely-hosted JSON configuration file.
  • FlexibleRowHeightGridLayout - A UICollectionView grid layout designed to support Dynamic Type by allowing the height of each row to size to fit content.
  • Hyperconnectivity - Modern replacement for Apple's Reachability written in Swift and made elegant using Combine. An offshoot of the Connectivity framework.
  • Skylark - Fully Swift BDD testing framework for writing Cucumber scenarios using Gherkin syntax.
  • TailorSwift - A collection of useful Swift Core Library / Foundation framework extensions.
  • TypographyKit - Consistent & accessible visual styling on iOS with Dynamic Type support.
  • Updates - Automatically detects app updates and gently prompts users to update.
Cheats Connectivity FeatureFlags Hyperconnectivity Skylark TypographyKit Updates
Cheats Connectivity FeatureFlags Hyperconnectivity Skylark TypographyKit Updates

Tools

  • Clear DerivedData - Utility to quickly clear your DerivedData directory simply by typing cdd from the Terminal.
  • Config Validator - Config Validator validates & uploads your configuration files and cache clears your CDN as part of your CI process.
  • IPA Uploader - Uploads your apps to TestFlight & App Store.
  • Palette - Makes your TypographyKit color palette available in Xcode Interface Builder.
Config Validator IPA Uploader Palette
Config Validator IPA Uploader Palette

connectivity's People

Contributors

benasher44 avatar codedbypm avatar fousa avatar k3zi avatar larryonoff avatar philipdukhov avatar rwbutler avatar thenoim avatar ttuygun avatar zandor300 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

connectivity's Issues

Call back work only one time

It works only one time, when network status is changed. even set connectivity.pollingInterval but did not get call back.

Not working at all, every time getting false.

let connectivityChanged: (Connectivity) -> Void = { [weak self] connectivity in
switch connectivity.status {
case .connected:
self?.isReachable = true
break
case .connectedViaWiFi:
self?.isReachable = true
break
case .connectedViaWiFiWithoutInternet:
self?.isReachable = false
break
case .notConnected:
self?.isReachable = false
break
case .connectedViaCellular:
self?.isReachable = true
break
case .connectedViaCellularWithoutInternet:
self?.isReachable = false
break
case .determining:
self?.isReachable = false
break
}
print("connectivityChanged:",connectivity.isConnected)
}

    connectivity.isPollingEnabled = true
    connectivity.pollingInterval = 5
    connectivity.whenConnected = connectivityChanged
    connectivity.whenDisconnected = connectivityChanged
    connectivity.startNotifier()

Switch from Reachability to ReachabilitySwift

Is your feature request related to a problem? Please describe.
Reachability class used is based on the old Objective-C sample, while there are updated and modern Swift re-implementations.

We used to use Reachability directly, then https://github.com/tonymillion/Reachability, and then https://github.com/ashleymills/Reachability.swift ... We are considering Connectivity now as it handles captive portals and network gateways connectivity drops better. While with iOS12+ the new Network framework by Apple replaces the previous SystemConfiguration one, it would be good to have a more modern migration path for it.

Describe the solution you'd like
Switch from Apple's Reachability to Ashley Mills's popular ReachabilitySwift implementation which is a quite isolated and well designed replacement: https://github.com/ashleymills/Reachability.swift

Describe alternatives you've considered
N/A

Additional context

Wrong connectivity status returned when app is backgrounded

Describe the bug
When app is backgrounded and you switch wifi/cellular on connectivity returns 'connected' status instead of connectedViaWiFi/connectedViaCellular.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the app and background it with network connection off
  2. Wait at least a minute and then switch connection on.
  3. When doing connectivity.checkConnectivity it returns 'connected'

Also connectivity.isConnected returns always True even when there is no wifi/cellular connection.

Smartphone (please complete the following information):

  • Device: iPhone11
  • OS: iOS15
    Screen Shot 2021-10-27 at 1 20 32 PM
    Screen Shot 2021-10-27 at 1 20 43 PM

how to disable notifier when I open a specific controller

I set notifier to observe connectivity status and it's observe only when internet disconnected, my problems are:
1- the notifier doesn't work when internet back online
2- I want to disable the global notifier in app delegate when I open a specific controller

thanx

Does not work in Simulator

**Have tested on a physical device? **
[ ] Yes, I have tested on physical iOS device and the reported issue is still present.

**Does code retain the Connectivity object? **
[ ] Yes, my implementation has a strong reference to the Connectivity object so that it is not deallocated during use.

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Crashed: com.apple.root.background-qos

Crashed: com.apple.root.background-qos
0 libsystem_kernel.dylib 0x6bbc __pthread_kill + 8
1 libsystem_pthread.dylib 0xd854 pthread_kill + 208
2 libsystem_c.dylib 0x1f6ac abort + 124
3 libsystem_malloc.dylib 0x1b9d8 _malloc_put + 546
4 libsystem_malloc.dylib 0x1bc40 malloc_zone_error + 96
5 libsystem_malloc.dylib 0x8040 szone_free + 460
6 libswiftCore.dylib 0x2efc20 _swift_release_dealloc + 28
7 Connectivity 0xd6b8 Connectivity.updateStatus(from:isConnected:) + 421 (Connectivity.swift:421)
8 Connectivity 0xd264 Connectivity.updateStatus(isConnected:) + 616 (Connectivity.swift:616)
9 Connectivity 0xcec4 closure #4 in Connectivity.checkConnectivityOnInternalQueue(completion:) + 256
10 Connectivity 0xbdc4 thunk for @escaping @callee_guaranteed () -> () + 28 (:28)
11 libdispatch.dylib 0x63094 _dispatch_call_block_and_release + 24
12 libdispatch.dylib 0x64094 _dispatch_client_callout + 16
13 libdispatch.dylib 0x13cbc _dispatch_root_queue_drain + 636
14 libdispatch.dylib 0x1439c _dispatch_worker_thread2 + 172
15 libsystem_pthread.dylib 0x1dd4 _pthread_wqthread + 224
16 libsystem_pthread.dylib 0x193c start_wqthread + 8


iPhone 7
iOS Version: 15.6.1
Connectivity Version: 5.0.0

Edge case bug: connectivity check cascade failure with dodgy LTE connection

**Have read the known issues? **
[X] Yes, I have read and am familiar with the list of known issues.

**Have tested on a physical device? **
[X] Yes, I have tested on physical iOS device and the reported issue is still present.

**Does code retain the Connectivity object? **
[X] Yes, my implementation has a strong reference to the Connectivity object so that it is not deallocated during use.

Describe the bug
A clear and concise description of what the bug is.

I am using Connectivity in an iPad-only (iPadOS) app that is used in light aircraft (think little Cessnas and Pipers). Some of the iPads used have cellular capabilities. While in flight, the app occasionally freezes when (as best as I can tell) the cellular modem detects and briefly connects with a tower on the ground below. The connection is enough for the interface to activate but not enough for the connectivity check to succeed.

This scenario results in a cascade of errors from the connectivity framework showing a failed attempt to reach the success.html page on the associated Apple URL. This appears to happen on the main thread, as the application freezes until either the check succeeds or the operating system flags the interface as offline. In some cases the freeze goes on long enough that the iOS watchdog kills the app.

I've included console output below showing what gets dumped while the system is in this state.

To Reproduce
Steps to reproduce the behavior:

  1. Connect Wifi to the FlightBox (a stand-alone device that sends data to the app - not connected to the Internet)
  2. Launch the app.
  3. Travel to some place where LTE connectivity is intermittent at best.
  4. After some period of time the connectivity framework will detect the activation of the LTE interface and will attempt to validate connectivity. This will fail and repeat as seen in the logs below.

Expected behavior
A clear and concise description of what you expected to happen.

I expected the connectivity framework to monitor connectivity in the background (i.e. without having an impact on the main queue / thread).

Screenshots
If applicable, add screenshots to help explain your problem.

N/A - see log below

Desktop (please complete the following information):

N/A

Smartphone (please complete the following information):

  • Device: 20 iPad Pro 11"
  • OS: iPadOS
  • Browser: N/A
  • Version: 13.3

Additional context
Add any other context about the problem here.

Here's the output from the console:

2020-02-13 17:54:12.371 -0800: Phase Of Flight Change! From: unknown to planning
2020-02-13 17:54:14.072050-0800 FlightBox PFD[234:3678] Connection 2: received failure notification
2020-02-13 17:54:14.072107-0800 FlightBox PFD[234:3678] Connection 2: failed to connect 1:50, reason -1
2020-02-13 17:54:14.072785-0800 FlightBox PFD[234:3678] Connection 2: encountered error(1:50)
2020-02-13 17:54:14.077769-0800 FlightBox PFD[234:3678] Task <EF968721-3FF2-494A-9FCA-F035CF88D4D9>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:14.080748-0800 FlightBox PFD[234:3673] Task <EF968721-3FF2-494A-9FCA-F035CF88D4D9>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a374000 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:14.091 -0800: Active Internet connection: Cellular (no internet)
2020-02-13 17:54:16.741 -0800: Active Internet connection: Cellular
2020-02-13 17:54:16.742 -0800: Register for Push Notifications
2020-02-13 17:54:16.748 -0800: Device Token: 79a4090d1a030c3614dafb33283338020f18ce9b24fc6fb5a6deb5e65a0a8cb1
2020-02-13 17:54:17.014131-0800 FlightBox PFD[234:3678] Connection 7: received failure notification
2020-02-13 17:54:17.014257-0800 FlightBox PFD[234:3678] Connection 7: failed to connect 1:50, reason -1
2020-02-13 17:54:17.014278-0800 FlightBox PFD[234:3678] Connection 7: encountered error(1:50)
2020-02-13 17:54:17.022088-0800 FlightBox PFD[234:3678] Task <701391AA-1797-4B90-B6E3-3B688AD49784>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:17.042467-0800 FlightBox PFD[234:3970] Task <701391AA-1797-4B90-B6E3-3B688AD49784>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a36c600 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:17.044 -0800: Active Internet connection: Cellular (no internet)
2020-02-13 17:54:17.064853-0800 FlightBox PFD[234:3970] HTTPS Proxy Connection [5] received status code 404
2020-02-13 17:54:17.073193-0800 FlightBox PFD[234:3970] Task <B55228B7-ADB7-4AAE-9B14-BD3C765202D7>.<1> HTTP load failed, 0/0 bytes (error code: 310 [4:-2096])
2020-02-13 17:54:17.074491-0800 FlightBox PFD[234:3668] Task <B55228B7-ADB7-4AAE-9B14-BD3C765202D7>.<1> finished with error [310] Error Domain=kCFErrorDomainCFNetwork Code=310 "(null)" UserInfo={_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <B55228B7-ADB7-4AAE-9B14-BD3C765202D7>.<1>, _kCFStreamErrorDomainKey=4, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <B55228B7-ADB7-4AAE-9B14-BD3C765202D7>.<1>"
), _kCFStreamErrorCodeKey=-2096}
2020-02-13 17:54:17.080 -0800: Unable to register device. The operation couldn’t be completed. (kCFErrorDomainCFNetwork error 310.)
2020-02-13 17:54:17.195 -0800: status: connected
2020-02-13 17:54:17.265 -0800: Active Internet connection: Cellular
2020-02-13 17:54:17.521248-0800 FlightBox PFD[234:3970] Connection 12: received failure notification
2020-02-13 17:54:17.521290-0800 FlightBox PFD[234:3970] Connection 12: failed to connect 1:50, reason -1
2020-02-13 17:54:17.521315-0800 FlightBox PFD[234:3970] Connection 12: encountered error(1:50)
2020-02-13 17:54:17.523862-0800 FlightBox PFD[234:3970] Task <6EF1E76E-957E-4F53-B536-520120B51F09>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:17.524702-0800 FlightBox PFD[234:3970] Task <6EF1E76E-957E-4F53-B536-520120B51F09>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a2ad530 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:17.527 -0800: Active Internet connection: Cellular (no internet)
2020-02-13 17:54:17.950 -0800: applicationDidBecomeActive
2020-02-13 17:54:17.950 -0800: Creating UDP detector on app restore
2020-02-13 17:54:18.000960-0800 FlightBox PFD[234:4177] Connection 13: received failure notification
2020-02-13 17:54:18.001004-0800 FlightBox PFD[234:4177] Connection 13: failed to connect 1:50, reason -1
2020-02-13 17:54:18.001033-0800 FlightBox PFD[234:4177] Connection 13: encountered error(1:50)
2020-02-13 17:54:18.002954-0800 FlightBox PFD[234:4177] Task <96E2D6D9-466D-4DA8-A2A5-10311130A6E2>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:18.008359-0800 FlightBox PFD[234:3668] Task <96E2D6D9-466D-4DA8-A2A5-10311130A6E2>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a3614d0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:18.216098-0800 FlightBox PFD[234:3668] Connection 14: received failure notification
2020-02-13 17:54:18.216152-0800 FlightBox PFD[234:3668] Connection 14: failed to connect 1:50, reason -1
2020-02-13 17:54:18.216173-0800 FlightBox PFD[234:3668] Connection 14: encountered error(1:50)
2020-02-13 17:54:18.218310-0800 FlightBox PFD[234:3668] Task <D3FF62A2-1C6D-41FF-AF69-288AB549B0C2>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:18.220889-0800 FlightBox PFD[234:4177] Task <D3FF62A2-1C6D-41FF-AF69-288AB549B0C2>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a318450 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:18.319 -0800: ahrs: connected
2020-02-13 17:54:18.319 -0800: traffic: connected
2020-02-13 17:54:18.320 -0800: traffic socket connected
2020-02-13 17:54:18.320 -0800: ahrs socket connected
2020-02-13 17:54:18.362745-0800 FlightBox PFD[234:4187] Connection 15: received failure notification
2020-02-13 17:54:18.362876-0800 FlightBox PFD[234:4187] Connection 15: failed to connect 1:50, reason -1
2020-02-13 17:54:18.362960-0800 FlightBox PFD[234:4187] Connection 15: encountered error(1:50)
2020-02-13 17:54:18.364680-0800 FlightBox PFD[234:4187] Task <F66677C7-E70D-49E3-9B1F-262B9BBD5532>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:18.366836-0800 FlightBox PFD[234:4188] Task <F66677C7-E70D-49E3-9B1F-262B9BBD5532>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a365a70 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:18.494963-0800 FlightBox PFD[234:4177] Connection 16: received failure notification
2020-02-13 17:54:18.495151-0800 FlightBox PFD[234:4177] Connection 16: failed to connect 1:50, reason -1
2020-02-13 17:54:18.495267-0800 FlightBox PFD[234:4177] Connection 16: encountered error(1:50)
2020-02-13 17:54:18.497332-0800 FlightBox PFD[234:4177] Task <E9754C72-0660-4F3B-9DC7-51652435E345>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:18.504882-0800 FlightBox PFD[234:4187] Task <E9754C72-0660-4F3B-9DC7-51652435E345>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a31ab80 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:18.873 -0800: ems: connected
2020-02-13 17:54:18.998717-0800 FlightBox PFD[234:4187] Connection 17: received failure notification
2020-02-13 17:54:18.998759-0800 FlightBox PFD[234:4187] Connection 17: failed to connect 1:50, reason -1
2020-02-13 17:54:18.998780-0800 FlightBox PFD[234:4187] Connection 17: encountered error(1:50)
2020-02-13 17:54:19.001572-0800 FlightBox PFD[234:4187] Task <9E9FE7B1-BFFD-48D8-AE5D-CB9593AC9BAE>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:19.002454-0800 FlightBox PFD[234:4177] Task <9E9FE7B1-BFFD-48D8-AE5D-CB9593AC9BAE>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a290270 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:19.043 -0800: Event - Engine Running
2020-02-13 17:54:19.043 -0800: Started fuel tank reminder timer: 900.0
2020-02-13 17:54:19.173574-0800 FlightBox PFD[234:4177] Connection 21: received failure notification
2020-02-13 17:54:19.173634-0800 FlightBox PFD[234:4177] Connection 21: failed to connect 1:50, reason -1
2020-02-13 17:54:19.173669-0800 FlightBox PFD[234:4177] Connection 21: encountered error(1:50)
2020-02-13 17:54:19.176293-0800 FlightBox PFD[234:4177] Task <47748E5D-F5F0-49BF-985D-32B78ECC94E1>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:19.178323-0800 FlightBox PFD[234:4189] Task <47748E5D-F5F0-49BF-985D-32B78ECC94E1>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a2b7690 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:19.419 -0800: radio: connected
2020-02-13 17:54:19.419 -0800: course: connected
2020-02-13 17:54:19.419 -0800: radio socket connected
2020-02-13 17:54:19.419 -0800: autopilot: connected
2020-02-13 17:54:19.492122-0800 FlightBox PFD[234:4193] Connection 22: received failure notification
2020-02-13 17:54:19.492161-0800 FlightBox PFD[234:4193] Connection 22: failed to connect 1:50, reason -1
2020-02-13 17:54:19.492256-0800 FlightBox PFD[234:4193] Connection 22: encountered error(1:50)
2020-02-13 17:54:19.494278-0800 FlightBox PFD[234:4193] Task <E16478DE-21E4-4BEF-AEDB-4A7B2D4C1471>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:19.498220-0800 FlightBox PFD[234:4192] Task <E16478DE-21E4-4BEF-AEDB-4A7B2D4C1471>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a248870 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:19.961 -0800: weather: connected
2020-02-13 17:54:19.988102-0800 FlightBox PFD[234:4177] Connection 23: received failure notification
2020-02-13 17:54:19.988144-0800 FlightBox PFD[234:4177] Connection 23: failed to connect 1:50, reason -1
2020-02-13 17:54:19.988164-0800 FlightBox PFD[234:4177] Connection 23: encountered error(1:50)
2020-02-13 17:54:19.990753-0800 FlightBox PFD[234:4177] Task <029FE1DA-0DC4-4FD9-971F-98E484E3B6AC>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:19.996668-0800 FlightBox PFD[234:4177] Task <029FE1DA-0DC4-4FD9-971F-98E484E3B6AC>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a278f00 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:20.004 -0800: weather socket connected.
2020-02-13 17:54:20.117125-0800 FlightBox PFD[234:4177] Connection 24: received failure notification
2020-02-13 17:54:20.117173-0800 FlightBox PFD[234:4177] Connection 24: failed to connect 1:50, reason -1
2020-02-13 17:54:20.117224-0800 FlightBox PFD[234:4177] Connection 24: encountered error(1:50)
2020-02-13 17:54:20.118164-0800 FlightBox PFD[234:4177] Task <2408DD2C-2C6C-4576-AFBC-509B92855054>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:20.122414-0800 FlightBox PFD[234:4192] Task <2408DD2C-2C6C-4576-AFBC-509B92855054>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a27a550 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:20.257974-0800 FlightBox PFD[234:4177] Connection 25: received failure notification
2020-02-13 17:54:20.258019-0800 FlightBox PFD[234:4177] Connection 25: failed to connect 1:50, reason -1
2020-02-13 17:54:20.258040-0800 FlightBox PFD[234:4177] Connection 25: encountered error(1:50)
2020-02-13 17:54:20.260151-0800 FlightBox PFD[234:4177] Task <98A1DE1B-84B0-4137-A176-1CA0A5793F4D>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:20.264662-0800 FlightBox PFD[234:4177] Task <98A1DE1B-84B0-4137-A176-1CA0A5793F4D>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a269230 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:20.461439-0800 FlightBox PFD[234:4192] Connection 26: received failure notification
2020-02-13 17:54:20.461489-0800 FlightBox PFD[234:4192] Connection 26: failed to connect 1:50, reason -1
2020-02-13 17:54:20.461874-0800 FlightBox PFD[234:4192] Connection 26: encountered error(1:50)
2020-02-13 17:54:20.465916-0800 FlightBox PFD[234:4192] Task <5B3C5D6F-1E4C-47DB-A64F-D4A67FF5EEE2>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:20.470751-0800 FlightBox PFD[234:4192] Task <5B3C5D6F-1E4C-47DB-A64F-D4A67FF5EEE2>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a275ad0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:20.990672-0800 FlightBox PFD[234:4192] Connection 27: received failure notification
2020-02-13 17:54:20.990821-0800 FlightBox PFD[234:4192] Connection 27: failed to connect 1:50, reason -1
2020-02-13 17:54:20.990853-0800 FlightBox PFD[234:4192] Connection 27: encountered error(1:50)
2020-02-13 17:54:20.992851-0800 FlightBox PFD[234:4192] Task <8E18A210-6358-436A-AF96-F0881ADF4068>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:20.999761-0800 FlightBox PFD[234:4192] Task <8E18A210-6358-436A-AF96-F0881ADF4068>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a210ea0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:21.057 -0800: nexrad: connected
2020-02-13 17:54:21.153241-0800 FlightBox PFD[234:4193] Connection 28: received failure notification
2020-02-13 17:54:21.153312-0800 FlightBox PFD[234:4193] Connection 28: failed to connect 1:50, reason -1
2020-02-13 17:54:21.153338-0800 FlightBox PFD[234:4193] Connection 28: encountered error(1:50)
2020-02-13 17:54:21.155643-0800 FlightBox PFD[234:4193] Task <D9D542DE-821C-4EB3-B401-F4DE15976A58>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:21.158996-0800 FlightBox PFD[234:4197] Task <D9D542DE-821C-4EB3-B401-F4DE15976A58>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a20cb70 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:21.239 -0800: sync: connected
2020-02-13 17:54:21.244 -0800: Received Setting: {"Setting": "airspeedBug", "ValueFloat": 0.000000}
2020-02-13 17:54:21.246 -0800: Received Setting: {"Setting": "headingBug", "ValueFloat": 311.696196}
2020-02-13 17:54:21.246 -0800: Received Setting: {"Setting": "qnhValue", "ValueFloat": 30.030029}
2020-02-13 17:54:21.246 -0800: Received Setting: {"Setting": "vsiBug", "ValueFloat": 0.000000}
2020-02-13 17:54:21.247 -0800: Received Setting: {"Setting": "trackBug", "ValueFloat": 0.000000}
2020-02-13 17:54:21.247 -0800: Received Setting: {"Setting": "apBank", "ValueFloat": 0.000000}
2020-02-13 17:54:21.247 -0800: Received Setting: {"Setting": "activeCourse", "ValueString": "APT|KRHV APT|KSFO APT|KLVK APT|KLSN APT|KFAT APT|KSBA APT|KMRY APT|KRHV", "ValueInt":0, "ValueFloat": 0.0}
2020-02-13 17:54:21.247 -0800: Received Setting: {"Setting": "altitudeBug", "ValueFloat": 0.000000}
2020-02-13 17:54:21.268 -0800: Terrain mode set: CourseMode
2020-02-13 17:54:21.347410-0800 FlightBox PFD[234:4202] Connection 29: received failure notification
2020-02-13 17:54:21.347459-0800 FlightBox PFD[234:4202] Connection 29: failed to connect 1:50, reason -1
2020-02-13 17:54:21.347481-0800 FlightBox PFD[234:4202] Connection 29: encountered error(1:50)
2020-02-13 17:54:21.350562-0800 FlightBox PFD[234:4202] Task <9CCA107D-610A-4F67-8D42-C54742EB6F80>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:21.358922-0800 FlightBox PFD[234:4202] Task <9CCA107D-610A-4F67-8D42-C54742EB6F80>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a23f2a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:21.412 -0800: transponder: connected
2020-02-13 17:54:21.808 -0800: Charging: 0.75
2020-02-13 17:54:21.985295-0800 FlightBox PFD[234:4200] Connection 30: received failure notification
2020-02-13 17:54:21.985384-0800 FlightBox PFD[234:4200] Connection 30: failed to connect 1:50, reason -1
2020-02-13 17:54:21.985550-0800 FlightBox PFD[234:4200] Connection 30: encountered error(1:50)
2020-02-13 17:54:21.987600-0800 FlightBox PFD[234:4200] Task <BE495B9A-9BFA-4697-907C-C2A7CC1F2ABF>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:21.989588-0800 FlightBox PFD[234:4203] Task <BE495B9A-9BFA-4697-907C-C2A7CC1F2ABF>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a5fa3a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:22.296 -0800: adc: connected
2020-02-13 17:54:22.297 -0800: adc socket connected
2020-02-13 17:54:22.515 -0800: location: connected
2020-02-13 17:54:22.515 -0800: location socket connected
2020-02-13 17:54:22.558 -0800: baro: connected
2020-02-13 17:54:22.558 -0800: baro socket connected
2020-02-13 17:54:22.581 -0800: Flight State Change - from unknown to level
2020-02-13 17:54:22.581 -0800: New phase of flight: enroute
2020-02-13 17:54:22.582 -0800: Phase Of Flight Change! From: planning to enroute
2020-02-13 17:54:22.658922-0800 FlightBox PFD[234:4215] Connection 32: received failure notification
2020-02-13 17:54:22.658977-0800 FlightBox PFD[234:4215] Connection 32: failed to connect 1:50, reason -1
2020-02-13 17:54:22.659000-0800 FlightBox PFD[234:4215] Connection 32: encountered error(1:50)
2020-02-13 17:54:22.660647-0800 FlightBox PFD[234:4215] Task <347CF9CB-CE3E-48FF-8281-FDD1B02407D5>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:22.672401-0800 FlightBox PFD[234:4214] Task <347CF9CB-CE3E-48FF-8281-FDD1B02407D5>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a5b9020 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:22.780 -0800: Active Internet connection: Cellular
2020-02-13 17:54:22.991972-0800 FlightBox PFD[234:4214] Connection 34: received failure notification
2020-02-13 17:54:22.992699-0800 FlightBox PFD[234:4214] Connection 34: failed to connect 1:50, reason -1
2020-02-13 17:54:22.992739-0800 FlightBox PFD[234:4214] Connection 34: encountered error(1:50)
2020-02-13 17:54:22.996557-0800 FlightBox PFD[234:4214] Task <A38CDE65-31F2-4C50-BB0A-DC0155608711>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:23.000559-0800 FlightBox PFD[234:4214] Task <A38CDE65-31F2-4C50-BB0A-DC0155608711>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a55aa60 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:23.003 -0800: Active Internet connection: Cellular (no internet)
2020-02-13 17:54:23.165869-0800 FlightBox PFD[234:4200] Connection 35: received failure notification
2020-02-13 17:54:23.165964-0800 FlightBox PFD[234:4200] Connection 35: failed to connect 1:50, reason -1
2020-02-13 17:54:23.165999-0800 FlightBox PFD[234:4200] Connection 35: encountered error(1:50)
2020-02-13 17:54:23.168053-0800 FlightBox PFD[234:4200] Task <411AE681-3835-4F22-BF71-116845B7CE41>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:23.172639-0800 FlightBox PFD[234:4216] Task <411AE681-3835-4F22-BF71-116845B7CE41>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a553990 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:23.998600-0800 FlightBox PFD[234:4214] Connection 36: received failure notification
2020-02-13 17:54:23.998917-0800 FlightBox PFD[234:4214] Connection 36: failed to connect 1:50, reason -1
2020-02-13 17:54:23.998941-0800 FlightBox PFD[234:4214] Connection 36: encountered error(1:50)
2020-02-13 17:54:24.002484-0800 FlightBox PFD[234:4214] Task <2B1CE5AF-8066-4491-A47F-11DC405DDE26>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:24.006978-0800 FlightBox PFD[234:4214] Task <2B1CE5AF-8066-4491-A47F-11DC405DDE26>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a561410 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:24.422598-0800 FlightBox PFD[234:4213] Connection 37: received failure notification
2020-02-13 17:54:24.422653-0800 FlightBox PFD[234:4213] Connection 37: failed to connect 1:50, reason -1
2020-02-13 17:54:24.422675-0800 FlightBox PFD[234:4213] Connection 37: encountered error(1:50)
2020-02-13 17:54:24.423901-0800 FlightBox PFD[234:4213] Task <8BB08CC1-B5FC-4E7A-8A0B-5BB9398C26A8>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:24.435043-0800 FlightBox PFD[234:4214] Task <8BB08CC1-B5FC-4E7A-8A0B-5BB9398C26A8>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a500b40 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:24.998395-0800 FlightBox PFD[234:4216] Connection 38: received failure notification
2020-02-13 17:54:24.998458-0800 FlightBox PFD[234:4216] Connection 38: failed to connect 1:50, reason -1
2020-02-13 17:54:24.998573-0800 FlightBox PFD[234:4216] Connection 38: encountered error(1:50)
2020-02-13 17:54:25.002053-0800 FlightBox PFD[234:4216] Task <7760FD18-32F4-4A6E-82B7-41108E9BC480>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:25.023662-0800 FlightBox PFD[234:4193] Task <7760FD18-32F4-4A6E-82B7-41108E9BC480>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a53bcf0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:25.137760-0800 FlightBox PFD[234:4200] Connection 39: received failure notification
2020-02-13 17:54:25.137805-0800 FlightBox PFD[234:4200] Connection 39: failed to connect 1:50, reason -1
2020-02-13 17:54:25.137888-0800 FlightBox PFD[234:4200] Connection 39: encountered error(1:50)
2020-02-13 17:54:25.140388-0800 FlightBox PFD[234:4200] Task <AA9DF477-FA19-4947-A4C1-F69D05BCDD59>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:25.142769-0800 FlightBox PFD[234:4200] Task <AA9DF477-FA19-4947-A4C1-F69D05BCDD59>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a528330 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:25.559 -0800: Flight State Change - from level to descending
2020-02-13 17:54:25.740580-0800 FlightBox PFD[234:4193] Connection 40: received failure notification
2020-02-13 17:54:25.740625-0800 FlightBox PFD[234:4193] Connection 40: failed to connect 1:50, reason -1
2020-02-13 17:54:25.740655-0800 FlightBox PFD[234:4193] Connection 40: encountered error(1:50)
2020-02-13 17:54:25.742691-0800 FlightBox PFD[234:4193] Task <85F3E49C-DAC7-4B55-ACEC-E4544A128E9A>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:25.747484-0800 FlightBox PFD[234:4193] Task <85F3E49C-DAC7-4B55-ACEC-E4544A128E9A>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4d9dd0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:25.993640-0800 FlightBox PFD[234:3667] Connection 41: received failure notification
2020-02-13 17:54:25.993690-0800 FlightBox PFD[234:3667] Connection 41: failed to connect 1:50, reason -1
2020-02-13 17:54:25.993843-0800 FlightBox PFD[234:3667] Connection 41: encountered error(1:50)
2020-02-13 17:54:25.996043-0800 FlightBox PFD[234:3667] Task <4E198AEB-0CA3-4118-A566-843461E99FD2>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:26.001553-0800 FlightBox PFD[234:3672] Task <4E198AEB-0CA3-4118-A566-843461E99FD2>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4d9aa0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:26.426829-0800 FlightBox PFD[234:3672] Connection 42: received failure notification
2020-02-13 17:54:26.426876-0800 FlightBox PFD[234:3672] Connection 42: failed to connect 1:50, reason -1
2020-02-13 17:54:26.426897-0800 FlightBox PFD[234:3672] Connection 42: encountered error(1:50)
2020-02-13 17:54:26.429553-0800 FlightBox PFD[234:3672] Task <54ED4572-2A46-4C35-B3ED-D5589E99E47A>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:26.436803-0800 FlightBox PFD[234:3672] Task <54ED4572-2A46-4C35-B3ED-D5589E99E47A>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4d0ae0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:26.992879-0800 FlightBox PFD[234:4213] Connection 43: received failure notification
2020-02-13 17:54:26.992922-0800 FlightBox PFD[234:4213] Connection 43: failed to connect 1:50, reason -1
2020-02-13 17:54:26.992953-0800 FlightBox PFD[234:4213] Connection 43: encountered error(1:50)
2020-02-13 17:54:26.994879-0800 FlightBox PFD[234:4213] Task <0382A822-D9F2-4FD4-9AD6-CEC4AB8C1E60>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:27.000162-0800 FlightBox PFD[234:4213] Task <0382A822-D9F2-4FD4-9AD6-CEC4AB8C1E60>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4cefa0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:27.493066-0800 FlightBox PFD[234:4213] Connection 44: received failure notification
2020-02-13 17:54:27.493123-0800 FlightBox PFD[234:4213] Connection 44: failed to connect 1:50, reason -1
2020-02-13 17:54:27.493144-0800 FlightBox PFD[234:4213] Connection 44: encountered error(1:50)
2020-02-13 17:54:27.497523-0800 FlightBox PFD[234:4213] Task <9820C062-D8B0-46C9-B8A2-136C5454FB2F>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:27.501739-0800 FlightBox PFD[234:4213] Task <9820C062-D8B0-46C9-B8A2-136C5454FB2F>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4fc540 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:27.987857-0800 FlightBox PFD[234:3667] Connection 45: received failure notification
2020-02-13 17:54:27.987900-0800 FlightBox PFD[234:3667] Connection 45: failed to connect 1:50, reason -1
2020-02-13 17:54:27.987920-0800 FlightBox PFD[234:3667] Connection 45: encountered error(1:50)
2020-02-13 17:54:27.990720-0800 FlightBox PFD[234:3667] Task <15D895AC-1CB3-4721-9056-DD773D14FB19>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:27.995856-0800 FlightBox PFD[234:3667] Task <15D895AC-1CB3-4721-9056-DD773D14FB19>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4e2190 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:28.332934-0800 FlightBox PFD[234:3672] Connection 46: received failure notification
2020-02-13 17:54:28.332978-0800 FlightBox PFD[234:3672] Connection 46: failed to connect 1:50, reason -1
2020-02-13 17:54:28.333043-0800 FlightBox PFD[234:3672] Connection 46: encountered error(1:50)
2020-02-13 17:54:28.335381-0800 FlightBox PFD[234:3672] Task <EEA685D0-5D11-4CF1-A0DF-D33DC32DF447>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:28.338811-0800 FlightBox PFD[234:3672] Task <EEA685D0-5D11-4CF1-A0DF-D33DC32DF447>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4994d0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:28.641244-0800 FlightBox PFD[234:3667] Connection 47: received failure notification
2020-02-13 17:54:28.641329-0800 FlightBox PFD[234:3667] Connection 47: failed to connect 1:50, reason -1
2020-02-13 17:54:28.641376-0800 FlightBox PFD[234:3667] Connection 47: encountered error(1:50)
2020-02-13 17:54:28.644088-0800 FlightBox PFD[234:3667] Task <1894CC4F-F71A-4B55-91FD-89B26AF70E43>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:28.650713-0800 FlightBox PFD[234:3667] Task <1894CC4F-F71A-4B55-91FD-89B26AF70E43>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4eca80 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:28.997158-0800 FlightBox PFD[234:3672] Connection 48: received failure notification
2020-02-13 17:54:28.997202-0800 FlightBox PFD[234:3672] Connection 48: failed to connect 1:50, reason -1
2020-02-13 17:54:28.997232-0800 FlightBox PFD[234:3672] Connection 48: encountered error(1:50)
2020-02-13 17:54:29.002574-0800 FlightBox PFD[234:3672] Task <527F635E-785B-4C9C-9C51-001CD42477E7>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:29.009369-0800 FlightBox PFD[234:4193] Task <527F635E-785B-4C9C-9C51-001CD42477E7>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4883c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:29.135548-0800 FlightBox PFD[234:4193] Connection 49: received failure notification
2020-02-13 17:54:29.135593-0800 FlightBox PFD[234:4193] Connection 49: failed to connect 1:50, reason -1
2020-02-13 17:54:29.135615-0800 FlightBox PFD[234:4193] Connection 49: encountered error(1:50)
2020-02-13 17:54:29.137838-0800 FlightBox PFD[234:4193] Task <3AC6B865-A463-4D23-8FCF-767FCD185155>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:29.145443-0800 FlightBox PFD[234:3672] Task <3AC6B865-A463-4D23-8FCF-767FCD185155>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a484c00 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:29.496896-0800 FlightBox PFD[234:3672] Connection 50: received failure notification
2020-02-13 17:54:29.497040-0800 FlightBox PFD[234:3672] Connection 50: failed to connect 1:50, reason -1
2020-02-13 17:54:29.497136-0800 FlightBox PFD[234:3672] Connection 50: encountered error(1:50)
2020-02-13 17:54:29.498300-0800 FlightBox PFD[234:3672] Task <0561B4A8-F1E1-4AEA-9B5A-83C975C39AF3>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:29.502294-0800 FlightBox PFD[234:3672] Task <0561B4A8-F1E1-4AEA-9B5A-83C975C39AF3>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a491890 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:29.985553-0800 FlightBox PFD[234:3672] Connection 51: received failure notification
2020-02-13 17:54:29.985620-0800 FlightBox PFD[234:3672] Connection 51: failed to connect 1:50, reason -1
2020-02-13 17:54:29.985646-0800 FlightBox PFD[234:3672] Connection 51: encountered error(1:50)
2020-02-13 17:54:29.987870-0800 FlightBox PFD[234:3672] Task <BDF09601-8370-46E3-8BFA-F1080F3726C7>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:29.988736-0800 FlightBox PFD[234:4214] Task <BDF09601-8370-46E3-8BFA-F1080F3726C7>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4825e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:30.288811-0800 FlightBox PFD[234:4214] Connection 52: received failure notification
2020-02-13 17:54:30.289045-0800 FlightBox PFD[234:4214] Connection 52: failed to connect 1:50, reason -1
2020-02-13 17:54:30.289124-0800 FlightBox PFD[234:4214] Connection 52: encountered error(1:50)
2020-02-13 17:54:30.290281-0800 FlightBox PFD[234:4214] Task <54AA07C7-F41D-4E5F-8AEA-2E092955E3B1>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:30.293614-0800 FlightBox PFD[234:3672] Task <54AA07C7-F41D-4E5F-8AEA-2E092955E3B1>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4b8e10 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:30.719998-0800 FlightBox PFD[234:4214] Connection 53: received failure notification
2020-02-13 17:54:30.720245-0800 FlightBox PFD[234:4214] Connection 53: failed to connect 1:50, reason -1
2020-02-13 17:54:30.720305-0800 FlightBox PFD[234:4214] Connection 53: encountered error(1:50)
2020-02-13 17:54:30.722263-0800 FlightBox PFD[234:4214] Task <6E179DAB-086A-4641-B1DC-E38DCE16EA06>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:30.725294-0800 FlightBox PFD[234:4193] Task <6E179DAB-086A-4641-B1DC-E38DCE16EA06>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4a0810 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:30.996567-0800 FlightBox PFD[234:4193] Connection 54: received failure notification
2020-02-13 17:54:30.997139-0800 FlightBox PFD[234:4193] Connection 54: failed to connect 1:50, reason -1
2020-02-13 17:54:30.997357-0800 FlightBox PFD[234:4193] Connection 54: encountered error(1:50)
2020-02-13 17:54:31.003410-0800 FlightBox PFD[234:4193] Task <2521D136-80C2-46A0-A049-B3093F949119>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:31.011871-0800 FlightBox PFD[234:4216] Task <2521D136-80C2-46A0-A049-B3093F949119>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4a10b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:31.388783-0800 FlightBox PFD[234:4193] Connection 55: received failure notification
2020-02-13 17:54:31.388827-0800 FlightBox PFD[234:4193] Connection 55: failed to connect 1:50, reason -1
2020-02-13 17:54:31.388850-0800 FlightBox PFD[234:4193] Connection 55: encountered error(1:50)
2020-02-13 17:54:31.392613-0800 FlightBox PFD[234:4193] Task <C5EEAE9D-8282-449F-AD1D-8AB9E78B9335>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:31.415611-0800 FlightBox PFD[234:4213] Task <C5EEAE9D-8282-449F-AD1D-8AB9E78B9335>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a451140 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:31.984640-0800 FlightBox PFD[234:3667] Connection 56: received failure notification
2020-02-13 17:54:31.984699-0800 FlightBox PFD[234:3667] Connection 56: failed to connect 1:50, reason -1
2020-02-13 17:54:31.985117-0800 FlightBox PFD[234:3667] Connection 56: encountered error(1:50)
2020-02-13 17:54:31.987575-0800 FlightBox PFD[234:3667] Task <3736D2C1-D27E-4506-8918-0593195F4AFE>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:31.991676-0800 FlightBox PFD[234:3667] Task <3736D2C1-D27E-4506-8918-0593195F4AFE>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a452b20 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:32.481004-0800 FlightBox PFD[234:3667] Connection 57: received failure notification
2020-02-13 17:54:32.481049-0800 FlightBox PFD[234:3667] Connection 57: failed to connect 1:50, reason -1
2020-02-13 17:54:32.481080-0800 FlightBox PFD[234:3667] Connection 57: encountered error(1:50)
2020-02-13 17:54:32.482719-0800 FlightBox PFD[234:3667] Task <DF37EB4E-A129-4524-8F0D-E3D3E201E692>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:32.489822-0800 FlightBox PFD[234:3667] Task <DF37EB4E-A129-4524-8F0D-E3D3E201E692>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4792f0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:33.000426-0800 FlightBox PFD[234:4193] Connection 58: received failure notification
2020-02-13 17:54:33.000521-0800 FlightBox PFD[234:4193] Connection 58: failed to connect 1:50, reason -1
2020-02-13 17:54:33.000575-0800 FlightBox PFD[234:4193] Connection 58: encountered error(1:50)
2020-02-13 17:54:33.004218-0800 FlightBox PFD[234:4193] Task <59FF1C13-0C34-46C2-9F17-8DD6A90510CC>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:33.007268-0800 FlightBox PFD[234:4213] Task <59FF1C13-0C34-46C2-9F17-8DD6A90510CC>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4689c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:33.430603-0800 FlightBox PFD[234:4216] Connection 59: received failure notification
2020-02-13 17:54:33.430646-0800 FlightBox PFD[234:4216] Connection 59: failed to connect 1:50, reason -1
2020-02-13 17:54:33.430687-0800 FlightBox PFD[234:4216] Connection 59: encountered error(1:50)
2020-02-13 17:54:33.432938-0800 FlightBox PFD[234:4216] Task <B8371EB7-92CF-4B02-8535-BBEA9CC647D3>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:33.439550-0800 FlightBox PFD[234:4216] Task <B8371EB7-92CF-4B02-8535-BBEA9CC647D3>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a4725b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:34.000064-0800 FlightBox PFD[234:4213] Connection 60: received failure notification
2020-02-13 17:54:34.000225-0800 FlightBox PFD[234:4213] Connection 60: failed to connect 1:50, reason -1
2020-02-13 17:54:34.000300-0800 FlightBox PFD[234:4213] Connection 60: encountered error(1:50)
2020-02-13 17:54:34.002386-0800 FlightBox PFD[234:4213] Task <CC635795-0E45-489D-942D-EADDF9B474CE>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:34.020904-0800 FlightBox PFD[234:4214] Task <CC635795-0E45-489D-942D-EADDF9B474CE>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a471680 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:34.146599-0800 FlightBox PFD[234:4216] Connection 61: received failure notification
2020-02-13 17:54:34.146700-0800 FlightBox PFD[234:4216] Connection 61: failed to connect 1:50, reason -1
2020-02-13 17:54:34.146812-0800 FlightBox PFD[234:4216] Connection 61: encountered error(1:50)
2020-02-13 17:54:34.148620-0800 FlightBox PFD[234:4216] Task <363A34F5-B4E7-45AB-9463-6A9DC6307693>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:34.153086-0800 FlightBox PFD[234:4216] Task <363A34F5-B4E7-45AB-9463-6A9DC6307693>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a410ea0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:34.684599-0800 FlightBox PFD[234:4213] Connection 62: received failure notification
2020-02-13 17:54:34.684644-0800 FlightBox PFD[234:4213] Connection 62: failed to connect 1:50, reason -1
2020-02-13 17:54:34.684665-0800 FlightBox PFD[234:4213] Connection 62: encountered error(1:50)
2020-02-13 17:54:34.687507-0800 FlightBox PFD[234:4213] Task <B54F3F48-AD46-4F08-8984-8FA262B9F72A>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:34.695067-0800 FlightBox PFD[234:4216] Task <B54F3F48-AD46-4F08-8984-8FA262B9F72A>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a40f840 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:35.005294-0800 FlightBox PFD[234:4213] Connection 63: received failure notification
2020-02-13 17:54:35.005337-0800 FlightBox PFD[234:4213] Connection 63: failed to connect 1:50, reason -1
2020-02-13 17:54:35.005358-0800 FlightBox PFD[234:4213] Connection 63: encountered error(1:50)
2020-02-13 17:54:35.006278-0800 FlightBox PFD[234:4213] Task <9B150B89-56CA-4996-A901-24F5291C1622>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:35.011438-0800 FlightBox PFD[234:4214] Task <9B150B89-56CA-4996-A901-24F5291C1622>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a430930 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:35.205160-0800 FlightBox PFD[234:4213] Connection 64: received failure notification
2020-02-13 17:54:35.205203-0800 FlightBox PFD[234:4213] Connection 64: failed to connect 1:50, reason -1
2020-02-13 17:54:35.205223-0800 FlightBox PFD[234:4213] Connection 64: encountered error(1:50)
2020-02-13 17:54:35.207304-0800 FlightBox PFD[234:4213] Task <09AA60BD-04CC-457A-B4D6-6F4E6CECFD4A>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:35.213977-0800 FlightBox PFD[234:4214] Task <09AA60BD-04CC-457A-B4D6-6F4E6CECFD4A>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a43aa00 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:35.639169-0800 FlightBox PFD[234:4193] Connection 65: received failure notification
2020-02-13 17:54:35.639310-0800 FlightBox PFD[234:4193] Connection 65: failed to connect 1:50, reason -1
2020-02-13 17:54:35.639341-0800 FlightBox PFD[234:4193] Connection 65: encountered error(1:50)
2020-02-13 17:54:35.643551-0800 FlightBox PFD[234:4193] Task <7EE2D66A-2C24-42B4-843D-76794823D65A>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:35.656630-0800 FlightBox PFD[234:4193] Task <7EE2D66A-2C24-42B4-843D-76794823D65A>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a431a70 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:35.994889-0800 FlightBox PFD[234:4193] Connection 66: received failure notification
2020-02-13 17:54:35.995091-0800 FlightBox PFD[234:4193] Connection 66: failed to connect 1:50, reason -1
2020-02-13 17:54:35.995137-0800 FlightBox PFD[234:4193] Connection 66: encountered error(1:50)
2020-02-13 17:54:35.996753-0800 FlightBox PFD[234:4193] Task <60040A75-D143-4543-A5E7-92FC0F2D4F4A>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:36.001294-0800 FlightBox PFD[234:4213] Task <60040A75-D143-4543-A5E7-92FC0F2D4F4A>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a42b330 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:36.485914-0800 FlightBox PFD[234:3667] Connection 67: received failure notification
2020-02-13 17:54:36.486152-0800 FlightBox PFD[234:3667] Connection 67: failed to connect 1:50, reason -1
2020-02-13 17:54:36.486241-0800 FlightBox PFD[234:3667] Connection 67: encountered error(1:50)
2020-02-13 17:54:36.488052-0800 FlightBox PFD[234:3667] Task <1C545431-A2E0-4855-9FE9-720DA0ACE0CD>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:36.489631-0800 FlightBox PFD[234:4214] Task <1C545431-A2E0-4855-9FE9-720DA0ACE0CD>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a420120 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:37.003291-0800 FlightBox PFD[234:4193] Connection 68: received failure notification
2020-02-13 17:54:37.003338-0800 FlightBox PFD[234:4193] Connection 68: failed to connect 1:50, reason -1
2020-02-13 17:54:37.003358-0800 FlightBox PFD[234:4193] Connection 68: encountered error(1:50)
2020-02-13 17:54:37.006510-0800 FlightBox PFD[234:4193] Task <F152D8B7-E1A0-4A51-AA4F-E00276B409FD>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:37.025263-0800 FlightBox PFD[234:4216] Task <F152D8B7-E1A0-4A51-AA4F-E00276B409FD>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a7c8750 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:37.486601-0800 FlightBox PFD[234:4214] Connection 69: received failure notification
2020-02-13 17:54:37.486648-0800 FlightBox PFD[234:4214] Connection 69: failed to connect 1:50, reason -1
2020-02-13 17:54:37.486733-0800 FlightBox PFD[234:4214] Connection 69: encountered error(1:50)
2020-02-13 17:54:37.488268-0800 FlightBox PFD[234:4214] Task <D2435F40-9970-455A-99CD-F163A8DF0EC4>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:37.496802-0800 FlightBox PFD[234:4193] Task <D2435F40-9970-455A-99CD-F163A8DF0EC4>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a7c1b00 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:37.994669-0800 FlightBox PFD[234:3667] Connection 70: received failure notification
2020-02-13 17:54:37.994789-0800 FlightBox PFD[234:3667] Connection 70: failed to connect 1:50, reason -1
2020-02-13 17:54:37.994913-0800 FlightBox PFD[234:3667] Connection 70: encountered error(1:50)
2020-02-13 17:54:37.996887-0800 FlightBox PFD[234:3667] Task <E836E647-9A84-4B81-ACFF-313A7E27140B>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:38.001781-0800 FlightBox PFD[234:4193] Task <E836E647-9A84-4B81-ACFF-313A7E27140B>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a7f4510 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:38.128 -0800: Flight State Change - from descending to level
2020-02-13 17:54:38.641994-0800 FlightBox PFD[234:4216] Connection 71: received failure notification
2020-02-13 17:54:38.642039-0800 FlightBox PFD[234:4216] Connection 71: failed to connect 1:50, reason -1
2020-02-13 17:54:38.642060-0800 FlightBox PFD[234:4216] Connection 71: encountered error(1:50)
2020-02-13 17:54:38.645415-0800 FlightBox PFD[234:4216] Task <6182BE90-C73F-4BE9-A837-75E388CDC114>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:38.656869-0800 FlightBox PFD[234:4214] Task <6182BE90-C73F-4BE9-A837-75E388CDC114>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a7faf40 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:38.999562-0800 FlightBox PFD[234:4193] Connection 72: received failure notification
2020-02-13 17:54:38.999612-0800 FlightBox PFD[234:4193] Connection 72: failed to connect 1:50, reason -1
2020-02-13 17:54:38.999633-0800 FlightBox PFD[234:4193] Connection 72: encountered error(1:50)
2020-02-13 17:54:39.003125-0800 FlightBox PFD[234:4193] Task <ED4B7421-14BA-4A2F-B3AC-593DAEECBE4C>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:39.009804-0800 FlightBox PFD[234:4193] Task <ED4B7421-14BA-4A2F-B3AC-593DAEECBE4C>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a798450 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:39.486933-0800 FlightBox PFD[234:4193] Connection 73: received failure notification
2020-02-13 17:54:39.486979-0800 FlightBox PFD[234:4193] Connection 73: failed to connect 1:50, reason -1
2020-02-13 17:54:39.487000-0800 FlightBox PFD[234:4193] Connection 73: encountered error(1:50)
2020-02-13 17:54:39.489799-0800 FlightBox PFD[234:4193] Task <E2ACEBCE-1894-434D-B7AE-592BF42EC88D>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:39.496087-0800 FlightBox PFD[234:3667] Task <E2ACEBCE-1894-434D-B7AE-592BF42EC88D>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a799ec0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:39.991723-0800 FlightBox PFD[234:4216] Connection 74: received failure notification
2020-02-13 17:54:39.991918-0800 FlightBox PFD[234:4216] Connection 74: failed to connect 1:50, reason -1
2020-02-13 17:54:39.991947-0800 FlightBox PFD[234:4216] Connection 74: encountered error(1:50)
2020-02-13 17:54:39.994011-0800 FlightBox PFD[234:4216] Task <AFF3DC62-4BE4-44D0-9ABD-BD9C1BA8059C>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:39.998318-0800 FlightBox PFD[234:4193] Task <AFF3DC62-4BE4-44D0-9ABD-BD9C1BA8059C>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a78cc90 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:40.416263-0800 FlightBox PFD[234:4214] Connection 75: received failure notification
2020-02-13 17:54:40.416310-0800 FlightBox PFD[234:4214] Connection 75: failed to connect 1:50, reason -1
2020-02-13 17:54:40.416431-0800 FlightBox PFD[234:4214] Connection 75: encountered error(1:50)
2020-02-13 17:54:40.418597-0800 FlightBox PFD[234:4214] Task <C956D069-4D68-452E-8C5C-D6A358140258>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:40.426091-0800 FlightBox PFD[234:4193] Task <C956D069-4D68-452E-8C5C-D6A358140258>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a7b4ae0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:41.000538-0800 FlightBox PFD[234:4193] Connection 76: received failure notification
2020-02-13 17:54:41.000587-0800 FlightBox PFD[234:4193] Connection 76: failed to connect 1:50, reason -1
2020-02-13 17:54:41.000610-0800 FlightBox PFD[234:4193] Connection 76: encountered error(1:50)
2020-02-13 17:54:41.003512-0800 FlightBox PFD[234:4193] Task <AF30D71C-C74A-407F-84AA-BC7C9CBE225D>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:41.011626-0800 FlightBox PFD[234:4213] Task <AF30D71C-C74A-407F-84AA-BC7C9CBE225D>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a7ae8e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:41.399 -0800: Sent: Setting message - setting: qnhValue, value: 30.03
2020-02-13 17:54:41.490259-0800 FlightBox PFD[234:4214] Connection 77: received failure notification
2020-02-13 17:54:41.490368-0800 FlightBox PFD[234:4214] Connection 77: failed to connect 1:50, reason -1
2020-02-13 17:54:41.490457-0800 FlightBox PFD[234:4214] Connection 77: encountered error(1:50)
2020-02-13 17:54:41.492530-0800 FlightBox PFD[234:4214] Task <0450226F-B349-40F3-BA0C-A0ED7A7F524D>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:41.497509-0800 FlightBox PFD[234:4214] Task <0450226F-B349-40F3-BA0C-A0ED7A7F524D>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a6ec120 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:41.995269-0800 FlightBox PFD[234:4213] Connection 78: received failure notification
2020-02-13 17:54:41.995322-0800 FlightBox PFD[234:4213] Connection 78: failed to connect 1:50, reason -1
2020-02-13 17:54:41.995343-0800 FlightBox PFD[234:4213] Connection 78: encountered error(1:50)
2020-02-13 17:54:41.996825-0800 FlightBox PFD[234:4213] Task <37879FE7-27CA-4823-B1C6-0BE067321805>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:42.001080-0800 FlightBox PFD[234:4216] Task <37879FE7-27CA-4823-B1C6-0BE067321805>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a69c300 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:42.287948-0800 FlightBox PFD[234:4216] Connection 79: received failure notification
2020-02-13 17:54:42.288051-0800 FlightBox PFD[234:4216] Connection 79: failed to connect 1:50, reason -1
2020-02-13 17:54:42.288175-0800 FlightBox PFD[234:4216] Connection 79: encountered error(1:50)
2020-02-13 17:54:42.289581-0800 FlightBox PFD[234:4216] Task <5ED29B8B-DBB7-49F9-8A0D-2876389E309C>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:42.291044-0800 FlightBox PFD[234:4214] Task <5ED29B8B-DBB7-49F9-8A0D-2876389E309C>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a694d50 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:42.888910-0800 FlightBox PFD[234:4216] Connection 80: received failure notification
2020-02-13 17:54:42.888987-0800 FlightBox PFD[234:4216] Connection 80: failed to connect 1:50, reason -1
2020-02-13 17:54:42.889173-0800 FlightBox PFD[234:4216] Connection 80: encountered error(1:50)
2020-02-13 17:54:42.890982-0800 FlightBox PFD[234:4216] Task <79E955F6-0B7D-40B9-AE89-3C26E62B67BB>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:42.891700-0800 FlightBox PFD[234:4214] Task <79E955F6-0B7D-40B9-AE89-3C26E62B67BB>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a6bd620 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:43.488664-0800 FlightBox PFD[234:4214] Connection 81: received failure notification
2020-02-13 17:54:43.488706-0800 FlightBox PFD[234:4214] Connection 81: failed to connect 1:50, reason -1
2020-02-13 17:54:43.488728-0800 FlightBox PFD[234:4214] Connection 81: encountered error(1:50)
2020-02-13 17:54:43.490479-0800 FlightBox PFD[234:4214] Task <2A729AB0-F8CE-4A14-BC9A-39DABBB33DD5>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:43.496612-0800 FlightBox PFD[234:4214] Task <2A729AB0-F8CE-4A14-BC9A-39DABBB33DD5>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a6b09c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:44.000541-0800 FlightBox PFD[234:4214] Connection 82: received failure notification
2020-02-13 17:54:44.000591-0800 FlightBox PFD[234:4214] Connection 82: failed to connect 1:50, reason -1
2020-02-13 17:54:44.000614-0800 FlightBox PFD[234:4214] Connection 82: encountered error(1:50)
2020-02-13 17:54:44.003317-0800 FlightBox PFD[234:4214] Task <98C8A1E5-1D12-46F7-93C4-A805913A1C86>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:44.010089-0800 FlightBox PFD[234:4213] Task <98C8A1E5-1D12-46F7-93C4-A805913A1C86>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a6b5290 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:44.162902-0800 FlightBox PFD[234:4214] Connection 83: received failure notification
2020-02-13 17:54:44.162998-0800 FlightBox PFD[234:4214] Connection 83: failed to connect 1:50, reason -1
2020-02-13 17:54:44.163048-0800 FlightBox PFD[234:4214] Connection 83: encountered error(1:50)
2020-02-13 17:54:44.164981-0800 FlightBox PFD[234:4214] Task <099FF89B-0006-48E8-9AC3-47706FB546C3>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:44.171333-0800 FlightBox PFD[234:4214] Task <099FF89B-0006-48E8-9AC3-47706FB546C3>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a6adc80 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:44.216 -0800: Flight State Change - from level to climbing
2020-02-13 17:54:44.778452-0800 FlightBox PFD[234:4213] Connection 84: received failure notification
2020-02-13 17:54:44.778556-0800 FlightBox PFD[234:4213] Connection 84: failed to connect 1:50, reason -1
2020-02-13 17:54:44.778587-0800 FlightBox PFD[234:4213] Connection 84: encountered error(1:50)
2020-02-13 17:54:44.780287-0800 FlightBox PFD[234:4213] Task <3CFAE3D1-A105-4FD0-80A5-BE6626DC9D05>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:44.780990-0800 FlightBox PFD[234:4216] Task <3CFAE3D1-A105-4FD0-80A5-BE6626DC9D05>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a6546c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:45.011058-0800 FlightBox PFD[234:4214] Connection 85: received failure notification
2020-02-13 17:54:45.011103-0800 FlightBox PFD[234:4214] Connection 85: failed to connect 1:50, reason -1
2020-02-13 17:54:45.011124-0800 FlightBox PFD[234:4214] Connection 85: encountered error(1:50)
2020-02-13 17:54:45.012323-0800 FlightBox PFD[234:4214] Task <4FF9CE9F-B057-42CA-B2A3-FDE637B29AE7>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:45.014273-0800 FlightBox PFD[234:4216] Task <4FF9CE9F-B057-42CA-B2A3-FDE637B29AE7>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a640420 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:45.480250-0800 FlightBox PFD[234:4214] Connection 86: received failure notification
2020-02-13 17:54:45.480291-0800 FlightBox PFD[234:4214] Connection 86: failed to connect 1:50, reason -1
2020-02-13 17:54:45.480356-0800 FlightBox PFD[234:4214] Connection 86: encountered error(1:50)
2020-02-13 17:54:45.482494-0800 FlightBox PFD[234:4214] Task <A9B03845-09B9-4A17-92E5-469444ED1C7F>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:45.487022-0800 FlightBox PFD[234:4214] Task <A9B03845-09B9-4A17-92E5-469444ED1C7F>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a641b60 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:45.997522-0800 FlightBox PFD[234:4216] Connection 87: received failure notification
2020-02-13 17:54:45.997578-0800 FlightBox PFD[234:4216] Connection 87: failed to connect 1:50, reason -1
2020-02-13 17:54:45.997630-0800 FlightBox PFD[234:4216] Connection 87: encountered error(1:50)
2020-02-13 17:54:45.999595-0800 FlightBox PFD[234:4216] Task <D76B0295-F604-40CA-AD54-B9B8A8922E05>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:46.003977-0800 FlightBox PFD[234:4213] Task <D76B0295-F604-40CA-AD54-B9B8A8922E05>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a6686f0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:46.491401-0800 FlightBox PFD[234:4213] Connection 88: received failure notification
2020-02-13 17:54:46.491517-0800 FlightBox PFD[234:4213] Connection 88: failed to connect 1:50, reason -1
2020-02-13 17:54:46.491641-0800 FlightBox PFD[234:4213] Connection 88: encountered error(1:50)
2020-02-13 17:54:46.493961-0800 FlightBox PFD[234:4213] Task <3475DBF7-2683-4B48-A175-9ED2851D9750>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:46.499304-0800 FlightBox PFD[234:4193] Task <3475DBF7-2683-4B48-A175-9ED2851D9750>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a67cb40 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:47.007263-0800 FlightBox PFD[234:4213] Connection 89: received failure notification
2020-02-13 17:54:47.007357-0800 FlightBox PFD[234:4213] Connection 89: failed to connect 1:50, reason -1
2020-02-13 17:54:47.007477-0800 FlightBox PFD[234:4213] Connection 89: encountered error(1:50)
2020-02-13 17:54:47.009234-0800 FlightBox PFD[234:4213] Task <D0AD829B-373C-44DE-861D-236FF71DA502>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:47.015805-0800 FlightBox PFD[234:4214] Task <D0AD829B-373C-44DE-861D-236FF71DA502>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a61d380 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:47.481810-0800 FlightBox PFD[234:3667] Connection 90: received failure notification
2020-02-13 17:54:47.481853-0800 FlightBox PFD[234:3667] Connection 90: failed to connect 1:50, reason -1
2020-02-13 17:54:47.481937-0800 FlightBox PFD[234:3667] Connection 90: encountered error(1:50)
2020-02-13 17:54:47.484105-0800 FlightBox PFD[234:3667] Task <D657D0E2-C6BC-4B89-B701-22C49386EC60>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:47.486120-0800 FlightBox PFD[234:4216] Task <D657D0E2-C6BC-4B89-B701-22C49386EC60>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a618ab0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:48.014486-0800 FlightBox PFD[234:4216] Connection 91: received failure notification
2020-02-13 17:54:48.014534-0800 FlightBox PFD[234:4216] Connection 91: failed to connect 1:50, reason -1
2020-02-13 17:54:48.014569-0800 FlightBox PFD[234:4216] Connection 91: encountered error(1:50)
2020-02-13 17:54:48.016048-0800 FlightBox PFD[234:4216] Task <A062F67F-0354-4B92-93BE-0F2D577CF5FD>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:48.020857-0800 FlightBox PFD[234:4216] Task <A062F67F-0354-4B92-93BE-0F2D577CF5FD>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a615fb0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:48.487206-0800 FlightBox PFD[234:4214] Connection 92: received failure notification
2020-02-13 17:54:48.487330-0800 FlightBox PFD[234:4214] Connection 92: failed to connect 1:50, reason -1
2020-02-13 17:54:48.487360-0800 FlightBox PFD[234:4214] Connection 92: encountered error(1:50)
2020-02-13 17:54:48.489361-0800 FlightBox PFD[234:4214] Task <9BAE6DEA-99F4-48D8-9108-286463536832>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:48.494427-0800 FlightBox PFD[234:4216] Task <9BAE6DEA-99F4-48D8-9108-286463536832>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a6343f0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:49.008483-0800 FlightBox PFD[234:4213] Connection 93: received failure notification
2020-02-13 17:54:49.008579-0800 FlightBox PFD[234:4213] Connection 93: failed to connect 1:50, reason -1
2020-02-13 17:54:49.008620-0800 FlightBox PFD[234:4213] Connection 93: encountered error(1:50)
2020-02-13 17:54:49.010302-0800 FlightBox PFD[234:4213] Task <0AB9EA0A-53C3-4EF2-961E-024277489CE0>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:49.014569-0800 FlightBox PFD[234:4214] Task <0AB9EA0A-53C3-4EF2-961E-024277489CE0>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a62c8a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:49.242076-0800 FlightBox PFD[234:4216] Connection 94: received failure notification
2020-02-13 17:54:49.242125-0800 FlightBox PFD[234:4216] Connection 94: failed to connect 1:50, reason -1
2020-02-13 17:54:49.242200-0800 FlightBox PFD[234:4216] Connection 94: encountered error(1:50)
2020-02-13 17:54:49.244191-0800 FlightBox PFD[234:4216] Task <B9FA3BFA-E38D-4537-863F-0BAC33AD29F6>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:49.250128-0800 FlightBox PFD[234:4216] Task <B9FA3BFA-E38D-4537-863F-0BAC33AD29F6>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a624ab0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:49.634591-0800 FlightBox PFD[234:4214] Connection 95: received failure notification
2020-02-13 17:54:49.634635-0800 FlightBox PFD[234:4214] Connection 95: failed to connect 1:50, reason -1
2020-02-13 17:54:49.634656-0800 FlightBox PFD[234:4214] Connection 95: encountered error(1:50)
2020-02-13 17:54:49.636325-0800 FlightBox PFD[234:4214] Task <98A06A30-546F-4318-95B7-9A1327A61FFA>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:49.640340-0800 FlightBox PFD[234:3667] Task <98A06A30-546F-4318-95B7-9A1327A61FFA>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28a6257a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:50.000659-0800 FlightBox PFD[234:4213] Connection 96: received failure notification
2020-02-13 17:54:50.001119-0800 FlightBox PFD[234:4213] Connection 96: failed to connect 1:50, reason -1
2020-02-13 17:54:50.001143-0800 FlightBox PFD[234:4213] Connection 96: encountered error(1:50)
2020-02-13 17:54:50.003446-0800 FlightBox PFD[234:4213] Task <02F9AE96-2732-45A0-9BC8-515D29498A98>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:50.007528-0800 FlightBox PFD[234:4213] Task <02F9AE96-2732-45A0-9BC8-515D29498A98>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28b9de8b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:50.478319-0800 FlightBox PFD[234:4216] Connection 97: received failure notification
2020-02-13 17:54:50.478366-0800 FlightBox PFD[234:4216] Connection 97: failed to connect 1:50, reason -1
2020-02-13 17:54:50.478625-0800 FlightBox PFD[234:4216] Connection 97: encountered error(1:50)
2020-02-13 17:54:50.480419-0800 FlightBox PFD[234:4216] Task <FF313353-AB31-4CC7-978B-12B036441960>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:50.484692-0800 FlightBox PFD[234:4216] Task <FF313353-AB31-4CC7-978B-12B036441960>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28b9d4690 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:51.014035-0800 FlightBox PFD[234:4213] Connection 98: received failure notification
2020-02-13 17:54:51.014104-0800 FlightBox PFD[234:4213] Connection 98: failed to connect 1:50, reason -1
2020-02-13 17:54:51.014208-0800 FlightBox PFD[234:4213] Connection 98: encountered error(1:50)
2020-02-13 17:54:51.015856-0800 FlightBox PFD[234:4213] Task <5DE70410-F5D2-4B34-BDEB-D63F01730F12>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:51.024020-0800 FlightBox PFD[234:4213] Task <5DE70410-F5D2-4B34-BDEB-D63F01730F12>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28b9f99e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:51.482375-0800 FlightBox PFD[234:4214] Connection 99: received failure notification
2020-02-13 17:54:51.482435-0800 FlightBox PFD[234:4214] Connection 99: failed to connect 1:50, reason -1
2020-02-13 17:54:51.482618-0800 FlightBox PFD[234:4214] Connection 99: encountered error(1:50)
2020-02-13 17:54:51.484756-0800 FlightBox PFD[234:4214] Task <73821420-ECB5-42AF-B60E-17F3C18A14FB>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:51.491369-0800 FlightBox PFD[234:4213] Task <73821420-ECB5-42AF-B60E-17F3C18A14FB>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28b9f2100 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:52.003369-0800 FlightBox PFD[234:4214] Connection 100: received failure notification
2020-02-13 17:54:52.004159-0800 FlightBox PFD[234:4214] Connection 100: failed to connect 1:50, reason -1
2020-02-13 17:54:52.004189-0800 FlightBox PFD[234:4214] Connection 100: encountered error(1:50)
2020-02-13 17:54:52.006163-0800 FlightBox PFD[234:4214] Task <08D64C96-41C8-46D0-A65F-D392042F3F13>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:52.011118-0800 FlightBox PFD[234:4213] Task <08D64C96-41C8-46D0-A65F-D392042F3F13>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28b9e3120 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:52.498402-0800 FlightBox PFD[234:4213] Connection 101: received failure notification
2020-02-13 17:54:52.498449-0800 FlightBox PFD[234:4213] Connection 101: failed to connect 1:50, reason -1
2020-02-13 17:54:52.498774-0800 FlightBox PFD[234:4213] Connection 101: encountered error(1:50)
2020-02-13 17:54:52.501227-0800 FlightBox PFD[234:4213] Task <A66237B1-4459-4326-8A3B-3E3E6FB717FE>.<1> HTTP load failed, 0/0 bytes (error code: -1009 [1:50])
2020-02-13 17:54:52.512244-0800 FlightBox PFD[234:4214] Task <A66237B1-4459-4326-8A3B-3E3E6FB717FE>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSUnderlyingError=0x28b999200 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=The Internet connection appears to be offline.}
2020-02-13 17:54:53.017046-0800 FlightBox PFD[234:4214] Connection 102: received failure notification
2020-02-13 17:54:53.017221-0800 FlightBox PFD[234:4214] Connection 102: failed to connect 1:50, reason -1
2020-02-13 17:54:53.017246-0800 FlightBox PFD[234:4214] Connection 102: encountered error(1:50)
2020-02-13 17:54:53.019401-0800 FlightBox PFD[234:4214] Task <9B1F2FC5-8280-49AF-B02F-D01EFD6DC668>.<1> HTTP load failed, 0/0 bytes (error code: -1018 [1:50])
2020-02-13 17:54:53.021437-0800 FlightBox PFD[234:4214] Task <9B1F2FC5-8280-49AF-B02F-D01EFD6DC668>.<1> finished with error [-1018] Error Domain=NSURLErrorDomain Code=-1018 "International roaming is currently off." UserInfo={NSUnderlyingError=0x28b98db30 {Error Domain=kCFErrorDomainCFNetwork Code=-1018 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=International roaming is currently off.}
2020-02-13 17:54:53.529379-0800 FlightBox PFD[234:3667] Connection 103: received failure notification
2020-02-13 17:54:53.529498-0800 FlightBox PFD[234:3667] Connection 103: failed to connect 1:50, reason -1
2020-02-13 17:54:53.529533-0800 FlightBox PFD[234:3667] Connection 103: encountered error(1:50)
2020-02-13 17:54:53.533963-0800 FlightBox PFD[234:3667] Task <09A95696-EC53-4A3E-B619-09EAD8DCE100>.<1> HTTP load failed, 0/0 bytes (error code: -1018 [1:50])
2020-02-13 17:54:53.534328-0800 FlightBox PFD[234:3667] Task <09A95696-EC53-4A3E-B619-09EAD8DCE100>.<1> finished with error [-1018] Error Domain=NSURLErrorDomain Code=-1018 "International roaming is currently off." UserInfo={NSUnderlyingError=0x28b9b9470 {Error Domain=kCFErrorDomainCFNetwork Code=-1018 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=International roaming is currently off.}
2020-02-13 17:54:54.004372-0800 FlightBox PFD[234:4214] Connection 104: received failure notification
2020-02-13 17:54:54.004424-0800 FlightBox PFD[234:4214] Connection 104: failed to connect 1:50, reason -1
2020-02-13 17:54:54.004450-0800 FlightBox PFD[234:4214] Connection 104: encountered error(1:50)
2020-02-13 17:54:54.006817-0800 FlightBox PFD[234:4214] Task <FAB4600D-F811-4D95-90CE-52A4D2126EE6>.<1> HTTP load failed, 0/0 bytes (error code: -1018 [1:50])
2020-02-13 17:54:54.008152-0800 FlightBox PFD[234:4216] Task <FAB4600D-F811-4D95-90CE-52A4D2126EE6>.<1> finished with error [-1018] Error Domain=NSURLErrorDomain Code=-1018 "International roaming is currently off." UserInfo={NSUnderlyingError=0x28b9b0210 {Error Domain=kCFErrorDomainCFNetwork Code=-1018 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=International roaming is currently off.}
2020-02-13 17:54:54.008 -0800: Active Internet connection: None
2020-02-13 17:54:56.468496-0800 FlightBox PFD[234:4216] Connection 4: encountered error(1:53)
2020-02-13 17:54:56.497140-0800 FlightBox PFD[234:4216] Connection 3: encountered error(1:53)
2020-02-13 17:54:56.527688-0800 FlightBox PFD[234:4216] Connection 31: encountered error(1:53)
2020-02-13 17:55:06.449 -0800: Starting load of new Regional frame - 16:44

Crash: XC_BAD_ACCESS KERN_INVALID_ADDRESS

I haven’t been able to reproduce this crash locally, but we’re seeing crashes reported by Fabric for our users in our first release using the Connectivity library. This represents our biggest crasher right now (about 0.03% of all sessions).

User info:

# OS Version: 12.1.4 (16D57)
# Device: iPhone XS Max
# RAM Free: 14.1%
# Disk Free: 62.8%
#13. Crashed: com.apple.root.background-qos
0  libswiftCore.dylib             0x1068bf578 _swift_release_dealloc + 16
1  Connectivity                   0x1048fd97c $S12ConnectivityAAC24startPathMonitorNotifier33_EF9C079D18F5E8665820BCB81D8CA889LLyyFy7Network6NWPathVcfU_TA + 28
2  Connectivity                   0x1048fd97c $S12ConnectivityAAC24startPathMonitorNotifier33_EF9C079D18F5E8665820BCB81D8CA889LLyyFy7Network6NWPathVcfU_TA + 28
3  libswiftCore.dylib             0x1068bf584 _swift_release_dealloc + 28
4  Connectivity                   0x1048fd8f4 __swift_assign_boxed_opaque_existential_0 + 240
5  Connectivity                   0x1048fd7f4 $SypSgWOf + 120
6  Connectivity                   0x1048f8f08 $S12ConnectivityAAC24startPathMonitorNotifier33_EF9C079D18F5E8665820BCB81D8CA889LLyyFy7Network6NWPathVcfU_ + 132
7  libswiftNetwork.dylib          0x106d1c378 partial apply for closure #1 in NWPathMonitor.init(requiredInterfaceType:) + 13304
8  libswiftNetwork.dylib          0x106d08310 thunk for @escaping @callee_guaranteed (@guaranteed OS_nw_path) -> () + 4413129488
9  libnetwork.dylib               0x1c5726fa8 __nw_path_necp_update_evaluator_block_invoke + 108

A lesser crash that was also introduced in the same release:

Crashed: com.apple.main-thread
0  libswiftCore.dylib             0x105407490 swift_unknownRetain + 24
1  libswiftCore.dylib             0x1053c5bc4 swift_dynamicCastImpl(swift::OpaqueValue*, swift::OpaqueValue*, swift::TargetMetadata<swift::InProcess> const*, swift::TargetMetadata<swift::InProcess> const*, swift::DynamicCastFlags) + 1308
2  libswiftCore.dylib             0x1053c8af0 _dynamicCastFromExistential(swift::OpaqueValue*, swift::OpaqueValue*, swift::TargetExistentialTypeMetadata<swift::InProcess> const*, swift::TargetMetadata<swift::InProcess> const*, swift::DynamicCastFlags) + 316
3  Connectivity                   0x1033da7d8 $S12ConnectivityAAC6statusAA0A6StatusOvg + 192
4  Connectivity                   0x1033dca64 $S12ConnectivityAAC06notifyA9DidChange33_EF9C079D18F5E8665820BCB81D8CA889LLyyF + 84
5  Connectivity                   0x1033dc9dc $S12ConnectivityAAC05checkA010completionyyABcSg_tFyycfU2_ + 280
6  Connectivity                   0x1033dcbb4 $SIeg_IeyB_TR + 36
7  libdispatch.dylib              0x182927b9c _dispatch_call_block_and_release + 32

We’ve silo-ed all of our Connectivity code to a manager class:

class NetworkConnectivityManager: NSObject {
    static let shared = NetworkConnectivityManager()

    var connected = true

    private let connectivity = Connectivity()

    private override init() {
        super.init()

        connectivity.framework = .network
        connectivity.isPollingEnabled = true

        let connectivityChanged: (Connectivity) -> Void = { [weak self] connectivity in
            guard let wself = self else { return }

            wself.connected = connectivity.isConnected

            NotificationCenter.default.post(name: .RRConnectivityDidChange, object: wself)
        }

        connectivity.whenConnected = connectivityChanged
        connectivity.whenDisconnected = connectivityChanged
        connectivity.startNotifier()
    }
}

Any advice would be appreciated 🙏

SPM Support

Did you plan to support Swift Package Manager? Thanks.

Importing using SPM: Reachability missing

I've added the git repo to my project, and when I do:

import Connectivity

I get:

Screen Shot 2021-03-29 at 12 25 32 AM

Looking at the Package.swift and the source code, it looks like Reachability ought to be included.

Thanks!

[Feature Request] Custom per-URL response validation

We have some API hosts that have a general health check that we can use to check connectivity, and then we have other hosts that are setup with a special string just for the captive-portal check. As it stands, the current Connectivity API doesn't allow mixing/matching hosts that can return different response, in a strict way. You can accomplish this to some degree with regexp response validation, but the regexp you write may have to be too permissive to allow the different responses.

Recurring task finished with error [-999]

Have read the known issues?

  • Yes, I have read and am familiar with the list of known issues.

Have tested on a physical device?

  • Yes, I have tested on physical iOS device and the reported issue is still present.

Does code retain the Connectivity object?

  • Yes, my implementation has a strong reference to the Connectivity object so that it is not deallocated during use.

Describe the bug
I have Connectivity set up with isPollingEnabled set to true. Every 10-20 seconds, I see the following error log in the console:

Task <6FE11EC6-9F9A-486D-8F7B-6A11F4DBAB5D>.<2> finished with error [-999] Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLStringKey=https://captive.apple.com/hotspot-detect.html, NSLocalizedDescription=cancelled, NSErrorFailingURLKey=https://captive.apple.com/hotspot-detect.html}

There are no other side-effects (no crashes, etc.)

To Reproduce
I’m using a pretty trivial implementation of Connectivity in my project. My init method:

private override init() {
  debugPrint("\(type(of: self)) initialized...")
    
  super.init()
    
  let connectivityChanged: Connectivity.NetworkConnected = { [weak self] c in
    self?.updateConnectionStatus(c.status)
  }
    
  networkCheck.isPollingEnabled = true
  networkCheck.framework = .network
    
  networkCheck.whenConnected = connectivityChanged
  networkCheck.whenDisconnected = connectivityChanged
    
  networkCheck.startNotifier()
}

Some notes:

  1. networkCheck is my strongly held reference to Connectivity
  2. updateConnectionStatus merely shows/hides a notice when connectivity on the end device is bad

Expected behavior
I’d expect the error log every once in a while to reflect intermittent connectivity issues. But seeing it reproduce on an interval feels like something’s amiss.

Screenshots
A symbolic breakpoint on write traces its way to Connectivity:

image

Desktop (please complete the following information):

  • OS: macOS Catalina 10.15.6
  • Xcode: 11.6

Smartphone (please complete the following information):

  • Device: iPhone 11
  • OS: iOS 13.5.1

Additional context
I’m using Connectivity 3.3.4 via SPM.

Oh, and thanks for an excellent framework. This is exactly what I needed to replace Reachability and its various wrapper implementations because it handles polling and captive network issues. 💯 ❤️ 👏 🙏

Disable logging

Is your feature request related to a problem? Please describe.
I am looking for a way to disable the logs in a purely swift project.

2021-03-24 15:41:33.148999-0400 CactusTimeClock-dev[4911:1890569] Task <CC5F6BB2-0BA9-44AB-A0C8-2771B8FDAE48>.<6> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={_kCFStreamErrorCodeKey=50, NSUnderlyingError=0x281d0d170 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <CC5F6BB2-0BA9-44AB-A0C8-2771B8FDAE48>.<6>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <CC5F6BB2-0BA9-44AB-A0C8-2771B8FDAE48>.<6>"
), NSLocalizedDescription=The Internet connection appears to be offline., NSErrorFailingURLStringKey=https://captive.apple.com/hotspot-detect.html, NSErrorFailingURLKey=https://captive.apple.com/hotspot-detect.html, _kCFStreamErrorDomainKey=1}
2021-03-24 15:41:33.151617-0400 CactusTimeClock-dev[4911:1890569] Task <F5600118-909C-4508-ABD9-CB633C527083>.<5> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={_kCFStreamErrorCodeKey=50, NSUnderlyingError=0x281d0db90 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <F5600118-909C-4508-ABD9-CB633C527083>.<5>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <F5600118-909C-4508-ABD9-CB633C527083>.<5>"
), NSLocalizedDescription=The Internet connection appears to be offline., NSErrorFailingURLStringKey=https://www.apple.com/library/test/success.html, NSErrorFailingURLKey=https://www.apple.com/library/test/success.html, _kCFStreamErrorDomainKey=1}

Describe the solution you'd like
A clear and concise description of what you want to happen.

something.logger = .disabled
something.enableLogging = false

or something to that effect

Describe alternatives you've considered
None, i am trying to avoid the headache of mixing swift and obj-c and bridging headers and all that good stuff

Additional context
Add any other context or screenshots about the feature request here.

Crash in Connectivity.startPathMonitorNotifier()

My app is crashing and later in Firebase Crashlytics I found out this:

	Connectivity  0x1007a3f6c outlined assign with take of Any? (<compiler-generated>)
	Connectivity  0x1007a1984 closure #1 in Connectivity.startPathMonitorNotifier() + 257 (Connectivity.swift:257)

So it seems that there is an issue with setting path:
self?.path = path

podspec is missing 'Network' dependency

Connectivity has a dependency on the Network framework; apps built with Connectivity – without being linked against Network themselves – will crash when Connectivity calls one of Network's methods.

By adding the dependency to the podspec, CocoaPods should be able to infer this themselves.

spec.framework      = 'Network'

This avoids having to link against Network manually.

Cycle dependency during build

On a Cocoapods-based project, from the moment I added pod Connectivity to the list of pods, the build broke because XCode 10 detected a cycle dependency like myApp -> Pods -> Connectivity -> Pods.
Closing XCode and deleting the derived data folder fixes the issues only temporarily. In fact, after some builds, the cycle dependency reappears.

The last dependency Connectivity -> Pods is really weird but I might have a clue: Reachability.h, the only real dependency of Connectivity.
The list of my Pods contains Google Firebase, and that by coincidence, also depends on Reachability.

I think XCode sees Connectivity's dependency on the Reachability.h file that Google Firebase pod imports and not on Connectivity's version of Reachability.h.

Is there a way to enforce the use of the Reachability.h file shipped with Connectivity when building the Connectivity framework?

App open and Airplane Mode on from Control Center

Hello,

i hope you are doing well.

As i have implemented "COnnectivity" framework for my app and we have functionality that when we reachable to internet then uploading images to AWS S3.

But we failed in case of cellular device and doing airplane mode on/off or data mode enable/disable.

Thanks in advance.

Ensure the Connectivity framework handles its dependency to UIKit implicitly / can work without UIKit too

Hello @rwbutler :)

We recently updated to Connectivity 4.1.0 and we noticed some compilation issues with some classes and we noticed it was because UIApplication was not defined in those places. Maybe this added dependency to UIApplication (for the new check on app did become active I would think) can be hidden behind a #if canImport(UIKit) directive?

Is your feature request related to a problem? Please describe.
The framework should check if UIKit.UIApplication or just UIKit can be imported (is available) as a condition to declare the new method that depend on UIApplication callbacks like it has been added for v4.1.0. Client applications on macOS or even iOS that were using Connectivity without also importing UIKit (maybe just Foundation) would stop to compile if updated to Connectivity 4.1.0.

Describe the solution you'd like
Use #if canImport(UIKit) to wrap the declaration on all UIKit.UIApplication code that depends on it.

Kind Regards,

Goffredo

Cannot compile after updating from 3.2.0 to 3.3.2

Running into an issue where the the file directory is messed up now and cannot find the correct file paths for the following:

error: no such file or directory: /Users/travis/build/gogriddy/app_ios/Pods/Connectivity/Connectivity/Classes/Response Validation/Validators/ConnectivityResponseContainsStringValidator.swift [02:13:13]: ▸ ❌ error: no such file or directory: /Users/travis/build/gogriddy/app_ios/Pods/Connectivity/Connectivity/Classes/Response Validation/Validators/ConnectivityResponseRegExValidator.swift [02:13:13]: ▸ ❌ error: no such file or directory: /Users/travis/build/gogriddy/app_ios/Pods/Connectivity/Connectivity/Classes/Response Validation/Validators/ConnectivityResponseStringEqualityValidator.swift [02:13:13]: ▸ ❌ error: no such file or directory: /Users/travis/build/gogriddy/app_ios/Pods/Connectivity/Connectivity/Classes/Response Validation/Validators/ConnectivityResponseStringValidator.swift [02:13:13]: ▸ ❌ error: no such file or directory: /Users/travis/build/gogriddy/app_ios/Pods/Connectivity/Connectivity/Classes/Response Validation/ConnectivityResponseValidationMode.swift [02:13:13]: ▸ ❌ error: no such file or directory: /Users/travis/build/gogriddy/app_ios/Pods/Connectivity/Connectivity/Classes/Response Validation/ConnectivityResponseValidator.swift [02:13:13]: ▸ ❌ error: no such file or directory: /Users/travis/build/gogriddy/app_ios/Pods/Connectivity/Connectivity/Classes/Response Validation/Factory/Factory.swift [02:13:13]: ▸ ❌ error: no such file or directory: /Users/travis/build/gogriddy/app_ios/Pods/Connectivity/Connectivity/Classes/Response Validation/Factory/ResponseValidatorFactory.swift

3.2.0 worked fine. The changes you guys made to renaming or deleting files caused these issues.

Using Network framework in an Objective-C project

I cannot set framework to Network framework (as opposed to System Configuration) when this is used in Objective-C with Carthage. Is there anything I can do to be able to set the framework to Network?

iOS 8.3 warning when using Connectivity with the SPM in Xcode 12.

When integrating Connectivity with the Swift Package Manager in Xcode 12 (beta 4) than I get the following warning:

The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.3, but the range of supported deployment target versions is 9.0 to 14.0.99.

Apparently Xcode 12 dropped support for iOS 8 and this is the issue. I'm not sure if dropping iOS 8.3 support for Connectivity is an option, but I wanted to flag this issue.

`successThrehold` is not actually configurable

I may be missing something here, but it seems successThrehold is supposed to be configurable, but I can’t figure out a way to do so, due to access control issues.

The initializer for ConnectivityPercentage and the value property are both marked as internal

Screen Shot 2019-03-25 at 3 54 11 PM

Screen Shot 2019-03-25 at 3 53 16 PM

Objective C

Is it possible to use this library in Objective C project?
If yes some documentation would be great.

Polling is not working on iOS < 10.0

Hello,
one thing in following code bothers me

func setPollingEnabled(_ enabled: Bool) {
if #available(iOS 10.0, *) {
timer?.invalidate()
guard enabled else { return }
timer = Timer.scheduledTimer(withTimeInterval: pollingInterval, repeats: true, block: { [weak self] _ in
self?.checkConnectivity()
})
}
}

Library deployment target is iOS 8+ but polling seems to be working from iOS 10.
Is there a reason why the library cannot use timer with selector instead of block which is available only from iOS 10?
This feature could be available also on older iOS versions than 10.

Or if not supporting polling for iOS version less than 10 is intentional (but why?) maybe isPollingEnabled property should be at least marked with @available(iOS 10.0, *) ?

tvOS Support?

Hey,

Thanks for the awesome looking library! (It's well documented, too.)

When I run carthage update "Connectivity" --no-use-binaries --platform tvOS, I get the following error:

*** Skipped building Connectivity due to the error:
Dependency "Connectivity" has no shared framework schemes for any of the platforms: tvOS

I followed the Readme and built for iOS, and then tried to add the iOS framework to my tvOS app just in case this was one of those fancy single-binary-multi-platform frameworks. It failed, as expected, with this error:

Module file was created for incompatible target x86_64-apple-ios8.0-simulator: /Users/...redacted.../Carthage/Build/iOS/Connectivity.framework/Modules/Connectivity.swiftmodule/x86_64.swiftmodule

Thinking about it, I can understand why a tvOS device has a different set of reachability requirements, but the underlying ability to detect network connections is useful. In a cross-platform module that needs to check for internet access, having cross platform support would be useful.

Is this lack of support intentional? Are you open to a PR adding support for tvOS?

[Question] Usage in combination with NEHotspotConfiguration

Hi @rwbutler .
Can the Connectivity be used in combination with NEHotspotConfigurationManager? We are thinking of an iOS app that programatically connects to a wifi hotspot (by using NEHotspotConfigurationManager) that doesn't have internet behind it. And I wonder if Connectivity can be used next to it to prevent the hotspot's captive page from being shown when connected.

Carthage build fails because of "no shared framework schemes"

**Have read the known issues? **
[X] Yes, I have read and am familiar with the list of known issues.

**Have tested on a physical device? **
[N/A - can't build ] Yes, I have tested on physical iOS device and the reported issue is still present.

**Does code retain the Connectivity object? **
[ N/A - can't build] Yes, my implementation has a strong reference to the Connectivity object so that it is not deallocated during use.

Describe the bug
Carthage fails to build the code. Error:
*** Skipped building Connectivity due to the error:
Dependency "Connectivity" has no shared framework schemes for any of the platforms: iOS

To Reproduce
Steps to reproduce the behavior:
Create a new Xcode project (Xcode 11.4.1)
Add Cartfile entry:
github "rwbutler/Connectivity"
Run command: carthage update --platform iOS
Error result as above.
Carthage version is 0.3.4

I have tried referencing Connectivity v4 with same result

Expected behavior
Carthage should build the framework.

Screenshots
N/A

Desktop (please complete the following information):

  • OS: Catalina
  • Browser N/A
  • Version N/A

Smartphone (please complete the following information):
N/A

Additional context
N/A

README/Documentation Appears Out of Date

It appears that connectedViaWWAN and connectedViaWWANWithoutInternet are actually named connectedViaCellular and connectedViaCellularWithoutInternet. I was unable to get such switch statements over connection status working without making this change within my code.

Xcode / M1: could not find module 'Connectivity' for target 'x86_64-apple-ios-simulator'; found: arm64, arm64-apple-ios-simulator

**Have read the known issues? **
[x] Yes, I have read and am familiar with the list of known issues.

**Have tested on a physical device? **
[x] Yes, I have tested on physical iOS device and the reported issue is still present.

**Does code retain the Connectivity object? **
[x] Yes, my implementation has a strong reference to the Connectivity object so that it is not deallocated during use.

Describe the bug
Application cannot be compiled and run on iOS Simulator from an M1 machine (Xcode 12.5.1 and 13.0), Xcode fails when a swift file is trying to import the library with the following error:

could not find module 'Connectivity' for target 'x86_64-apple-ios-simulator'; found: arm64, arm64-apple-ios-simulator, at: /Users/goff.marocchi/Library/Developer/Xcode/DerivedData/-bzlsvkhgxozrnyetthhbbuurxmwt/Build/Products/Debug-iphonesimulator/Connectivity.swiftmodule

To Reproduce
Steps to reproduce the behavior:

  1. Open project with Connectivity on an M1 based Mac
  2. Build for iOS Simulator
  3. See error

Expected behavior
App to compile

Screenshots
N/A, but I can take screenshots if it helps

Desktop (please complete the following information):

  • OS: macOS 12.0 (beta 6)

Smartphone (please complete the following information):

  • Device: iOS Simulator
  • OS: iOS 15

Additional context
N/A

Using app extension only API

Using the library not only in the "main" app but also in a Share extension, I am getting a warning

linking against a dylib which is not safe for use in application extensions: Carthage/Build/iOS/Connectivity.framework/Connectivity

The code probably only uses APIs that are "extension-safe", so it would be nice to check the box in the project settings to make the warning disappear.

v3.1.1/cocoapods prevents app to run on iOS 12

Hi,
When I use the latest version (3.1.1) with Cocoapods, the application crash at startup on iOS 12:
dyld: Library not loaded: /System/Library/Frameworks/Network.framework/Network
Referenced from: /private/var/containers/Bundle/Application/EE5181E3-B675-4D6E-AD0D-6BFF8453272C/MAIF.app/Frameworks/Connectivity.framework/Connectivity
Reason: image not found

All is working fine if I set the version to 3.1.0 in the pod file:
pod 'Connectivity', '3.1.0'

Thanks in advance,
Nicolas.

Adding checks for Ethernet connection

Is your feature request related to a problem? Please describe.
Currently the repo supports having connections through WiFi and through Cellular, but you can also connect iOS devices to Ethernet by using a USB cable to connect the iOS Device to a macOS device, and enabling Internet Sharing. It would be helpful to add this connection type to the repository.

Describe the solution you'd like
Being able to monitor Ethernet connections along with the other connection types.

Allow URLRequest & URL

Is your feature request related to a problem? Please describe.
Currently, we have no way to perform health checks besides using a standard GET request or fetching a file. This is fine for most cases. In my case, we're using GraphQL, forcing us to use a POST to perform a health check query. If we try to fetch it using a GET, we'll report errors on the server side which we're trying to avoid.

Also, there's no easy way to add headers which may be required if the endpoint or file has some validation or protection.

The issue is also opened on the Hyperconnectivity repo - rwbutler/Hyperconnectivity#10 - it seems the repo is not actively maintained.

Describe the solution you'd like
As commented in the Hyperconnectivity repo (with an MR opened), we could use either an URL or URLRequest. This way, we don't need to make any drastic changes and still open the door to many more useful features and customisation when pinging or polling some servers to check internet connectivity.

Describe alternatives you've considered
We could create different functions or use an enum with some extensions to simplify the implementation. The last option will introduce breaking changes when updating; however, they are very isolated.

Additional context
N/A

Building Connectivity with Carthage fails

Describe the bug
Building Connectivity with Carthage fails

To Reproduce
Steps to reproduce the behavior:

  1. Create an empty project with following Cartfile requirement:
    github "rwbutler/connectivity" == 5.3.0
  2. Build and run in device

Expected behavior
Build without error

Actual behavior
Fails with error

Screenshots
CleanShot 2022-07-17 at 23 52 58@2x

Environment
Xcode 13.4.1
Swift version 5.6.1
Carthage 0.38.0

https://captive.apple.com/ is not a reliable connectivity check URL

Is your feature request related to a problem? Please describe.
Many countries around the world (Brazil, United Arab Emirates, China, and more) are blocking the default https://captive.apple.com/ connectivity URL for some reason, and since the default success threshold is set at 75%, the app would report no internet connection every time in one of those countries.

Describe the solution you'd like
There are a couple of possible solutions:

  1. Lowering the default connectivity threshold to 50%

  2. Adding a different HTTPS URL for checking the internet connection (On this one I think it can be hard to find an URL that's ok for all the countries)

  3. Strictly enforcing setting a custom URL for developers.

Thanks for the attention and for your hard work on this library. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.