From 41969fe235c8031fd341bd0428aa70e896d520f1 Mon Sep 17 00:00:00 2001 From: Erica Sadun Date: Tue, 4 Aug 2009 12:35:43 -0600 Subject: [PATCH] Updated with a nod to the 3.0 Device Capabilities for Info.plist --- .../wwanconnect.c | 0 .../wwanconnect.h | 0 Default.png | Bin 0 -> 125900 bytes HelloWorld.xcodeproj/project.pbxproj | 131 +++++--- TestBedViewController.xib | 223 +++++++++++++ UIApplication-Proximity.h | 24 -- UIApplication-Proximity.m | 14 - UIDevice-Hardware.h | 56 ++-- UIDevice-Hardware.m | 198 ++++++++++-- UIDevice-IOKitExtensions.h | 6 +- UIDevice-IOKitExtensions.m | 6 +- UIDevice-Reachability.h | 45 ++- UIDevice-Reachability.m | 292 +++++++++++++----- cover320x416.png | Bin 0 -> 78576 bytes icon.png | Bin 0 -> 4734 bytes main.m | 171 ++++------ 16 files changed, 830 insertions(+), 336 deletions(-) rename wwanconnect.c => Apple Sample Code/wwanconnect.c (100%) rename wwanconnect.h => Apple Sample Code/wwanconnect.h (100%) create mode 100644 Default.png create mode 100644 TestBedViewController.xib delete mode 100644 UIApplication-Proximity.h delete mode 100644 UIApplication-Proximity.m create mode 100644 cover320x416.png create mode 100644 icon.png diff --git a/wwanconnect.c b/Apple Sample Code/wwanconnect.c similarity index 100% rename from wwanconnect.c rename to Apple Sample Code/wwanconnect.c diff --git a/wwanconnect.h b/Apple Sample Code/wwanconnect.h similarity index 100% rename from wwanconnect.h rename to Apple Sample Code/wwanconnect.h diff --git a/Default.png b/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..1891c8fd9dbf2e5c713647e9ad350bb69d0cf27c GIT binary patch literal 125900 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̋*KaO1{t;=&Prb?NCGf7Uy+kGN>D8)=?TCd0zK)~ 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 SF+;5Y0000 + + + 768 + 9J61 + 680 + 949.46 + 353.00 + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + + + IBFirstResponder + + + + 292 + + YES + + + 256 + {320, 416} + + NO + YES + 4 + YES + + NSImage + cover320x416.png + + + + + 292 + {320, 279} + + NO + YES + YES + NO + NO + NO + NO + NO + + + 2 + + + + {320, 416} + + + 3 + MQA + + 2 + + + NO + + + NO + + + + + + YES + + + view + + + + 33 + + + + textView + + + + 36 + + + + + YES + + 0 + + YES + + + + + + -1 + + + RmlsZSdzIE93bmVyA + + + -2 + + + + + 32 + + + YES + + + + + + + 34 + + + + + 35 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 32.IBEditorWindowLastContentRect + 32.IBPluginDependency + 35.IBPluginDependency + + + YES + TestBedViewController + UIResponder + {{21, 492}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 36 + + + + YES + + TestBedViewController + + YES + + YES + textView + view + + + YES + UITextView + UIView + + + + IBUserSource + + + + + + 0 + HelloWorld.xcodeproj + 3 + 3.1 + + diff --git a/UIApplication-Proximity.h b/UIApplication-Proximity.h deleted file mode 100644 index 88a7a8c..0000000 --- a/UIApplication-Proximity.h +++ /dev/null @@ -1,24 +0,0 @@ -#import - -#define SUPPORTS_UNDOCUMENTED_APPLICATION_PROXIMITY 1 - -#if SUPPORTS_UNDOCUMENTED_APPLICATION_PROXIMITY - -// Proximity Delegate Protocol -@protocol ProximityDelegate -- (void) proximityStateDidChange: (NSNumber *) newState; -@end - -// Expose State Change -@interface UIApplication (proximity) -- (void)proximityStateChanged:(BOOL)fp8; -@end - -// Subclass UIApplication -@interface ProximityApplication : UIApplication -{ - id proximityClient; -} -@property (nonatomic, retain) id proximityClient; -@end -#endif \ No newline at end of file diff --git a/UIApplication-Proximity.m b/UIApplication-Proximity.m deleted file mode 100644 index c71a618..0000000 --- a/UIApplication-Proximity.m +++ /dev/null @@ -1,14 +0,0 @@ -#import "UIApplication-Proximity.h" - -#if SUPPORTS_UNDOCUMENTED_APPLICATION_PROXIMITY -@implementation ProximityApplication -@synthesize proximityClient; - -- (void) proximityStateChanged:(BOOL)isOn -{ - if (self.proximityClient) - [self.proximityClient proximityStateDidChange:[NSNumber numberWithBool:isOn]]; -} - -@end -#endif \ No newline at end of file diff --git a/UIDevice-Hardware.h b/UIDevice-Hardware.h index 1e59ee6..3000168 100644 --- a/UIDevice-Hardware.h +++ b/UIDevice-Hardware.h @@ -8,12 +8,15 @@ #define IPHONE_1G_NAMESTRING @"iPhone 1G" #define IPHONE_3G_NAMESTRING @"iPhone 3G" -#define IPHONE_3GS_NAMESTRING @"iPhone 3G S" +#define IPHONE_3GS_NAMESTRING @"iPhone 3GS" #define IPHONE_UNKNOWN_NAMESTRING @"Unknown iPhone" + #define IPOD_1G_NAMESTRING @"iPod touch 1G" #define IPOD_2G_NAMESTRING @"iPod touch 2G" #define IPOD_UNKNOWN_NAMESTRING @"Unknown iPod" + #define IPOD_FAMILY_UNKNOWN_DEVICE @"Unknown device in the iPhone/iPod family" + #define IPHONE_SIMULATOR_NAMESTRING @"iPhone Simulator" typedef enum { @@ -34,34 +37,41 @@ typedef enum { } UIDeviceFirmware; enum { - UIDeviceSupportsGPS = 1 << 0, - UIDeviceBuiltInSpeaker = 1 << 1, - UIDeviceBuiltInCamera = 1 << 2, - UIDeviceBuiltInMicrophone = 1 << 3, - UIDeviceSupportsExternalMicrophone = 1 << 4, - UIDeviceSupportsTelephony = 1 << 5, - UIDeviceSupportsVibration = 1 << 6, - UIDeviceBuiltInProximitySensor = 1 << 7, - UIDeviceSupportsVideoRecording = 1 << 8, - UIDeviceSupportsCompass = 1 << 9, - UIDeviceSupportsAccessibility = 1 << 10, - UIDeviceSupportsVoiceControl = 1 << 11, + UIDeviceSupportsTelephony = 1 << 0, + UIDeviceSupportsSMS = 1 << 1, + UIDeviceSupportsStillCamera = 1 << 2, + UIDeviceSupportsVideoCamera = 1 << 3, + UIDeviceSupportsWifi = 1 << 4, + UIDeviceSupportsAccelerometer = 1 << 5, + UIDeviceSupportsLocationServices = 1 << 6, + UIDeviceSupportsGPS = 1 << 7, + UIDeviceSupportsMagnetometer = 1 << 8, + UIDeviceSupportsBuiltInMicrophone = 1 << 9, + UIDeviceSupportsExternalMicrophone = 1 << 10, + UIDeviceSupportsOPENGLES1 = 1 << 11, + UIDeviceSupportsOPENGLES2 = 1 << 12, + UIDeviceBuiltInSpeaker = 1 << 13, + UIDeviceSupportsVibration = 1 << 14, + UIDeviceBuiltInProximitySensor = 1 << 15, + UIDeviceSupportsAccessibility = 1 << 16, + UIDeviceSupportsVoiceControl = 1 << 17, + UIDeviceSupportsBrightnessSensor = 1 << 18, }; @interface UIDevice (Hardware) -- (NSString *) platform; -- (NSUInteger) platformType; -- (NSUInteger) platformCapabilities; -- (NSString *) platformString; ++ (NSString *) platform; ++ (NSUInteger) platformType; ++ (NSUInteger) platformCapabilities; ++ (NSString *) platformString; ++ (NSString *) platformCode; -- (NSUInteger) cpuFrequency; -- (NSUInteger) busFrequency; -- (NSUInteger) totalMemory; -- (NSUInteger) userMemory; -- (NSUInteger) maxSocketBufferSize; ++ (NSUInteger) cpuFrequency; ++ (NSUInteger) busFrequency; ++ (NSUInteger) totalMemory; ++ (NSUInteger) userMemory; -- (NSString *) macaddress; ++ (NSString *) macaddress; @end @interface UIDevice (Orientation) diff --git a/UIDevice-Hardware.m b/UIDevice-Hardware.m index 8e36d7b..a65ab8f 100644 --- a/UIDevice-Hardware.m +++ b/UIDevice-Hardware.m @@ -16,17 +16,26 @@ @implementation UIDevice (Hardware) /* Platforms + iPhone1,1 -> iPhone 1G iPhone1,2 -> iPhone 3G - iPhone2,1?? -> iPhone 3GS <-- needs details + iPhone2,1 -> iPhone 3GS + iPod1,1 -> iPod touch 1G iPod2,1 -> iPod touch 2G + i386 -> iPhone Simulator + + NOT ANNOUNCED + iPod3,1 -> iPod touch 3G + iFGPA + iProd0,1 + unknownHardware */ #pragma mark sysctlbyname utils -- (NSString *) getSysInfoByName:(char *)typeSpecifier ++ (NSString *) getSysInfoByName:(char *)typeSpecifier { size_t size; sysctlbyname(typeSpecifier, NULL, &size, NULL, 0); @@ -37,13 +46,13 @@ - (NSString *) getSysInfoByName:(char *)typeSpecifier return results; } -- (NSString *) platform ++ (NSString *) platform { return [self getSysInfoByName:"hw.machine"]; } #pragma mark sysctl utils -- (NSUInteger) getSysInfo: (uint) typeSpecifier ++ (NSUInteger) getSysInfo: (uint) typeSpecifier { size_t size = sizeof(int); int results; @@ -52,47 +61,50 @@ - (NSUInteger) getSysInfo: (uint) typeSpecifier return (NSUInteger) results; } -- (NSUInteger) cpuFrequency ++ (NSUInteger) cpuFrequency { return [self getSysInfo:HW_CPU_FREQ]; } -- (NSUInteger) busFrequency ++ (NSUInteger) busFrequency { return [self getSysInfo:HW_BUS_FREQ]; } -- (NSUInteger) totalMemory ++ (NSUInteger) totalMemory { return [self getSysInfo:HW_PHYSMEM]; } -- (NSUInteger) userMemory ++ (NSUInteger) userMemory { return [self getSysInfo:HW_USERMEM]; } -- (NSUInteger) maxSocketBufferSize ++ (NSUInteger) maxSocketBufferSize { return [self getSysInfo:KIPC_MAXSOCKBUF]; } #pragma mark platform type and name utils -- (NSUInteger) platformType ++ (NSUInteger) platformType { NSString *platform = [self platform]; if ([platform isEqualToString:@"iPhone1,1"]) return UIDevice1GiPhone; if ([platform isEqualToString:@"iPhone1,2"]) return UIDevice3GiPhone; - // if ([platform isEqualToString:@"iPhone2,1"]) return UIDevice3GSiPhone; + if ([platform isEqualToString:@"iPhone2,1"]) return UIDevice3GSiPhone; + if ([platform isEqualToString:@"iPod1,1"]) return UIDevice1GiPod; if ([platform isEqualToString:@"iPod2,1"]) return UIDevice2GiPod; + if ([platform hasPrefix:@"iPhone"]) return UIDeviceUnknowniPhone; if ([platform hasPrefix:@"iPod"]) return UIDeviceUnknowniPod; + if ([platform hasSuffix:@"86"]) return UIDeviceiPhoneSimulator; return UIDeviceUnknown; } -- (NSString *) platformString ++ (NSString *) platformString { switch ([self platformType]) { @@ -107,25 +119,143 @@ - (NSString *) platformString case UIDeviceiPhoneSimulator: return IPHONE_SIMULATOR_NAMESTRING; - default: return nil; + default: return IPOD_FAMILY_UNKNOWN_DEVICE; } } #pragma mark platform capabilities -- (NSUInteger) platformCapabilities ++ (NSUInteger) platformCapabilities { switch ([self platformType]) { - case UIDevice1GiPhone: return UIDeviceBuiltInSpeaker | UIDeviceBuiltInCamera | UIDeviceBuiltInMicrophone | UIDeviceSupportsExternalMicrophone | UIDeviceSupportsTelephony | UIDeviceSupportsVibration | UIDeviceBuiltInProximitySensor; - case UIDevice3GiPhone: return UIDeviceSupportsGPS | UIDeviceBuiltInSpeaker | UIDeviceBuiltInCamera | UIDeviceBuiltInMicrophone | UIDeviceSupportsExternalMicrophone | UIDeviceSupportsTelephony | UIDeviceSupportsVibration | UIDeviceBuiltInProximitySensor; - case UIDevice3GSiPhone: return UIDeviceSupportsGPS | UIDeviceBuiltInSpeaker | UIDeviceBuiltInCamera | UIDeviceBuiltInMicrophone | UIDeviceSupportsExternalMicrophone | UIDeviceSupportsTelephony | UIDeviceSupportsVibration | UIDeviceBuiltInProximitySensor | UIDeviceSupportsVideoRecording | UIDeviceSupportsCompass | UIDeviceSupportsAccessibility | UIDeviceSupportsVoiceControl; - case UIDeviceUnknowniPhone: return UIDeviceBuiltInSpeaker | UIDeviceBuiltInCamera | UIDeviceBuiltInMicrophone | UIDeviceSupportsExternalMicrophone | UIDeviceSupportsTelephony | UIDeviceSupportsVibration | UIDeviceBuiltInProximitySensor; - - case UIDevice1GiPod: return 0; - case UIDevice2GiPod: return UIDeviceBuiltInSpeaker | UIDeviceSupportsExternalMicrophone; - case UIDeviceUnknowniPod: return 0; + case UIDevice1GiPhone: + return + UIDeviceSupportsTelephony || + UIDeviceSupportsSMS || + UIDeviceSupportsStillCamera || + // UIDeviceSupportsVideoCamera || + UIDeviceSupportsWifi || + UIDeviceSupportsAccelerometer || + UIDeviceSupportsLocationServices || + // UIDeviceSupportsGPS || + // UIDeviceSupportsMagnetometer || + UIDeviceSupportsBuiltInMicrophone || + UIDeviceSupportsExternalMicrophone || + UIDeviceSupportsOPENGLES1 || + // UIDeviceSupportsOPENGLES2 || + UIDeviceBuiltInSpeaker || + UIDeviceSupportsVibration || + UIDeviceBuiltInProximitySensor || + // UIDeviceSupportsAccessibility || + // UIDeviceSupportsVoiceControl || + UIDeviceSupportsBrightnessSensor; + + case UIDevice3GiPhone: + UIDeviceSupportsTelephony || + UIDeviceSupportsSMS || + UIDeviceSupportsStillCamera || + // UIDeviceSupportsVideoCamera || + UIDeviceSupportsWifi || + UIDeviceSupportsAccelerometer || + UIDeviceSupportsLocationServices || + UIDeviceSupportsGPS || + // UIDeviceSupportsMagnetometer || + UIDeviceSupportsBuiltInMicrophone || + UIDeviceSupportsExternalMicrophone || + UIDeviceSupportsOPENGLES1 || + // UIDeviceSupportsOPENGLES2 || + UIDeviceBuiltInSpeaker || + UIDeviceSupportsVibration || + UIDeviceBuiltInProximitySensor || + // UIDeviceSupportsAccessibility || + // UIDeviceSupportsVoiceControl || + UIDeviceSupportsBrightnessSensor; - case UIDeviceiPhoneSimulator: return 0; + case UIDevice3GSiPhone: + UIDeviceSupportsTelephony || + UIDeviceSupportsSMS || + UIDeviceSupportsStillCamera || + UIDeviceSupportsVideoCamera || + UIDeviceSupportsWifi || + UIDeviceSupportsAccelerometer || + UIDeviceSupportsLocationServices || + UIDeviceSupportsGPS || + UIDeviceSupportsMagnetometer || + UIDeviceSupportsBuiltInMicrophone || + UIDeviceSupportsExternalMicrophone || + UIDeviceSupportsOPENGLES1 || + UIDeviceSupportsOPENGLES2 || + UIDeviceBuiltInSpeaker || + UIDeviceSupportsVibration || + UIDeviceBuiltInProximitySensor || + UIDeviceSupportsAccessibility || + UIDeviceSupportsVoiceControl || + UIDeviceSupportsBrightnessSensor; + case UIDeviceUnknowniPhone: return 0; + + case UIDevice1GiPod: + // UIDeviceSupportsTelephony || + // UIDeviceSupportsSMS || + // UIDeviceSupportsStillCamera || + // UIDeviceSupportsVideoCamera || + UIDeviceSupportsWifi || + UIDeviceSupportsAccelerometer || + UIDeviceSupportsLocationServices || + // UIDeviceSupportsGPS || + // UIDeviceSupportsMagnetometer || + // UIDeviceSupportsBuiltInMicrophone || + UIDeviceSupportsExternalMicrophone || + UIDeviceSupportsOPENGLES1 || + // UIDeviceSupportsOPENGLES2 || + // UIDeviceBuiltInSpeaker || + // UIDeviceSupportsVibration || + // UIDeviceBuiltInProximitySensor || + // UIDeviceSupportsAccessibility || + // UIDeviceSupportsVoiceControl || + UIDeviceSupportsBrightnessSensor; + case UIDevice2GiPod: + // UIDeviceSupportsTelephony || + // UIDeviceSupportsSMS || + // UIDeviceSupportsStillCamera || + // UIDeviceSupportsVideoCamera || + UIDeviceSupportsWifi || + UIDeviceSupportsAccelerometer || + UIDeviceSupportsLocationServices || + // UIDeviceSupportsGPS || + // UIDeviceSupportsMagnetometer || + // UIDeviceSupportsBuiltInMicrophone || + UIDeviceSupportsExternalMicrophone || + UIDeviceSupportsOPENGLES1 || + // UIDeviceSupportsOPENGLES2 || + UIDeviceBuiltInSpeaker || + // UIDeviceSupportsVibration || + // UIDeviceBuiltInProximitySensor || + // UIDeviceSupportsAccessibility || + // UIDeviceSupportsVoiceControl || + UIDeviceSupportsBrightnessSensor; + + case UIDeviceUnknowniPod: return 0; + + case UIDeviceiPhoneSimulator: + // UIDeviceSupportsTelephony || + // UIDeviceSupportsSMS || + // UIDeviceSupportsStillCamera || + // UIDeviceSupportsVideoCamera || + UIDeviceSupportsWifi || + // UIDeviceSupportsAccelerometer || + UIDeviceSupportsLocationServices || + // UIDeviceSupportsGPS || + // UIDeviceSupportsMagnetometer || + // UIDeviceSupportsBuiltInMicrophone || + // UIDeviceSupportsExternalMicrophone || + UIDeviceSupportsOPENGLES1 || + // UIDeviceSupportsOPENGLES2 || + UIDeviceBuiltInSpeaker; + // UIDeviceSupportsVibration || + // UIDeviceBuiltInProximitySensor || + // UIDeviceSupportsAccessibility || + // UIDeviceSupportsVoiceControl || + // UIDeviceSupportsBrightnessSensor; default: return 0; } @@ -134,7 +264,7 @@ - (NSUInteger) platformCapabilities #pragma mark MAC addy // Return the local MAC addy // Courtesy of FreeBSD hackers email list -- (NSString *) macaddress ++ (NSString *) macaddress { int mib[6]; size_t len; @@ -176,6 +306,26 @@ - (NSString *) macaddress free(buf); return [outstring uppercaseString]; } + ++ (NSString *) platformCode +{ + switch ([self platformType]) + { + case UIDevice1GiPhone: return @"M68"; + case UIDevice3GiPhone: return @"N82"; + case UIDevice3GSiPhone: return @"N88"; + case UIDeviceUnknowniPhone: return nil; + + case UIDevice1GiPod: return @"N45"; + case UIDevice2GiPod: return @"N72"; + // case UIDevice3GiPod: return @"N80"; + case UIDeviceUnknowniPod: return IPOD_UNKNOWN_NAMESTRING; + + case UIDeviceiPhoneSimulator: return IPHONE_SIMULATOR_NAMESTRING; + + default: return IPOD_FAMILY_UNKNOWN_DEVICE; + } +} @end @implementation UIDevice (Orientation) diff --git a/UIDevice-IOKitExtensions.h b/UIDevice-IOKitExtensions.h index 3c6aefb..cc46bb0 100644 --- a/UIDevice-IOKitExtensions.h +++ b/UIDevice-IOKitExtensions.h @@ -32,9 +32,9 @@ #if SUPPORTS_IOKIT_EXTENSIONS @interface UIDevice (IOKit_Extensions) -- (NSString *) imei; -- (NSString *) serialnumber; -- (NSString *) backlightlevel; ++ (NSString *) imei; ++ (NSString *) serialnumber; ++ (NSString *) backlightlevel; @end #endif diff --git a/UIDevice-IOKitExtensions.m b/UIDevice-IOKitExtensions.m index f0a8284..3d251b0 100644 --- a/UIDevice-IOKitExtensions.m +++ b/UIDevice-IOKitExtensions.m @@ -96,21 +96,21 @@ @implementation UIDevice (IOKit_Extensions) return [p1 componentsSeparatedByString:@"\0"]; } -- (NSString *) imei ++ (NSString *) imei { NSArray *results = getValue(@"device-imei"); if (results) return [results objectAtIndex:0]; return nil; } -- (NSString *) serialnumber ++ (NSString *) serialnumber { NSArray *results = getValue(@"serial-number"); if (results) return [results objectAtIndex:0]; return nil; } -- (NSString *) backlightlevel ++ (NSString *) backlightlevel { NSArray *results = getValue(@"backlight-level"); if (results) return [results objectAtIndex:0]; diff --git a/UIDevice-Reachability.h b/UIDevice-Reachability.h index fab3089..d78e651 100644 --- a/UIDevice-Reachability.h +++ b/UIDevice-Reachability.h @@ -10,28 +10,42 @@ #define SUPPORTS_UNDOCUMENTED_API 1 +@protocol ReachabilityWatcher +- (void) reachabilityChanged; +@end + + @interface UIDevice (Reachability) -- (NSString *) hostname; ++ (NSString *) stringFromAddress: (const struct sockaddr *) address; ++ (BOOL)addressFromString:(NSString *)IPAddress address:(struct sockaddr_in *)address; -- (NSString *) localWiFiIPAddress; -- (NSString *) localIPAddress; -- (NSString *) whatismyipdotcom; ++ (NSString *) hostname; ++ (NSString *) getIPAddressForHost: (NSString *) theHost; ++ (NSString *) localIPAddress; ++ (NSString *) localWiFiIPAddress; ++ (NSString *) whatismyipdotcom; -- (BOOL) activeWLAN; -- (BOOL) addressFromString:(NSString *)IPAddress address:(struct sockaddr_in *)address; // via Apple ++ (BOOL) hostAvailable: (NSString *) theHost; ++ (BOOL) networkAvailable; ++ (BOOL) activeWLAN; ++ (BOOL) activeWWAN; ++ (BOOL) performWiFiCheck; -- (BOOL) forceWWAN; // via Apple -- (void) shutdownWWAN; // via Apple -@end ++ (BOOL) forceWWAN; // via Apple ++ (void) shutdownWWAN; // via Apple -// Methods which rely on undocumented API methods -#if SUPPORTS_UNDOCUMENTED_API ++ (BOOL) scheduleReachabilityWatcher: (id) watcher; ++ (void) unscheduleReachabilityWatcher; -@interface UIDevice (UIDevice_Undocumented_Reachability) -- (BOOL) networkAvailable; -- (BOOL) activeWWAN; +#ifdef SUPPORTS_UNDOCUMENTED_API +// Don't use this code in real life, boys and girls. It is not App Store friendly. +// It is, however, really nice for testing callbacks +// DEVICE ONLY!!!! ++ (void) setAPMode: (BOOL) yorn; +#endif @end +#ifdef SUPPORTS_UNDOCUMENTED_API @interface NSHost : NSObject { NSArray *names; @@ -55,4 +69,5 @@ - (void)dealloc; @end -#endif // SUPPORTS_UNDOCUMENTED_API +#endif + diff --git a/UIDevice-Reachability.m b/UIDevice-Reachability.m index b194773..a28441e 100644 --- a/UIDevice-Reachability.m +++ b/UIDevice-Reachability.m @@ -6,39 +6,33 @@ Use at your own risk */ -// TTD: Add async version of whatsmyip -- thanks rpetrich - -#include -#include +#import #include #include #include -#include -#include #include - +#import #import "UIDevice-Reachability.h" #import "wwanconnect.h" @implementation UIDevice (Reachability) +SCNetworkConnectionFlags connectionFlags; +SCNetworkReachabilityRef reachability; + +#pragma mark Class IP and Host Utilities +// This IP Utilities are mostly inspired by or derived from Apple code. Thank you Apple. -#pragma mark host and ip utils -- (NSString *) hostname ++ (NSString *) stringFromAddress: (const struct sockaddr *) address { - char baseHostName[255]; - int success = gethostname(baseHostName, 255); - if (success != 0) return nil; - baseHostName[255] = '\0'; + if(address && address->sa_family == AF_INET) { + const struct sockaddr_in* sin = (struct sockaddr_in*) address; + return [NSString stringWithFormat:@"%@:%d", [NSString stringWithUTF8String:inet_ntoa(sin->sin_addr)], ntohs(sin->sin_port)]; + } -#if !TARGET_IPHONE_SIMULATOR - return [NSString stringWithFormat:@"%s.local", baseHostName]; -#else - return [NSString stringWithFormat:@"%s", baseHostName]; -#endif + return nil; } -// Direct from Apple. Thank you Apple -- (BOOL)addressFromString:(NSString *)IPAddress address:(struct sockaddr_in *)address ++ (BOOL)addressFromString:(NSString *)IPAddress address:(struct sockaddr_in *)address { if (!IPAddress || ![IPAddress length]) { return NO; @@ -57,28 +51,41 @@ - (BOOL)addressFromString:(NSString *)IPAddress address:(struct sockaddr_in *)ad return YES; } -- (NSString *) getIPAddressForHost: (NSString *) theHost ++ (NSString *) hostname { - struct hostent *host = gethostbyname([theHost UTF8String]); - - if (host == NULL) { - herror("resolv"); - return NULL; - } + char baseHostName[255]; + int success = gethostname(baseHostName, 255); + if (success != 0) return nil; + baseHostName[255] = '\0'; + #if !TARGET_IPHONE_SIMULATOR + return [NSString stringWithFormat:@"%s.local", baseHostName]; + #else + return [NSString stringWithFormat:@"%s", baseHostName]; + #endif +} + ++ (NSString *) getIPAddressForHost: (NSString *) theHost +{ + struct hostent *host = gethostbyname([theHost UTF8String]); + if (!host) {herror("resolv"); return NULL; } struct in_addr **list = (struct in_addr **)host->h_addr_list; - NSString *addressString = [NSString stringWithCString:inet_ntoa(*list[0])]; + NSString *addressString = [NSString stringWithCString:inet_ntoa(*list[0]) encoding:NSUTF8StringEncoding]; return addressString; } -#if ! defined(IFT_ETHER) -#define IFT_ETHER 0x6 // Ethernet CSMACD -#endif ++ (NSString *) localIPAddress +{ + struct hostent *host = gethostbyname([[self hostname] UTF8String]); + if (!host) {herror("resolv"); return nil;} + struct in_addr **list = (struct in_addr **)host->h_addr_list; + return [NSString stringWithCString:inet_ntoa(*list[0]) encoding:NSUTF8StringEncoding]; +} // Matt Brown's get WiFi IP addy solution // Author gave permission to use in Cookbook under cookbook license // http://mattbsoftware.blogspot.com/2009/04/how-to-get-ip-address-of-iphone-os-v221.html -- (NSString *) localWiFiIPAddress ++ (NSString *) localWiFiIPAddress { BOOL success; struct ifaddrs * addrs; @@ -92,9 +99,8 @@ - (NSString *) localWiFiIPAddress if (cursor->ifa_addr->sa_family == AF_INET && (cursor->ifa_flags & IFF_LOOPBACK) == 0) { NSString *name = [NSString stringWithUTF8String:cursor->ifa_name]; - if ([name isEqualToString:@"en0"]) { // found the WiFi adapter + if ([name isEqualToString:@"en0"]) // Wi-Fi adapter return [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)]; - } } cursor = cursor->ifa_next; } @@ -103,77 +109,217 @@ - (NSString *) localWiFiIPAddress return nil; } -// Return the local IP address -- (NSString *) localIPAddress ++ (NSString *) whatismyipdotcom { - struct hostent *host = gethostbyname([[self hostname] UTF8String]); - if (host == NULL) + NSError *error; + NSURL *ipURL = [NSURL URLWithString:@"http://www.whatismyip.com/automation/n09230945.asp"]; + NSString *ip = [NSString stringWithContentsOfURL:ipURL encoding:1 error:&error]; + return ip ? ip : [error localizedDescription]; +} + ++ (BOOL) hostAvailable: (NSString *) theHost +{ + + NSString *addressString = [self getIPAddressForHost:theHost]; + if (!addressString) + { + printf("Error recovering IP address from host name\n"); + return NO; + } + + struct sockaddr_in address; + BOOL gotAddress = [self addressFromString:addressString address:&address]; + + if (!gotAddress) + { + printf("Error recovering sockaddr address from %s\n", [addressString UTF8String]); + return NO; + } + + SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&address); + SCNetworkReachabilityFlags flags; + + BOOL didRetrieveFlags =SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags); + CFRelease(defaultRouteReachability); + + if (!didRetrieveFlags) + { + printf("Error. Could not recover network reachability flags\n"); + return NO; + } + + BOOL isReachable = flags & kSCNetworkFlagsReachable; + return isReachable ? YES : NO;; +} + +#pragma mark Checking Connections + ++ (void) pingReachabilityInternal +{ + if (!reachability) { - herror("resolv"); - return nil; + BOOL ignoresAdHocWiFi = NO; + struct sockaddr_in ipAddress; + bzero(&ipAddress, sizeof(ipAddress)); + ipAddress.sin_len = sizeof(ipAddress); + ipAddress.sin_family = AF_INET; + ipAddress.sin_addr.s_addr = htonl(ignoresAdHocWiFi ? INADDR_ANY : IN_LINKLOCALNETNUM); + + /* Can also create zero addy + struct sockaddr_in zeroAddress; + bzero(&zeroAddress, sizeof(zeroAddress)); + zeroAddress.sin_len = sizeof(zeroAddress); + zeroAddress.sin_family = AF_INET; */ + + reachability = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (struct sockaddr *)&ipAddress); + CFRetain(reachability); } - else { - struct in_addr **list = (struct in_addr **)host->h_addr_list; - return [NSString stringWithCString:inet_ntoa(*list[0])]; - } - return nil; + + // Recover reachability flags + BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(reachability, &connectionFlags); + if (!didRetrieveFlags) printf("Error. Could not recover network reachability flags\n"); } -- (NSString *) whatismyipdotcom ++ (BOOL) networkAvailable { - NSError *error; - NSURL *ipURL = [NSURL URLWithString:@"http://www.whatismyip.com/automation/n09230945.asp"]; - NSString *ip = [NSString stringWithContentsOfURL:ipURL encoding:1 error:&error]; - if (!ip) return [error localizedDescription]; - return ip; + [self pingReachabilityInternal]; + BOOL isReachable = ((connectionFlags & kSCNetworkFlagsReachable) != 0); + BOOL needsConnection = ((connectionFlags & kSCNetworkFlagsConnectionRequired) != 0); + return (isReachable && !needsConnection) ? YES : NO; +} + ++ (BOOL) activeWWAN +{ + if (![self networkAvailable]) return NO; + return ((connectionFlags & kSCNetworkReachabilityFlagsIsWWAN) != 0); } -- (BOOL) activeWLAN ++ (BOOL) activeWLAN { - return ([self localWiFiIPAddress] != nil); + return ([UIDevice localWiFiIPAddress] != nil); } -#pragma mark Forcing WWAN connection -MyStreamInfoPtr myInfoPtr; +#pragma mark WiFi Check and Alert ++ (void) showAlert: (id) formatstring,... +{ + va_list arglist; + if (!formatstring) return; + va_start(arglist, formatstring); + id outstring = [[[NSString alloc] initWithFormat:formatstring arguments:arglist] autorelease]; + va_end(arglist); + + UIAlertView *av = [[[UIAlertView alloc] initWithTitle:outstring message:nil delegate:nil cancelButtonTitle:@"OK"otherButtonTitles:nil] autorelease]; + [av show]; +} + ++ (BOOL) performWiFiCheck +{ + if (![self networkAvailable] || ![self activeWLAN]) + { + [self performSelector:@selector(showAlert:) withObject:@"This application requires WiFi. Please enable WiFi in Settings and run this application again." afterDelay:0.5f]; + return NO; + } + return YES; +} +#pragma mark Forcing WWAN connection. Courtesy of Apple. Thank you Apple. +MyStreamInfoPtr myInfoPtr; static void myClientCallback(void *refCon) { int *val = (int*)refCon; printf("myClientCallback entered - value from refCon is %d\n", *val); } -- (BOOL) forceWWAN ++ (BOOL) forceWWAN { int value = 0; myInfoPtr = (MyStreamInfoPtr) StartWWAN(myClientCallback, &value); - if (myInfoPtr) + NSLog(@"%@", myInfoPtr ? @"Started WWAN" : @"Failed to start WWAN"); + return (!(myInfoPtr == NULL)); +} + ++ (void) shutdownWWAN +{ + if (myInfoPtr) StopWWAN((MyInfoRef) myInfoPtr); +} + +#pragma mark Monitoring reachability +static void ReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkConnectionFlags flags, void* info) +{ + NSAutoreleasePool *pool = [NSAutoreleasePool new]; + [(id)info performSelector:@selector(reachabilityChanged)]; + [pool release]; +} + ++ (BOOL) scheduleReachabilityWatcher: (id) watcher +{ + if (![watcher conformsToProtocol:@protocol(ReachabilityWatcher)]) + { + NSLog(@"Watcher must conform to ReachabilityWatcher protocol. Cannot continue."); + return NO; + } + + [self pingReachabilityInternal]; + + SCNetworkReachabilityContext context = {0, watcher, NULL, NULL, NULL}; + if(SCNetworkReachabilitySetCallback(reachability, ReachabilityCallback, &context)) + { + if(!SCNetworkReachabilityScheduleWithRunLoop(reachability, CFRunLoopGetCurrent(), kCFRunLoopCommonModes)) + { + NSLog(@"Error: Could not schedule reachability"); + SCNetworkReachabilitySetCallback(reachability, NULL, NULL); + return NO; + } + } + else { - printf("Started WWAN\n"); - return YES; + NSLog(@"Error: Could not set reachability callback"); + return NO; } - printf("Failed to start WWAN\n"); - return NO; + + return YES; } -- (void) shutdownWWAN ++ (void) unscheduleReachabilityWatcher { - if (myInfoPtr) StopWWAN((MyInfoRef) myInfoPtr); + SCNetworkReachabilitySetCallback(reachability, NULL, NULL); + if (SCNetworkReachabilityUnscheduleFromRunLoop(reachability, CFRunLoopGetCurrent(), kCFRunLoopCommonModes)) + NSLog(@"Unscheduled reachability"); + else + NSLog(@"Error: Could not unschedule reachability"); + + CFRelease(reachability); + reachability = nil; } -@end +#ifdef SUPPORTS_UNDOCUMENTED_API +#define SBSERVPATH "/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices" +#define UIKITPATH "/System/Library/Framework/UIKit.framework/UIKit" -#if SUPPORTS_UNDOCUMENTED_API -@implementation UIDevice (UIDevice_Undocumented_Reachability) -- (BOOL) networkAvailable +// Don't use this code in real life, boys and girls. It is not App Store friendly. +// It is, however, really nice for testing callbacks ++ (void) setAPMode: (BOOL) yorn { - // Unavailable has only one address: 127.0.0.1 - return !(([[[NSHost currentHost] addresses] count] == 1) && [[self localIPAddress] isEqualToString:@"127.0.0.1"]); + mach_port_t *thePort; + void *uikit = dlopen(UIKITPATH, RTLD_LAZY); + int (*SBSSpringBoardServerPort)() = dlsym(uikit, "SBSSpringBoardServerPort"); + thePort = (mach_port_t *)SBSSpringBoardServerPort(); + dlclose(uikit); + + // Link to SBSetAirplaneModeEnabled + void *sbserv = dlopen(SBSERVPATH, RTLD_LAZY); + int (*setAPMode)(mach_port_t* port, BOOL yorn) = dlsym(sbserv, "SBSetAirplaneModeEnabled"); + setAPMode(thePort, yorn); + dlclose(sbserv); } -- (BOOL) activeWWAN +// This uses the NSHost class illicitly ++ (BOOL) networkAvailableByNSHost { - return ([self networkAvailable] && ![self localWiFiIPAddress]); + // Unavailable has only one address: 127.0.0.1 + return !(([[[NSHost currentHost] addresses] count] == 1) && + [[UIDevice localIPAddress] isEqualToString:@"127.0.0.1"]); } -@end -#endif // SUPPORTS_UNDOCUMENTED_API +#endif +@end \ No newline at end of file diff --git a/cover320x416.png b/cover320x416.png new file mode 100644 index 0000000000000000000000000000000000000000..8683b68d3053463d01da927d3a0658e036de1717 GIT binary patch literal 78576 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

?%DhSF*p@{~2^%nliu=QdGsdn>*Cuj;|N7z_2- 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 M07*qoM6N<$f;uP`I{*Lx literal 0 HcmV?d00001 diff --git a/main.m b/main.m index fc34a30..16ccfe5 100755 --- a/main.m +++ b/main.m @@ -1,136 +1,86 @@ +/* + Erica Sadun, http://ericasadun.com + iPhone Developer's Cookbook, 3.0 Edition + BSD License, Use at your own risk + */ + #import -#import "UIDevice-Hardware.h" #import "UIDevice-Reachability.h" #import "UIDevice-IOKitExtensions.h" -#import "UIApplication-Proximity.h" - -/* - Things to add: WiFi scanning, Cell Tower scanning, Bluetooth? - Add hasBluetooth for device capabilities in some way? Different bluetooth types? -*/ - -@interface TestBedController : UIViewController -@end - -@implementation TestBedController -- (void) performAction -{ - // Some core device info - CFShow([[UIDevice currentDevice] model]); - CFShow([[UIDevice currentDevice] platformString]); - CFShow([[UIDevice currentDevice] platform]); - - NSLog(@"CPU Freq %d", [[UIDevice currentDevice] cpuFrequency]); - NSLog(@"Bus Freq %d", [[UIDevice currentDevice] busFrequency]); - NSLog(@"Tot. Mem %d", [[UIDevice currentDevice] totalMemory]); - NSLog(@"User Mem %d", [[UIDevice currentDevice] userMemory]); - -#if SUPPORTS_IOKIT_EXTENSIONS - // Show IOKit - CFShow([[UIDevice currentDevice] imei]); - CFShow([[UIDevice currentDevice] serialnumber]); - CFShow([[UIDevice currentDevice] backlightlevel]); -#endif - - // Perform some connectivity checks - printf("hostname: "); - CFShow([[UIDevice currentDevice] hostname]); - -#if SUPPORTS_UNDOCUMENTED_API - printf("Names: "); - CFShow([[NSHost currentHost] names]); - CFShow([[NSHost currentHost] name]); -#endif - - printf("localipaddy: "); - CFShow([[UIDevice currentDevice] localIPAddress]); - printf("localWifiIPAddy: "); - CFShow([[UIDevice currentDevice] localWiFiIPAddress]); - -#if SUPPORTS_UNDOCUMENTED_API - printf("current host addys: "); - CFShow([[NSHost currentHost] addresses]); - - printf("current host addy: "); - CFShow([[NSHost currentHost] address]); -#endif - - // Need to put this into an asynch solution - // printf("whatismyipdotcom: "); - // CFShow([[UIDevice currentDevice] whatismyipdotcom]); - - printf("macaddy: "); - CFShow([[UIDevice currentDevice] macaddress]); - /* - [(UITextView *)self.view setText:[NSString stringWithFormat:@"Hostname: %@\nIP: %@\nMy IP: %@", - [[UIDevice currentDevice] hostname], - [[UIDevice currentDevice] localIPAddress], - [[UIDevice currentDevice] whatismyipdotcom] - ]]; - - printf("Has WLAN: %s\n", [[UIDevice currentDevice] activeWLAN] ? "Yes" : "No"); - -#if SUPPORTS_UNDOCUMENTED_API - printf("Has WWAN: %s\n", [[UIDevice currentDevice] activeWWAN] ? "Yes" : "No"); -#endif - */ -} +#import "UIDevice-Hardware.h" +#define COOKBOOK_PURPLE_COLOR [UIColor colorWithRed:0.20392f green:0.19607f blue:0.61176f alpha:1.0f] +#define BARBUTTON(TITLE, SELECTOR) [[[UIBarButtonItem alloc] initWithTitle:TITLE style:UIBarButtonItemStylePlain target:self action:SELECTOR] autorelease] -- (void)loadView +@interface TestBedViewController : UIViewController { - UITextView *contentView = [[UITextView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; - contentView.editable = NO; - contentView.font = [UIFont systemFontOfSize:20.0f]; - self.view = contentView; - contentView.backgroundColor = [UIColor whiteColor]; - [contentView release]; - self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] - initWithTitle:@"Action" - style:UIBarButtonItemStylePlain - target:self - action:@selector(performAction)] autorelease]; - [self performSelector:@selector(performAction) withObject:nil afterDelay:0.5f]; + NSMutableString *log; + IBOutlet UITextView *textView; } +@property (retain) NSMutableString *log; +@property (retain) UITextView *textView; @end -#if SUPPORTS_UNDOCUMENTED_APPLICATION_PROXIMITY -@interface TestBedAppDelegate : NSObject -@end -@implementation TestBedAppDelegate +@implementation TestBedViewController +@synthesize log; +@synthesize textView; -- (void) proximityStateDidChange: (NSNumber *) newSetting +- (void) doLog: (NSString *) formatstring, ... { - BOOL isOn = [newSetting boolValue]; - printf("Proximity sensor triggered: %s\n", isOn ? "on" : "off"); + va_list arglist; + if (!formatstring) return; + va_start(arglist, formatstring); + NSString *outstring = [[[NSString alloc] initWithFormat:formatstring arguments:arglist] autorelease]; + va_end(arglist); + [self.log appendString:outstring]; + [self.log appendString:@"\n"]; + self.textView.text = self.log; } -- (void)applicationDidFinishLaunching:(ProximityApplication *)application { - UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; - UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:[[TestBedController alloc] init]]; - [window addSubview:nav.view]; - [window makeKeyAndVisible]; +- (void) action: (UIBarButtonItem *) bbi +{ + self.log = [NSMutableString string]; + + // TESTING REACHABILITY + /* + [self doLog:@"Host Name: %@", [UIDevice hostname]]; + [self doLog:@"Local IP Addy: %@", [UIDevice localIPAddress]]; + [self doLog:@" Google IP Addy: %@", [UIDevice getIPAddressForHost:@"www.google.com"]]; + [self doLog:@" Amazon IP Addy: %@", [UIDevice getIPAddressForHost:@"www.amazon.com"]]; + [self doLog:@"Local WiFI Addy: %@", [UIDevice localWiFiIPAddress]]; + if ([UIDevice networkAvailable]) + [self doLog:@"What is My IP: %@", [UIDevice whatismyipdotcom]]; + */ - [UIDevice currentDevice].proximityMonitoringEnabled = YES; - application.proximityClient = self; + // TESTING IOKIT + /* + [self doLog:[UIDevice imei]]; + [self doLog:[UIDevice serialnumber]]; + */ + + // TESTING DEVICE HARDWARE + [self doLog:@"Device is%@ portrait", [UIDevice currentDevice].isPortrait ? @"" : @" not"]; + [self doLog:@"Orientation: %@", [UIDevice currentDevice].orientationString]; + [self doLog:@"Platform: %@", [UIDevice platform]]; + [self doLog:@"Platform String: %@", [UIDevice platformString]]; + [self doLog:@"Platform Code: %@", [UIDevice platformCode]]; + [self doLog:@"CPU Freq: %d\nBus Freq: %d\nTotal Memory: %d\nUser Memory: %d", [UIDevice cpuFrequency], [UIDevice busFrequency], [UIDevice totalMemory], [UIDevice userMemory]]; + [self doLog:@"Mac addy: %@", [UIDevice macaddress]]; } -@end -int main(int argc, char *argv[]) +- (void) viewDidLoad { - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - int retVal = UIApplicationMain(argc, argv, @"ProximityApplication", @"TestBedAppDelegate"); - [pool release]; - return retVal; + self.navigationController.navigationBar.tintColor = COOKBOOK_PURPLE_COLOR; + self.navigationItem.rightBarButtonItem = BARBUTTON(@"Action", @selector(action:)); } - -#else +@end @interface TestBedAppDelegate : NSObject @end + @implementation TestBedAppDelegate - (void)applicationDidFinishLaunching:(UIApplication *)application { UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; - UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:[[TestBedController alloc] init]]; + UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:[[TestBedViewController alloc] init]]; [window addSubview:nav.view]; [window makeKeyAndVisible]; } @@ -143,4 +93,3 @@ int main(int argc, char *argv[]) [pool release]; return retVal; } -#endif \ No newline at end of file