From e3a642d7ae68be86b8456339334791f870a0d79d Mon Sep 17 00:00:00 2001 From: Varun Santhanam Date: Sun, 25 Mar 2018 16:07:31 -0700 Subject: [PATCH 1/6] started address util --- ExumeExample/AppDelegate.h | 16 ++ ExumeExample/AppDelegate.m | 55 ++++ .../AppIcon.appiconset/Contents.json | 98 +++++++ .../Base.lproj/LaunchScreen.storyboard | 25 ++ ExumeExample/Base.lproj/Main.storyboard | 24 ++ ExumeExample/Info.plist | 45 ++++ ExumeExample/ViewController.h | 14 + ExumeExample/ViewController.m | 28 ++ ExumeExample/main.m | 15 ++ Nexum.xcodeproj/project.pbxproj | 244 ++++++++++++++++++ Nexum/NXAddressInfo.h | 16 ++ Nexum/NXAddressInfo.m | 69 +++++ Nexum/Nexum.h | 1 + Release/Nexum.framework/Nexum | Bin 133856 -> 168032 bytes .../Versions/A/Headers/Nexum.h | 1 + 15 files changed, 651 insertions(+) create mode 100644 ExumeExample/AppDelegate.h create mode 100644 ExumeExample/AppDelegate.m create mode 100644 ExumeExample/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ExumeExample/Base.lproj/LaunchScreen.storyboard create mode 100644 ExumeExample/Base.lproj/Main.storyboard create mode 100644 ExumeExample/Info.plist create mode 100644 ExumeExample/ViewController.h create mode 100644 ExumeExample/ViewController.m create mode 100644 ExumeExample/main.m create mode 100644 Nexum/NXAddressInfo.h create mode 100644 Nexum/NXAddressInfo.m diff --git a/ExumeExample/AppDelegate.h b/ExumeExample/AppDelegate.h new file mode 100644 index 0000000..a5d5bb6 --- /dev/null +++ b/ExumeExample/AppDelegate.h @@ -0,0 +1,16 @@ +// +// AppDelegate.h +// ExumeExample +// +// Created by Varun Santhanam on 3/25/18. +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + + +@end + diff --git a/ExumeExample/AppDelegate.m b/ExumeExample/AppDelegate.m new file mode 100644 index 0000000..ec66a9c --- /dev/null +++ b/ExumeExample/AppDelegate.m @@ -0,0 +1,55 @@ +// +// AppDelegate.m +// ExumeExample +// +// Created by Varun Santhanam on 3/25/18. +// + +#import "AppDelegate.h" +#import "NXAddressInfo.h" + +@interface AppDelegate () + +@end + +@implementation AppDelegate + + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + // Override point for customization after application launch. + + [[NXAddressInfo sharedAddressInfo] test]; + NSLog(@"sniq"); + + return YES; +} + + +- (void)applicationWillResignActive:(UIApplication *)application { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. +} + + +- (void)applicationDidEnterBackground:(UIApplication *)application { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + + +- (void)applicationWillEnterForeground:(UIApplication *)application { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. +} + + +- (void)applicationDidBecomeActive:(UIApplication *)application { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + + +- (void)applicationWillTerminate:(UIApplication *)application { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + + +@end diff --git a/ExumeExample/Assets.xcassets/AppIcon.appiconset/Contents.json b/ExumeExample/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d8db8d6 --- /dev/null +++ b/ExumeExample/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ExumeExample/Base.lproj/LaunchScreen.storyboard b/ExumeExample/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f83f6fd --- /dev/null +++ b/ExumeExample/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ExumeExample/Base.lproj/Main.storyboard b/ExumeExample/Base.lproj/Main.storyboard new file mode 100644 index 0000000..d7c78a1 --- /dev/null +++ b/ExumeExample/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ExumeExample/Info.plist b/ExumeExample/Info.plist new file mode 100644 index 0000000..16be3b6 --- /dev/null +++ b/ExumeExample/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/ExumeExample/ViewController.h b/ExumeExample/ViewController.h new file mode 100644 index 0000000..97b42a9 --- /dev/null +++ b/ExumeExample/ViewController.h @@ -0,0 +1,14 @@ +// +// ViewController.h +// ExumeExample +// +// Created by Varun Santhanam on 3/25/18. +// + +#import + +@interface ViewController : UIViewController + + +@end + diff --git a/ExumeExample/ViewController.m b/ExumeExample/ViewController.m new file mode 100644 index 0000000..ae08df9 --- /dev/null +++ b/ExumeExample/ViewController.m @@ -0,0 +1,28 @@ +// +// ViewController.m +// ExumeExample +// +// Created by Varun Santhanam on 3/25/18. +// + +#import "ViewController.h" + +@interface ViewController () + +@end + +@implementation ViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. +} + + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + + +@end diff --git a/ExumeExample/main.m b/ExumeExample/main.m new file mode 100644 index 0000000..84593ad --- /dev/null +++ b/ExumeExample/main.m @@ -0,0 +1,15 @@ +// +// main.m +// ExumeExample +// +// Created by Varun Santhanam on 3/25/18. +// + +#import +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Nexum.xcodeproj/project.pbxproj b/Nexum.xcodeproj/project.pbxproj index 733640e..e7eaa8f 100644 --- a/Nexum.xcodeproj/project.pbxproj +++ b/Nexum.xcodeproj/project.pbxproj @@ -38,6 +38,15 @@ 072FCAE92061F7EC007F9030 /* NXNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = 072FCAE52061EF0B007F9030 /* NXNetwork.h */; settings = {ATTRIBUTES = (Public, ); }; }; 072FCAFA20620978007F9030 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 072FCAF920620978007F9030 /* CoreFoundation.framework */; }; 072FCAFC2062097F007F9030 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 072FCAFB2062097F007F9030 /* SystemConfiguration.framework */; }; + 07FFF01A20685C4000507AE3 /* NXAddressInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 07FFF01820685C4000507AE3 /* NXAddressInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 07FFF01B20685C4000507AE3 /* NXAddressInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 07FFF01920685C4000507AE3 /* NXAddressInfo.m */; }; + 07FFF02420685F1F00507AE3 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 07FFF02320685F1F00507AE3 /* AppDelegate.m */; }; + 07FFF02720685F1F00507AE3 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 07FFF02620685F1F00507AE3 /* ViewController.m */; }; + 07FFF02A20685F1F00507AE3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 07FFF02820685F1F00507AE3 /* Main.storyboard */; }; + 07FFF02C20685F1F00507AE3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 07FFF02B20685F1F00507AE3 /* Assets.xcassets */; }; + 07FFF02F20685F1F00507AE3 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 07FFF02D20685F1F00507AE3 /* LaunchScreen.storyboard */; }; + 07FFF03220685F1F00507AE3 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 07FFF03120685F1F00507AE3 /* main.m */; }; + 07FFF03620685F2C00507AE3 /* NXAddressInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 07FFF01920685C4000507AE3 /* NXAddressInfo.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -75,6 +84,18 @@ 076D7F7A2063F319004AC894 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 076D7F832063FA28004AC894 /* Designing For Reachability.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Designing For Reachability.md"; sourceTree = ""; }; 076D7F842063FADE004AC894 /* Project Setup.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Project Setup.md"; sourceTree = ""; }; + 07FFF01820685C4000507AE3 /* NXAddressInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NXAddressInfo.h; sourceTree = ""; }; + 07FFF01920685C4000507AE3 /* NXAddressInfo.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NXAddressInfo.m; sourceTree = ""; }; + 07FFF02020685F1F00507AE3 /* ExumeExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ExumeExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 07FFF02220685F1F00507AE3 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 07FFF02320685F1F00507AE3 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 07FFF02520685F1F00507AE3 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + 07FFF02620685F1F00507AE3 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + 07FFF02920685F1F00507AE3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 07FFF02B20685F1F00507AE3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 07FFF02E20685F1F00507AE3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 07FFF03020685F1F00507AE3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 07FFF03120685F1F00507AE3 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -87,6 +108,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 07FFF01D20685F1F00507AE3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -96,6 +124,7 @@ 076D7F7A2063F319004AC894 /* README.md */, 076D7F7820634005004AC894 /* Guides */, 072FCADD2061EEF1007F9030 /* Nexum */, + 07FFF02120685F1F00507AE3 /* ExumeExample */, 072FCADC2061EEF1007F9030 /* Products */, 072FCAF820620978007F9030 /* Frameworks */, ); @@ -105,6 +134,7 @@ isa = PBXGroup; children = ( 072FCADB2061EEF1007F9030 /* libNexum.a */, + 07FFF02020685F1F00507AE3 /* ExumeExample.app */, ); name = Products; sourceTree = ""; @@ -116,6 +146,8 @@ 072FCADE2061EEF1007F9030 /* Nexum.h */, 072FCAE52061EF0B007F9030 /* NXNetwork.h */, 072FCAE62061EF0B007F9030 /* NXNetwork.m */, + 07FFF01820685C4000507AE3 /* NXAddressInfo.h */, + 07FFF01920685C4000507AE3 /* NXAddressInfo.m */, ); path = Nexum; sourceTree = ""; @@ -139,6 +171,22 @@ path = Guides; sourceTree = ""; }; + 07FFF02120685F1F00507AE3 /* ExumeExample */ = { + isa = PBXGroup; + children = ( + 07FFF02220685F1F00507AE3 /* AppDelegate.h */, + 07FFF02320685F1F00507AE3 /* AppDelegate.m */, + 07FFF02520685F1F00507AE3 /* ViewController.h */, + 07FFF02620685F1F00507AE3 /* ViewController.m */, + 07FFF02820685F1F00507AE3 /* Main.storyboard */, + 07FFF02B20685F1F00507AE3 /* Assets.xcassets */, + 07FFF02D20685F1F00507AE3 /* LaunchScreen.storyboard */, + 07FFF03020685F1F00507AE3 /* Info.plist */, + 07FFF03120685F1F00507AE3 /* main.m */, + ); + path = ExumeExample; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -147,6 +195,7 @@ buildActionMask = 2147483647; files = ( 072FCAE92061F7EC007F9030 /* NXNetwork.h in Headers */, + 07FFF01A20685C4000507AE3 /* NXAddressInfo.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -172,6 +221,23 @@ productReference = 072FCADB2061EEF1007F9030 /* libNexum.a */; productType = "com.apple.product-type.library.static"; }; + 07FFF01F20685F1F00507AE3 /* ExumeExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = 07FFF03320685F1F00507AE3 /* Build configuration list for PBXNativeTarget "ExumeExample" */; + buildPhases = ( + 07FFF01C20685F1F00507AE3 /* Sources */, + 07FFF01D20685F1F00507AE3 /* Frameworks */, + 07FFF01E20685F1F00507AE3 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ExumeExample; + productName = ExumeExample; + productReference = 07FFF02020685F1F00507AE3 /* ExumeExample.app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -192,6 +258,10 @@ CreatedOnToolsVersion = 9.2; ProvisioningStyle = Automatic; }; + 07FFF01F20685F1F00507AE3 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; }; }; buildConfigurationList = 072FCAD42061EEE5007F9030 /* Build configuration list for PBXProject "Nexum" */; @@ -210,10 +280,24 @@ 072FCADA2061EEF1007F9030 /* Nexum */, 072FCAEC2061F996007F9030 /* Framework */, 072FCAF32061FD95007F9030 /* Documentation */, + 07FFF01F20685F1F00507AE3 /* ExumeExample */, ); }; /* End PBXProject section */ +/* Begin PBXResourcesBuildPhase section */ + 07FFF01E20685F1F00507AE3 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 07FFF02F20685F1F00507AE3 /* LaunchScreen.storyboard in Resources */, + 07FFF02C20685F1F00507AE3 /* Assets.xcassets in Resources */, + 07FFF02A20685F1F00507AE3 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + /* Begin PBXShellScriptBuildPhase section */ 072FCAEB2061F893007F9030 /* Build Framework Bundle */ = { isa = PBXShellScriptBuildPhase; @@ -264,10 +348,22 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 07FFF01B20685C4000507AE3 /* NXAddressInfo.m in Sources */, 072FCAE72061EF0B007F9030 /* NXNetwork.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; + 07FFF01C20685F1F00507AE3 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 07FFF02720685F1F00507AE3 /* ViewController.m in Sources */, + 07FFF03220685F1F00507AE3 /* main.m in Sources */, + 07FFF03620685F2C00507AE3 /* NXAddressInfo.m in Sources */, + 07FFF02420685F1F00507AE3 /* AppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -278,6 +374,25 @@ }; /* End PBXTargetDependency section */ +/* Begin PBXVariantGroup section */ + 07FFF02820685F1F00507AE3 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 07FFF02920685F1F00507AE3 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 07FFF02D20685F1F00507AE3 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 07FFF02E20685F1F00507AE3 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ 072FCAD52061EEE5007F9030 /* Debug */ = { isa = XCBuildConfiguration; @@ -457,6 +572,126 @@ }; name = Release; }; + 07FFF03420685F1F00507AE3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = Y88YPD4RJA; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ExumeExample/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.varunsanthanam.ExumeExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 07FFF03520685F1F00507AE3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = Y88YPD4RJA; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ExumeExample/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = com.varunsanthanam.ExumeExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -496,6 +731,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 07FFF03320685F1F00507AE3 /* Build configuration list for PBXNativeTarget "ExumeExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 07FFF03420685F1F00507AE3 /* Debug */, + 07FFF03520685F1F00507AE3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 072FCAD12061EEE5007F9030 /* Project object */; diff --git a/Nexum/NXAddressInfo.h b/Nexum/NXAddressInfo.h new file mode 100644 index 0000000..c3131e2 --- /dev/null +++ b/Nexum/NXAddressInfo.h @@ -0,0 +1,16 @@ +// +// NXAddressInfo.h +// Nexum +// +// Created by Varun Santhanam on 3/25/18. +// + +@import Foundation; + +@interface NXAddressInfo : NSObject + ++ (nullable instancetype)sharedAddressInfo; + +- (void)test; + +@end diff --git a/Nexum/NXAddressInfo.m b/Nexum/NXAddressInfo.m new file mode 100644 index 0000000..fb82e8e --- /dev/null +++ b/Nexum/NXAddressInfo.m @@ -0,0 +1,69 @@ +// +// NXAddressInfo.m +// Nexum +// +// Created by Varun Santhanam on 3/25/18. +// + +@import Darwin.POSIX.ifaddrs; +@import Darwin.POSIX.arpa.inet; + +#import "NXAddressInfo.h" + +@implementation NXAddressInfo + ++ (instancetype)sharedAddressInfo { + + static NXAddressInfo *sharedAddressInfo; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + + sharedAddressInfo = [[self alloc] init]; + + }); + + return sharedAddressInfo; + +} + +NSString * address_for_interface(NSString * interface) { + + struct ifaddrs *ifa, *ifa_tmp; + char addr[50]; + + if (getifaddrs(&ifa) == -1) { + + perror("getifaddrs failed"); + + } + + ifa_tmp = ifa; + while (ifa_tmp) { + + if ((ifa_tmp->ifa_addr) && ((ifa_tmp->ifa_addr->sa_family == AF_INET) || + (ifa_tmp->ifa_addr->sa_family == AF_INET6))) { + if (ifa_tmp->ifa_addr->sa_family == AF_INET) { + + struct sockaddr_in *in = (struct sockaddr_in*) ifa_tmp->ifa_addr; + inet_ntop(AF_INET, &in->sin_addr, addr, sizeof(addr)); + + } else { + + struct sockaddr_in6 *in6 = (struct sockaddr_in6*) ifa_tmp->ifa_addr; + inet_ntop(AF_INET6, &in6->sin6_addr, addr, sizeof(addr)); + } + printf("name = %s\n", ifa_tmp->ifa_name); + printf("addr = %s\n", addr); + } + ifa_tmp = ifa_tmp->ifa_next; + } + + return @""; + +} + +- (void)test { + +} + +@end diff --git a/Nexum/Nexum.h b/Nexum/Nexum.h index ecdea4a..bb89d66 100644 --- a/Nexum/Nexum.h +++ b/Nexum/Nexum.h @@ -6,3 +6,4 @@ // #import +#import diff --git a/Release/Nexum.framework/Nexum b/Release/Nexum.framework/Nexum index f92b9ac21b4802be7654899e4c1dfa8eb11f9c8a..1154fdf1373858be0736de11d2243462f7b71ecf 100644 GIT binary patch delta 20232 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 R!S$_g5CzqCU{D>Y2LMe8eu4l1 diff --git a/Release/Nexum.framework/Versions/A/Headers/Nexum.h b/Release/Nexum.framework/Versions/A/Headers/Nexum.h index ecdea4a..bb89d66 100644 --- a/Release/Nexum.framework/Versions/A/Headers/Nexum.h +++ b/Release/Nexum.framework/Versions/A/Headers/Nexum.h @@ -6,3 +6,4 @@ // #import +#import From fc31786c834322b2b74fe4eee2088a78ceca8cb5 Mon Sep 17 00:00:00 2001 From: Varun Santhanam Date: Sun, 25 Mar 2018 16:58:23 -0700 Subject: [PATCH 2/6] more ip address stuff --- Documentation/Classes.html | 37 ++- Documentation/Classes/NXAddressInfo.html | 217 ++++++++++++++++ Documentation/Classes/NXNetwork.html | 5 +- Documentation/Constants.html | 5 +- Documentation/Enums.html | 5 +- .../Enums/NXNetworkReachabilityStatus.html | 5 +- Documentation/Guides.html | 5 +- Documentation/Protocols.html | 5 +- .../Protocols/NXNetworkDelegate.html | 5 +- Documentation/Structs.html | 5 +- Documentation/Type Definitions.html | 5 +- Documentation/badge.svg | 4 +- Documentation/designing-for-reachability.html | 5 +- .../Contents/Resources/Documents/Classes.html | 37 ++- .../Documents/Classes/NXAddressInfo.html | 217 ++++++++++++++++ .../Documents/Classes/NXNetwork.html | 5 +- .../Resources/Documents/Constants.html | 5 +- .../Contents/Resources/Documents/Enums.html | 5 +- .../Enums/NXNetworkReachabilityStatus.html | 5 +- .../Contents/Resources/Documents/Guides.html | 5 +- .../Resources/Documents/Protocols.html | 5 +- .../Protocols/NXNetworkDelegate.html | 5 +- .../Contents/Resources/Documents/Structs.html | 5 +- .../Resources/Documents/Type Definitions.html | 5 +- .../Documents/designing-for-reachability.html | 5 +- .../example---basic-reachability.html | 5 +- .../Contents/Resources/Documents/index.html | 5 +- .../Resources/Documents/project-setup.html | 5 +- .../Contents/Resources/docSet.dsidx | Bin 12288 -> 12288 bytes Documentation/docsets/Nexum.tgz | Bin 56251 -> 57332 bytes .../example---basic-reachability.html | 5 +- Documentation/index.html | 5 +- Documentation/project-setup.html | 5 +- ExumeExample/AppDelegate.h | 16 -- ExumeExample/AppDelegate.m | 55 ---- .../AppIcon.appiconset/Contents.json | 98 -------- .../Base.lproj/LaunchScreen.storyboard | 25 -- ExumeExample/Base.lproj/Main.storyboard | 24 -- ExumeExample/Info.plist | 45 ---- ExumeExample/ViewController.h | 14 -- ExumeExample/ViewController.m | 28 --- ExumeExample/main.m | 15 -- Nexum.xcodeproj/project.pbxproj | 236 ------------------ Nexum/NXAddressInfo.h | 20 +- Nexum/NXAddressInfo.m | 102 ++++++-- Nexum/Nexum.h | 2 +- 46 files changed, 707 insertions(+), 615 deletions(-) create mode 100644 Documentation/Classes/NXAddressInfo.html create mode 100644 Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXAddressInfo.html delete mode 100644 ExumeExample/AppDelegate.h delete mode 100644 ExumeExample/AppDelegate.m delete mode 100644 ExumeExample/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 ExumeExample/Base.lproj/LaunchScreen.storyboard delete mode 100644 ExumeExample/Base.lproj/Main.storyboard delete mode 100644 ExumeExample/Info.plist delete mode 100644 ExumeExample/ViewController.h delete mode 100644 ExumeExample/ViewController.m delete mode 100644 ExumeExample/main.m diff --git a/Documentation/Classes.html b/Documentation/Classes.html index db29c6a..6ed68ac 100644 --- a/Documentation/Classes.html +++ b/Documentation/Classes.html @@ -15,7 +15,7 @@

Nexum Docs - (92% documented) + (93% documented)

@@ -48,6 +48,38 @@

Classes

+
+
    +
  • +
    + + + + NXAddressInfo + +
    +
    +
    +
    +
    +
    +

    NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s)

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @interface NXAddressInfo : NSObject
    + +
    +
    +
    +
    +
  • +
+
+ diff --git a/Documentation/Classes/NXNetwork.html b/Documentation/Classes/NXNetwork.html index 5413b87..c7beba6 100644 --- a/Documentation/Classes/NXNetwork.html +++ b/Documentation/Classes/NXNetwork.html @@ -16,7 +16,7 @@

Nexum Docs - (92% documented) + (93% documented)

@@ -600,6 +600,9 @@

Declaration

+
+
    +
  • +
    + + + + NXAddressInfo + +
    +
    +
    +
    +
    +
    +

    NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s)

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @interface NXAddressInfo : NSObject
    + +
    +
    +
    +
    +
  • +
+
+ diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXNetwork.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXNetwork.html index 5413b87..c7beba6 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXNetwork.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXNetwork.html @@ -16,7 +16,7 @@

Nexum Docs - (92% documented) + (93% documented)

@@ -600,6 +600,9 @@

Declaration

@@ -77,7 +77,8 @@

Shared Instance

- +

Get the shared address info object

+

Declaration

@@ -87,6 +88,10 @@

Declaration

+
+

Return Value

+

The shared instance

+
@@ -94,10 +99,10 @@

Declaration

    @@ -128,6 +133,98 @@

    Declaration

+
  • +
    + + + + WLANIPv6Address + +
    +
    +
    +
    +
    +
    +

    IPv6 WLAN Address

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readonly, nonatomic, nullable) NSString *WLANIPv6Address;
    + +
    +
    +
    +
    +
  • + + +
    + +
      +
    • +
      + + + + WWANIPv4Address + +
      +
      +
      +
      +
      +
      +

      IPv4 WWAN Address

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      @property (readonly, nonatomic, nullable) NSString *WWANIPv4Address;
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + WWANIPv6Address + +
      +
      +
      +
      +
      +
      +

      IPv6 WWAN Address

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      @property (readonly, nonatomic, nullable) NSString *WWANIPv6Address;
      + +
      +
      +
      +
      +
    @@ -207,7 +304,7 @@

    Declaration

    diff --git a/Documentation/Classes/NXNetwork.html b/Documentation/Classes/NXNetwork.html index c7beba6..4b38931 100644 --- a/Documentation/Classes/NXNetwork.html +++ b/Documentation/Classes/NXNetwork.html @@ -653,7 +653,7 @@

    Declaration

    diff --git a/Documentation/Constants.html b/Documentation/Constants.html index f7092ad..ffc20f7 100644 --- a/Documentation/Constants.html +++ b/Documentation/Constants.html @@ -156,7 +156,7 @@

    Declaration

    diff --git a/Documentation/Enums.html b/Documentation/Enums.html index 17d51e8..c0e4c5d 100644 --- a/Documentation/Enums.html +++ b/Documentation/Enums.html @@ -163,7 +163,7 @@

    Declaration

    diff --git a/Documentation/Enums/NXNetworkReachabilityStatus.html b/Documentation/Enums/NXNetworkReachabilityStatus.html index 1508865..13dafe8 100644 --- a/Documentation/Enums/NXNetworkReachabilityStatus.html +++ b/Documentation/Enums/NXNetworkReachabilityStatus.html @@ -223,7 +223,7 @@

    Declaration

    diff --git a/Documentation/Guides.html b/Documentation/Guides.html index c11f61e..7defbd2 100644 --- a/Documentation/Guides.html +++ b/Documentation/Guides.html @@ -125,7 +125,7 @@

    Guides

    diff --git a/Documentation/Protocols.html b/Documentation/Protocols.html index b21ef14..6d3a5cd 100644 --- a/Documentation/Protocols.html +++ b/Documentation/Protocols.html @@ -157,7 +157,7 @@

    Declaration

    diff --git a/Documentation/Protocols/NXNetworkDelegate.html b/Documentation/Protocols/NXNetworkDelegate.html index 0ab1fc8..6fe2a8a 100644 --- a/Documentation/Protocols/NXNetworkDelegate.html +++ b/Documentation/Protocols/NXNetworkDelegate.html @@ -195,7 +195,7 @@

    Parameters

    diff --git a/Documentation/Structs.html b/Documentation/Structs.html index a9de963..aa6843c 100644 --- a/Documentation/Structs.html +++ b/Documentation/Structs.html @@ -156,7 +156,7 @@

    Declaration

    diff --git a/Documentation/Type Definitions.html b/Documentation/Type Definitions.html index 27cf3dd..3bc1d8a 100644 --- a/Documentation/Type Definitions.html +++ b/Documentation/Type Definitions.html @@ -188,7 +188,7 @@

    Parameters

    diff --git a/Documentation/designing-for-reachability.html b/Documentation/designing-for-reachability.html index be3a993..ac6cdf8 100644 --- a/Documentation/designing-for-reachability.html +++ b/Documentation/designing-for-reachability.html @@ -307,7 +307,7 @@

    Notifications

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes.html index 6ed68ac..2c7ace9 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes.html @@ -63,7 +63,7 @@

    Classes

    -

    NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s)

    +

    NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s). NXAddress shouldn’t instantiated directly.

    See more
    @@ -189,7 +189,7 @@

    Declaration

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXAddressInfo.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXAddressInfo.html index 4714dce..a6ef1c0 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXAddressInfo.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXAddressInfo.html @@ -51,7 +51,7 @@

    NXAddressInfo

    -

    NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s)

    +

    NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s). NXAddress shouldn’t instantiated directly.

    @@ -77,7 +77,8 @@

    Shared Instance

    - +

    Get the shared address info object

    +

    Declaration

    @@ -87,6 +88,10 @@

    Declaration

    +
    +

    Return Value

    +

    The shared instance

    +
    @@ -94,10 +99,10 @@

    Declaration

      @@ -128,6 +133,98 @@

      Declaration

    +
  • +
    + + + + WLANIPv6Address + +
    +
    +
    +
    +
    +
    +

    IPv6 WLAN Address

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readonly, nonatomic, nullable) NSString *WLANIPv6Address;
    + +
    +
    +
    +
    +
  • + + +
    + +
      +
    • +
      + + + + WWANIPv4Address + +
      +
      +
      +
      +
      +
      +

      IPv4 WWAN Address

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      @property (readonly, nonatomic, nullable) NSString *WWANIPv4Address;
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + WWANIPv6Address + +
      +
      +
      +
      +
      +
      +

      IPv6 WWAN Address

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      @property (readonly, nonatomic, nullable) NSString *WWANIPv6Address;
      + +
      +
      +
      +
      +
    @@ -207,7 +304,7 @@

    Declaration

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXNetwork.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXNetwork.html index c7beba6..4b38931 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXNetwork.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Classes/NXNetwork.html @@ -653,7 +653,7 @@

    Declaration

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Constants.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Constants.html index f7092ad..ffc20f7 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Constants.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Constants.html @@ -156,7 +156,7 @@

    Declaration

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Enums.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Enums.html index 17d51e8..c0e4c5d 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Enums.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Enums.html @@ -163,7 +163,7 @@

    Declaration

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Enums/NXNetworkReachabilityStatus.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Enums/NXNetworkReachabilityStatus.html index 1508865..13dafe8 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Enums/NXNetworkReachabilityStatus.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Enums/NXNetworkReachabilityStatus.html @@ -223,7 +223,7 @@

    Declaration

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Guides.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Guides.html index c11f61e..7defbd2 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Guides.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Guides.html @@ -125,7 +125,7 @@

    Guides

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Protocols.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Protocols.html index b21ef14..6d3a5cd 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Protocols.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Protocols.html @@ -157,7 +157,7 @@

    Declaration

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Protocols/NXNetworkDelegate.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Protocols/NXNetworkDelegate.html index 0ab1fc8..6fe2a8a 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Protocols/NXNetworkDelegate.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Protocols/NXNetworkDelegate.html @@ -195,7 +195,7 @@

    Parameters

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Structs.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Structs.html index a9de963..aa6843c 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Structs.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Structs.html @@ -156,7 +156,7 @@

    Declaration

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Type Definitions.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Type Definitions.html index 27cf3dd..3bc1d8a 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Type Definitions.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/Type Definitions.html @@ -188,7 +188,7 @@

    Parameters

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/designing-for-reachability.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/designing-for-reachability.html index be3a993..ac6cdf8 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/designing-for-reachability.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/designing-for-reachability.html @@ -307,7 +307,7 @@

    Notifications

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/example---basic-reachability.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/example---basic-reachability.html index e2d2e5f..db1f884 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/example---basic-reachability.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/example---basic-reachability.html @@ -170,7 +170,7 @@

    Handle Notification

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/index.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/index.html index dee0e98..4d6c62e 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/index.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/index.html @@ -149,7 +149,7 @@

    Docs

    diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/project-setup.html b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/project-setup.html index 95d9215..c6be2f3 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/project-setup.html +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/project-setup.html @@ -153,7 +153,7 @@

    Building The Documentaiton diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/docSet.dsidx b/Documentation/docsets/Nexum.docset/Contents/Resources/docSet.dsidx index 8947f2404a0b6e01e07f18b028aff8eee8643d75..6093cd9455dd8a1b2bfcd62d85b7145495021e6f 100644 GIT binary patch delta 554 zcmaLTze^)Q6u|L)GrLJHiAHeNsJoLGv!m+<4lan5O=A3oKfxm8P9@O@7O^-thPzIC z#mM^?Vqv3*V5vkbtSm(QD^yUlch$rySj~g)doX-9vzytn2G*WF1lDo35}+ojpu44? zXXF=oSDu%D(R*5@|7ezuP?P$|1F4eA@!v@j)=Wi;NMf$IzOh`~SYNR}C;R7WajjtW z;&W>ZdN9N|2pnWO7?@#Piz<>PiJ?NywpZ-h^KsGEje9Hz5jR$sv@bt?23`|Gi@7AL>%r#u6- zcygwWcvB|XmwXYI;VXFmc&k6|nom7Po-`e$ee{9)>3^D&7vy+z$#3~C0~1X*{!)`c zFUTX=Cl|`O@>_nD%O}aM1%kIx9ZYSdNY^QjSheSdPxNh_~>(>)i#ufziKK8o+4v*ce76 Fy>C85n$-XR delta 389 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 RulCyD`aku=lo9~g1OW0Oj2-|0 delta 56534 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�i#qh4DYh`_h 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 diff --git a/Documentation/example---basic-reachability.html b/Documentation/example---basic-reachability.html index e2d2e5f..db1f884 100644 --- a/Documentation/example---basic-reachability.html +++ b/Documentation/example---basic-reachability.html @@ -170,7 +170,7 @@

    Handle Notification

    diff --git a/Documentation/index.html b/Documentation/index.html index dee0e98..4d6c62e 100644 --- a/Documentation/index.html +++ b/Documentation/index.html @@ -149,7 +149,7 @@

    Docs

    diff --git a/Documentation/project-setup.html b/Documentation/project-setup.html index 95d9215..c6be2f3 100644 --- a/Documentation/project-setup.html +++ b/Documentation/project-setup.html @@ -153,7 +153,7 @@

    Building The Documentaiton diff --git a/Nexum/NXAddressInfo.h b/Nexum/NXAddressInfo.h index f5d05ad..21e9cd7 100644 --- a/Nexum/NXAddressInfo.h +++ b/Nexum/NXAddressInfo.h @@ -8,7 +8,7 @@ @import Foundation; /** - NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s) + NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s). NXAddress shouldn't instantiated directly. */ @interface NXAddressInfo : NSObject diff --git a/Release/Nexum.framework/Nexum b/Release/Nexum.framework/Nexum index ba832824a4c4f2e9ba32f14bd3890be1dfd74832..ecc9a74ad2566a6ac0f25451615305d5304b9de0 100644 GIT binary patch delta 95 zcmX?bi08l|o(bj57G?$;tL`!~TbP<|j$*Ri1r#vcJZsNgMkWi>$rqi)H&57iem_Xn o#45Y(3+fo>gOzS~YGC|(6Qp)xmHqa{D5iNZ_1i6Cm^h9C0N1V~c>n+a delta 89 zcmX?bi08l|o(bj5W@Z)}tL`!aY2(dNOt!m#49m^4_JBo9HdpO?x*w!uVwK(Y1$B(` g!Rod Date: Wed, 28 Mar 2018 14:35:10 -0700 Subject: [PATCH 6/6] staged missing files from documentation --- .../Nexum.docset/Contents/Resources/Documents/search.json | 2 +- Documentation/search.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/search.json b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/search.json index 16faf44..e4e17f5 100644 --- a/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/search.json +++ b/Documentation/docsets/Nexum.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Structs.html#/c:@S@sockaddr":{"name":"sockaddr","abstract":"

    Undocumented

    "},"Type Definitions.html#/c:NXNetwork.h@T@NXNetworkReachabilityStatusChangedHandler":{"name":"NXNetworkReachabilityStatusChangedHandler","abstract":"

    A block used to handle changes in a network object’s reachabiltiy status

    "},"Protocols/NXNetworkDelegate.html#/c:objc(pl)NXNetworkDelegate(im)network:reachabilityStatusChanged:":{"name":"-network:reachabilityStatusChanged:","abstract":"

    Sent to the delegate when the network object’s reachability status changes

    ","parent_name":"NXNetworkDelegate"},"Protocols/NXNetworkDelegate.html":{"name":"NXNetworkDelegate","abstract":"

    The methods of NXNetworkNavigationDelegate protocol help you observe and handle changes to a NXNetwork object’s reachability.

    "},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusNotReachable":{"name":"NXNetworkReachabilityStatusNotReachable","abstract":"

    The network object is not reachable

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusReachableOverWiFi":{"name":"NXNetworkReachabilityStatusReachableOverWiFi","abstract":"

    The network object is reachable over WiFi

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusReachableOverWWAN":{"name":"NXNetworkReachabilityStatusReachableOverWWAN","abstract":"

    The network object is reachable over WWAN

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html":{"name":"NXNetworkReachabilityStatus","abstract":"

    An enumeration describing the various reachability statuses (statii?)

    "},"Constants.html#/c:@NXNetworkReachabilityStatusChanged":{"name":"NXNetworkReachabilityStatusChanged","abstract":"

    Notification sent when an NXNetwork’s reachability status changes

    "},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(cm)sharedNetwork":{"name":"+sharedNetwork","abstract":"

    The generic shared network object. You can use this singleton if you don’t want to manage ownership of the network object directly, and you can interact with and observe changes to its reachabilty status via notifications, blocks, its delegate object.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(cm)network":{"name":"+network","abstract":"

    Create a generic network object, observing changes to internet reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithHostName:":{"name":"-initWithHostName:","abstract":"

    Create network object that observes changes to the reachability of a single hostname and only that hostname

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithHostAddress:":{"name":"-initWithHostAddress:","abstract":"

    Create network object that observes changes to the reachability of a single IP address and only that IP address

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithLocalAddress:remoteAddress:":{"name":"-initWithLocalAddress:remoteAddress:","abstract":"

    Create a network object that observes changes to the reachability of an IP Address pair

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)delegate":{"name":"delegate","abstract":"

    The delegate object to be informed of changes to the network object’s reachability status

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachabilityStatusChangedHandler":{"name":"reachabilityStatusChangedHandler","abstract":"

    The block to be executed when the network object’s reachability status changes

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)startListening":{"name":"-startListening","abstract":"

    Begin listening to changes in reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)stopListening":{"name":"-stopListening","abstract":"

    Stop listening to changes in reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachabilityStatus":{"name":"reachabilityStatus","abstract":"

    The current reachability status of the network object

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachable":{"name":"reachable","abstract":"

    YES if the device is reachable, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)connectionRequired":{"name":"connectionRequired","abstract":"

    YES if connection is required, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)onDemand":{"name":"onDemand","abstract":"

    YES if connection is on demand, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)interventionRequired":{"name":"interventionRequired","abstract":"

    YES if intervention is required, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html":{"name":"NXNetwork","abstract":"

    NXNetwork is a long-use object used to listen to and handle changes in a device’s network reachability. You should create an instance of a NXNetwork object and retain a strong reference to it in memory, and react to changes using by observing the NXNetworkReachabilityStatusChanged notification, a block you can assign to nexum instance’s reachabilityStatusChangedHandler property, or an object that conforms to NXNetworkDelegate protocol.

    "},"designing-for-reachability.html":{"name":"Designing For Reachability"},"project-setup.html":{"name":"Project Setup"},"example---basic-reachability.html":{"name":"Example - Basic Reachability"},"Guides.html":{"name":"Guides","abstract":"

    The following guides are available globally.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Constants.html":{"name":"Constants","abstract":"

    The following constants are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Type Definitions.html":{"name":"Type Definitions","abstract":"

    The following type definitions are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file +{"Structs.html#/c:@S@sockaddr":{"name":"sockaddr","abstract":"

    Undocumented

    "},"Type Definitions.html#/c:NXNetwork.h@T@NXNetworkReachabilityStatusChangedHandler":{"name":"NXNetworkReachabilityStatusChangedHandler","abstract":"

    A block used to handle changes in a network object’s reachabiltiy status

    "},"Protocols/NXNetworkDelegate.html#/c:objc(pl)NXNetworkDelegate(im)network:reachabilityStatusChanged:":{"name":"-network:reachabilityStatusChanged:","abstract":"

    Sent to the delegate when the network object’s reachability status changes

    ","parent_name":"NXNetworkDelegate"},"Protocols/NXNetworkDelegate.html":{"name":"NXNetworkDelegate","abstract":"

    The methods of NXNetworkNavigationDelegate protocol help you observe and handle changes to a NXNetwork object’s reachability.

    "},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusNotReachable":{"name":"NXNetworkReachabilityStatusNotReachable","abstract":"

    The network object is not reachable

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusReachableOverWiFi":{"name":"NXNetworkReachabilityStatusReachableOverWiFi","abstract":"

    The network object is reachable over WiFi

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusReachableOverWWAN":{"name":"NXNetworkReachabilityStatusReachableOverWWAN","abstract":"

    The network object is reachable over WWAN

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html":{"name":"NXNetworkReachabilityStatus","abstract":"

    An enumeration describing the various reachability statuses (statii?)

    "},"Constants.html#/c:@NXNetworkReachabilityStatusChanged":{"name":"NXNetworkReachabilityStatusChanged","abstract":"

    Notification sent when an NXNetwork’s reachability status changes

    "},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(cm)sharedNetwork":{"name":"+sharedNetwork","abstract":"

    The generic shared network object. You can use this singleton if you don’t want to manage ownership of the network object directly, and you can interact with and observe changes to its reachabilty status via notifications, blocks, its delegate object.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(cm)network":{"name":"+network","abstract":"

    Create a generic network object, observing changes to internet reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithHostName:":{"name":"-initWithHostName:","abstract":"

    Create network object that observes changes to the reachability of a single hostname and only that hostname

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithHostAddress:":{"name":"-initWithHostAddress:","abstract":"

    Create network object that observes changes to the reachability of a single IP address and only that IP address

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithLocalAddress:remoteAddress:":{"name":"-initWithLocalAddress:remoteAddress:","abstract":"

    Create a network object that observes changes to the reachability of an IP Address pair

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)delegate":{"name":"delegate","abstract":"

    The delegate object to be informed of changes to the network object’s reachability status

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachabilityStatusChangedHandler":{"name":"reachabilityStatusChangedHandler","abstract":"

    The block to be executed when the network object’s reachability status changes

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)startListening":{"name":"-startListening","abstract":"

    Begin listening to changes in reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)stopListening":{"name":"-stopListening","abstract":"

    Stop listening to changes in reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachabilityStatus":{"name":"reachabilityStatus","abstract":"

    The current reachability status of the network object

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachable":{"name":"reachable","abstract":"

    YES if the device is reachable, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)connectionRequired":{"name":"connectionRequired","abstract":"

    YES if connection is required, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)onDemand":{"name":"onDemand","abstract":"

    YES if connection is on demand, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)interventionRequired":{"name":"interventionRequired","abstract":"

    YES if intervention is required, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(cm)sharedAddressInfo":{"name":"+sharedAddressInfo","abstract":"

    Get the shared address info object

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(py)WLANIPv4Address":{"name":"WLANIPv4Address","abstract":"

    IPv4 WLAN Address

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(py)WLANIPv6Address":{"name":"WLANIPv6Address","abstract":"

    IPv6 WLAN Address

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(py)WWANIPv4Address":{"name":"WWANIPv4Address","abstract":"

    IPv4 WWAN Address

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(py)WWANIPv6Address":{"name":"WWANIPv6Address","abstract":"

    IPv6 WWAN Address

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html":{"name":"NXAddressInfo","abstract":"

    NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s). NXAddress shouldn’t instantiated directly.

    "},"Classes/NXNetwork.html":{"name":"NXNetwork","abstract":"

    NXNetwork is a long-use object used to listen to and handle changes in a device’s network reachability. You should create an instance of a NXNetwork object and retain a strong reference to it in memory, and react to changes using by observing the NXNetworkReachabilityStatusChanged notification, a block you can assign to nexum instance’s reachabilityStatusChangedHandler property, or an object that conforms to NXNetworkDelegate protocol.

    "},"designing-for-reachability.html":{"name":"Designing For Reachability"},"project-setup.html":{"name":"Project Setup"},"example---basic-reachability.html":{"name":"Example - Basic Reachability"},"Guides.html":{"name":"Guides","abstract":"

    The following guides are available globally.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Constants.html":{"name":"Constants","abstract":"

    The following constants are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Type Definitions.html":{"name":"Type Definitions","abstract":"

    The following type definitions are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file diff --git a/Documentation/search.json b/Documentation/search.json index 16faf44..e4e17f5 100644 --- a/Documentation/search.json +++ b/Documentation/search.json @@ -1 +1 @@ -{"Structs.html#/c:@S@sockaddr":{"name":"sockaddr","abstract":"

    Undocumented

    "},"Type Definitions.html#/c:NXNetwork.h@T@NXNetworkReachabilityStatusChangedHandler":{"name":"NXNetworkReachabilityStatusChangedHandler","abstract":"

    A block used to handle changes in a network object’s reachabiltiy status

    "},"Protocols/NXNetworkDelegate.html#/c:objc(pl)NXNetworkDelegate(im)network:reachabilityStatusChanged:":{"name":"-network:reachabilityStatusChanged:","abstract":"

    Sent to the delegate when the network object’s reachability status changes

    ","parent_name":"NXNetworkDelegate"},"Protocols/NXNetworkDelegate.html":{"name":"NXNetworkDelegate","abstract":"

    The methods of NXNetworkNavigationDelegate protocol help you observe and handle changes to a NXNetwork object’s reachability.

    "},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusNotReachable":{"name":"NXNetworkReachabilityStatusNotReachable","abstract":"

    The network object is not reachable

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusReachableOverWiFi":{"name":"NXNetworkReachabilityStatusReachableOverWiFi","abstract":"

    The network object is reachable over WiFi

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusReachableOverWWAN":{"name":"NXNetworkReachabilityStatusReachableOverWWAN","abstract":"

    The network object is reachable over WWAN

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html":{"name":"NXNetworkReachabilityStatus","abstract":"

    An enumeration describing the various reachability statuses (statii?)

    "},"Constants.html#/c:@NXNetworkReachabilityStatusChanged":{"name":"NXNetworkReachabilityStatusChanged","abstract":"

    Notification sent when an NXNetwork’s reachability status changes

    "},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(cm)sharedNetwork":{"name":"+sharedNetwork","abstract":"

    The generic shared network object. You can use this singleton if you don’t want to manage ownership of the network object directly, and you can interact with and observe changes to its reachabilty status via notifications, blocks, its delegate object.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(cm)network":{"name":"+network","abstract":"

    Create a generic network object, observing changes to internet reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithHostName:":{"name":"-initWithHostName:","abstract":"

    Create network object that observes changes to the reachability of a single hostname and only that hostname

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithHostAddress:":{"name":"-initWithHostAddress:","abstract":"

    Create network object that observes changes to the reachability of a single IP address and only that IP address

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithLocalAddress:remoteAddress:":{"name":"-initWithLocalAddress:remoteAddress:","abstract":"

    Create a network object that observes changes to the reachability of an IP Address pair

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)delegate":{"name":"delegate","abstract":"

    The delegate object to be informed of changes to the network object’s reachability status

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachabilityStatusChangedHandler":{"name":"reachabilityStatusChangedHandler","abstract":"

    The block to be executed when the network object’s reachability status changes

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)startListening":{"name":"-startListening","abstract":"

    Begin listening to changes in reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)stopListening":{"name":"-stopListening","abstract":"

    Stop listening to changes in reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachabilityStatus":{"name":"reachabilityStatus","abstract":"

    The current reachability status of the network object

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachable":{"name":"reachable","abstract":"

    YES if the device is reachable, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)connectionRequired":{"name":"connectionRequired","abstract":"

    YES if connection is required, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)onDemand":{"name":"onDemand","abstract":"

    YES if connection is on demand, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)interventionRequired":{"name":"interventionRequired","abstract":"

    YES if intervention is required, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html":{"name":"NXNetwork","abstract":"

    NXNetwork is a long-use object used to listen to and handle changes in a device’s network reachability. You should create an instance of a NXNetwork object and retain a strong reference to it in memory, and react to changes using by observing the NXNetworkReachabilityStatusChanged notification, a block you can assign to nexum instance’s reachabilityStatusChangedHandler property, or an object that conforms to NXNetworkDelegate protocol.

    "},"designing-for-reachability.html":{"name":"Designing For Reachability"},"project-setup.html":{"name":"Project Setup"},"example---basic-reachability.html":{"name":"Example - Basic Reachability"},"Guides.html":{"name":"Guides","abstract":"

    The following guides are available globally.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Constants.html":{"name":"Constants","abstract":"

    The following constants are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Type Definitions.html":{"name":"Type Definitions","abstract":"

    The following type definitions are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file +{"Structs.html#/c:@S@sockaddr":{"name":"sockaddr","abstract":"

    Undocumented

    "},"Type Definitions.html#/c:NXNetwork.h@T@NXNetworkReachabilityStatusChangedHandler":{"name":"NXNetworkReachabilityStatusChangedHandler","abstract":"

    A block used to handle changes in a network object’s reachabiltiy status

    "},"Protocols/NXNetworkDelegate.html#/c:objc(pl)NXNetworkDelegate(im)network:reachabilityStatusChanged:":{"name":"-network:reachabilityStatusChanged:","abstract":"

    Sent to the delegate when the network object’s reachability status changes

    ","parent_name":"NXNetworkDelegate"},"Protocols/NXNetworkDelegate.html":{"name":"NXNetworkDelegate","abstract":"

    The methods of NXNetworkNavigationDelegate protocol help you observe and handle changes to a NXNetwork object’s reachability.

    "},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusNotReachable":{"name":"NXNetworkReachabilityStatusNotReachable","abstract":"

    The network object is not reachable

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusReachableOverWiFi":{"name":"NXNetworkReachabilityStatusReachableOverWiFi","abstract":"

    The network object is reachable over WiFi

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html#/c:@E@NXNetworkReachabilityStatus@NXNetworkReachabilityStatusReachableOverWWAN":{"name":"NXNetworkReachabilityStatusReachableOverWWAN","abstract":"

    The network object is reachable over WWAN

    ","parent_name":"NXNetworkReachabilityStatus"},"Enums/NXNetworkReachabilityStatus.html":{"name":"NXNetworkReachabilityStatus","abstract":"

    An enumeration describing the various reachability statuses (statii?)

    "},"Constants.html#/c:@NXNetworkReachabilityStatusChanged":{"name":"NXNetworkReachabilityStatusChanged","abstract":"

    Notification sent when an NXNetwork’s reachability status changes

    "},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(cm)sharedNetwork":{"name":"+sharedNetwork","abstract":"

    The generic shared network object. You can use this singleton if you don’t want to manage ownership of the network object directly, and you can interact with and observe changes to its reachabilty status via notifications, blocks, its delegate object.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(cm)network":{"name":"+network","abstract":"

    Create a generic network object, observing changes to internet reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithHostName:":{"name":"-initWithHostName:","abstract":"

    Create network object that observes changes to the reachability of a single hostname and only that hostname

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithHostAddress:":{"name":"-initWithHostAddress:","abstract":"

    Create network object that observes changes to the reachability of a single IP address and only that IP address

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)initWithLocalAddress:remoteAddress:":{"name":"-initWithLocalAddress:remoteAddress:","abstract":"

    Create a network object that observes changes to the reachability of an IP Address pair

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)delegate":{"name":"delegate","abstract":"

    The delegate object to be informed of changes to the network object’s reachability status

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachabilityStatusChangedHandler":{"name":"reachabilityStatusChangedHandler","abstract":"

    The block to be executed when the network object’s reachability status changes

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)startListening":{"name":"-startListening","abstract":"

    Begin listening to changes in reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(im)stopListening":{"name":"-stopListening","abstract":"

    Stop listening to changes in reachability

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachabilityStatus":{"name":"reachabilityStatus","abstract":"

    The current reachability status of the network object

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)reachable":{"name":"reachable","abstract":"

    YES if the device is reachable, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)connectionRequired":{"name":"connectionRequired","abstract":"

    YES if connection is required, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)onDemand":{"name":"onDemand","abstract":"

    YES if connection is on demand, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXNetwork.html#/c:objc(cs)NXNetwork(py)interventionRequired":{"name":"interventionRequired","abstract":"

    YES if intervention is required, otherwise NO.

    ","parent_name":"NXNetwork"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(cm)sharedAddressInfo":{"name":"+sharedAddressInfo","abstract":"

    Get the shared address info object

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(py)WLANIPv4Address":{"name":"WLANIPv4Address","abstract":"

    IPv4 WLAN Address

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(py)WLANIPv6Address":{"name":"WLANIPv6Address","abstract":"

    IPv6 WLAN Address

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(py)WWANIPv4Address":{"name":"WWANIPv4Address","abstract":"

    IPv4 WWAN Address

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html#/c:objc(cs)NXAddressInfo(py)WWANIPv6Address":{"name":"WWANIPv6Address","abstract":"

    IPv6 WWAN Address

    ","parent_name":"NXAddressInfo"},"Classes/NXAddressInfo.html":{"name":"NXAddressInfo","abstract":"

    NXAddressInfo is a singleton class that lets you get IP address infomation about current connection(s). NXAddress shouldn’t instantiated directly.

    "},"Classes/NXNetwork.html":{"name":"NXNetwork","abstract":"

    NXNetwork is a long-use object used to listen to and handle changes in a device’s network reachability. You should create an instance of a NXNetwork object and retain a strong reference to it in memory, and react to changes using by observing the NXNetworkReachabilityStatusChanged notification, a block you can assign to nexum instance’s reachabilityStatusChangedHandler property, or an object that conforms to NXNetworkDelegate protocol.

    "},"designing-for-reachability.html":{"name":"Designing For Reachability"},"project-setup.html":{"name":"Project Setup"},"example---basic-reachability.html":{"name":"Example - Basic Reachability"},"Guides.html":{"name":"Guides","abstract":"

    The following guides are available globally.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Constants.html":{"name":"Constants","abstract":"

    The following constants are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Type Definitions.html":{"name":"Type Definitions","abstract":"

    The following type definitions are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "}} \ No newline at end of file