Skip to content
Browse files

display wifi access points on the map

  • Loading branch information...
1 parent 880ba9a commit 7dd3329bc27307dbc37abc0bad6ea5d734662cb3 @nst committed Oct 31, 2010
View
2 Classes/SPImageAnnotation.m
@@ -16,7 +16,7 @@ @implementation SPImageAnnotation
@synthesize path;
@synthesize coordinate;
-+ (SPImageAnnotation *) annotationWithCoordinate:(CLLocationCoordinate2D)coord date:(NSDate *)date path:(NSString *)path {
++ (SPImageAnnotation *)annotationWithCoordinate:(CLLocationCoordinate2D)coord date:(NSDate *)date path:(NSString *)path {
SPImageAnnotation *annotation = [[SPImageAnnotation alloc] init];
annotation.coordinate = coord;
annotation.path = path;
View
2 Classes/SPMapVC.h → Classes/SPImageMapVC.h
@@ -12,7 +12,7 @@
@class SPImageVC;
-@interface SPMapVC : UIViewController <MKMapViewDelegate> {
+@interface SPImageMapVC : UIViewController <MKMapViewDelegate> {
NSArray *annotations;
IBOutlet MKMapView *mapView;
View
6 Classes/SPMapVC.m → Classes/SPImageMapVC.m
@@ -7,10 +7,10 @@
// Licensed under GPL 2.0 http://www.gnu.org/licenses/gpl-2.0.txt
//
-#import "SPMapVC.h"
+#import "SPImageMapVC.h"
#import "SPImageVC.h"
-@implementation SPMapVC
+@implementation SPImageMapVC
@synthesize annotations;
@@ -92,11 +92,9 @@ - (void)viewDidUnload {
self.annotations = nil;
}
-
- (void)dealloc {
[annotations release];
[super dealloc];
}
-
@end
View
4 Classes/SPSourceLocationTVC.m
@@ -9,7 +9,7 @@
#import "SPSourceLocationTVC.h"
#import <CoreLocation/CoreLocation.h>
-#import "SPMapVC.h"
+#import "SPImageMapVC.h"
#import "SPImageAnnotation.h"
@implementation SPSourceLocationTVC
@@ -24,7 +24,7 @@ @implementation SPSourceLocationTVC
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.section == 0 && indexPath.row == 0 && cachedLocationFromMaps) {
- SPMapVC *mapVC = [[SPMapVC alloc] initWithNibName:@"SPMapVC" bundle:[NSBundle mainBundle]];
+ SPImageMapVC *mapVC = [[SPImageMapVC alloc] initWithNibName:@"SPImageMapVC" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:mapVC animated:YES];
SPImageAnnotation *annotation = [SPImageAnnotation annotationWithCoordinate:cachedLocationFromMaps.coordinate date:nil path:nil];
[mapVC addAnnotation:annotation];
View
6 Classes/SPSourcePhotosTVC.h
@@ -9,20 +9,20 @@
#import "SPSourceTVC.h"
-@class SPMapVC;
+@class SPImageMapVC;
@class SPImageVC;
@interface SPSourcePhotosTVC : SPSourceTVC {
NSMutableArray *coordinates;
NSMutableArray *annotations;
- IBOutlet SPMapVC *mapVC;
+ IBOutlet SPImageMapVC *mapVC;
IBOutlet SPImageVC *imageVC;
}
@property (nonatomic, retain) NSMutableArray *annotations;
@property (nonatomic, retain) NSMutableArray *coordinates;
-@property (nonatomic, retain) SPMapVC *mapVC;
+@property (nonatomic, retain) SPImageMapVC *mapVC;
@property (nonatomic, retain) SPImageVC *imageVC;
@end
View
2 Classes/SPSourcePhotosTVC.m
@@ -10,7 +10,7 @@
#import <CoreLocation/CoreLocation.h>
#import "SPSourcePhotosTVC.h"
#import "UIImage+GPS.h"
-#import "SPMapVC.h"
+#import "SPImageMapVC.h"
#import "SPImageVC.h"
#import "SPImageAnnotation.h"
View
10 Classes/SPSourceWifiTVC.h
@@ -11,8 +11,16 @@
#import "SPSourceTVC.h"
#import "OUILookupTool.h"
-@interface SPSourceWifiTVC : SPSourceTVC <OUILookupToolDelegate> {
+@class SPWifiMapVC;
+@interface SPSourceWifiTVC : SPSourceTVC <OUILookupToolDelegate> {
+ NSMutableArray *annotations;
+ NSMutableArray *accessPoints;
+ IBOutlet SPWifiMapVC *mapVC;
}
+@property (nonatomic, retain) NSMutableArray *annotations;
+@property (nonatomic, retain) NSMutableArray *accessPoints;
+@property (nonatomic, retain) SPWifiMapVC *mapVC;
+
@end
View
56 Classes/SPSourceWifiTVC.m
@@ -9,16 +9,30 @@
#import "SPSourceWifiTVC.h"
#import "OUILookupTool.h"
+#import "SPWifiMapVC.h"
+#import "SPWifiAnnotation.h"
+#import "SPCell.h"
@implementation SPSourceWifiTVC
+@synthesize annotations;
+@synthesize accessPoints;
+@synthesize mapVC;
+
- (void)loadData {
//[OUILookupTool lookupBSSID:@"0:30:bd:97:7:72" delegate:self];
if(contentsDictionaries) return;
+ UIBarButtonItem *mapButton = [[UIBarButtonItem alloc] initWithTitle:@"Map" style:UIBarButtonItemStylePlain target:self action:@selector(mapButtonClicked:)];
+ super.navigationItem.rightBarButtonItem = mapButton;
+
self.contentsDictionaries = [NSMutableArray array];
+
+ self.annotations = [NSMutableArray array];
+
+ self.accessPoints = [NSMutableArray array];
NSString *path = @"/Library/Preferences/SystemConfiguration/com.apple.wifi.plist";
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
@@ -28,23 +42,59 @@ - (void)loadData {
if(!a) return;
for(NSDictionary *d in a) {
- [OUILookupTool locateWifiAccessPoint:d delegate:self];
+ NSMutableDictionary *md = [NSMutableDictionary dictionaryWithDictionary:d];
+
+ [OUILookupTool locateWifiAccessPoint:md delegate:self];
NSString *name = [d valueForKey:@"SSID_STR"];
- NSData *joined = [d valueForKey:@"lastJoined"];
- NSData *autoJoined = [d valueForKey:@"lastAutoJoined"];
+ NSDate *joined = [md valueForKey:@"lastJoined"];
+ NSDate *autoJoined = [md valueForKey:@"lastAutoJoined"];
NSString *date = [NSString stringWithFormat:@"%@", autoJoined ? autoJoined : joined];
[contentsDictionaries addObject:[NSDictionary dictionaryWithObject:[NSArray arrayWithObject:name] forKey:date]];
+ [accessPoints addObject:md];
}
}
+- (void)mapButtonClicked:(id)sender {
+ mapVC.annotations = annotations;
+ [self.navigationController pushViewController:mapVC animated:YES];
+}
+
+- (void)dealloc {
+ [accessPoints release];
+ [annotations release];
+ [mapVC release];
+ [super dealloc];
+}
+
#pragma mark OUILookupTool
- (void)OUILookupTool:(OUILookupTool *)ouiLookupTool didLocateAccessPoint:(NSDictionary *)ap {
//NSLog(@"-- %@", ap);
+
+ [accessPoints addObject:ap];
+
+ SPWifiAnnotation *annotation = [SPWifiAnnotation annotationWithAccessPoint:ap];
+
+ if(annotation) [annotations addObject:annotation];
+}
+
+#pragma mark UITableViewDelegate
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
+
+ NSDictionary *ap = [accessPoints objectAtIndex:indexPath.section];
+
+ SPWifiAnnotation *annotation = [SPWifiAnnotation annotationWithAccessPoint:ap];
+
+ if(annotation == nil) return;
+
+ mapVC.annotations = [NSArray arrayWithObject:annotation];
+
+ [self.navigationController pushViewController:mapVC animated:YES];
}
@end
View
28 Classes/SPWifiAnnotation.h
@@ -0,0 +1,28 @@
+//
+// SPWifiAnnotation.h
+// SpyPhone
+//
+// Created by Nicolas Seriot on 10/31/10.
+// Copyright 2010 IICT. All rights reserved.
+//
+
+#import <MapKit/MapKit.h>
+
+@protocol MKAnnotation;
+
+@interface SPWifiAnnotation : NSObject <MKAnnotation> {
+ NSDictionary *accessPoint;
+ CLLocationCoordinate2D coordinate;
+}
+
+@property (nonatomic, retain) NSDictionary *accessPoint;
+@property (nonatomic, readwrite) CLLocationCoordinate2D coordinate;
+
++ (SPWifiAnnotation *)annotationWithAccessPoint:(NSDictionary *)d;
+
+- (NSString *)annotationViewIdentifier;
+
+- (NSString *)title;
+- (NSString *)subtitle;
+
+@end
View
51 Classes/SPWifiAnnotation.m
@@ -0,0 +1,51 @@
+//
+// SPWifiAnnotation.m
+// SpyPhone
+//
+// Created by Nicolas Seriot on 10/31/10.
+// Copyright 2010 IICT. All rights reserved.
+//
+
+#import "SPWifiAnnotation.h"
+
+
+@implementation SPWifiAnnotation
+
+@synthesize coordinate;
+@synthesize accessPoint;
+
+- (NSString *)title {
+ return [accessPoint valueForKey:@"SSID_STR"];
+}
+
+- (NSString *)subtitle {
+ NSDate *joined = [accessPoint valueForKey:@"lastJoined"];
+ NSDate *autoJoined = [accessPoint valueForKey:@"lastAutoJoined"];
+
+ NSDate *date = autoJoined ? autoJoined : joined;
+
+ return [date description];
+}
+
++ (SPWifiAnnotation *)annotationWithAccessPoint:(NSDictionary *)ap {
+ NSString *latitude = [ap valueForKeyPath:@"location.latitude"];
+ NSString *longitude = [ap valueForKeyPath:@"location.longitude"];
+
+ if(latitude == nil || longitude == nil) return nil;
+
+ SPWifiAnnotation *annotation = [[SPWifiAnnotation alloc] init];
+ annotation.accessPoint = ap;
+ annotation.coordinate = CLLocationCoordinate2DMake([latitude doubleValue], [longitude doubleValue]);;
+ return [annotation autorelease];
+}
+
+- (void)dealloc {
+ [accessPoint release];
+ [super dealloc];
+}
+
+- (NSString *)annotationViewIdentifier {
+ return [accessPoint valueForKey:@"BSSID"];
+}
+
+@end
View
24 Classes/SPWifiMapVC.h
@@ -0,0 +1,24 @@
+//
+// SPWifiMapVC.h
+// SpyPhone
+//
+// Created by Nicolas Seriot on 10/31/10.
+// Copyright 2010 IICT. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import <MapKit/MapKit.h>
+
+@interface SPWifiMapVC : UIViewController {
+ NSArray *annotations;
+
+ IBOutlet MKMapView *mapView;
+}
+
+@property (nonatomic, retain) NSArray *annotations;
+
+//- (void)addAnnotation:(id <MKAnnotation>)annotation;
+
+- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation;
+
+@end
View
78 Classes/SPWifiMapVC.m
@@ -0,0 +1,78 @@
+//
+// SPWifiMapVC.m
+// SpyPhone
+//
+// Created by Nicolas Seriot on 10/31/10.
+// Copyright 2010 IICT. All rights reserved.
+//
+
+#import "SPWifiMapVC.h"
+
+
+@implementation SPWifiMapVC
+
+@synthesize annotations;
+
+//- (void)setAnnotations:(NSArray *)someAnnotations {
+// [mapView removeAnnotations:mapView.annotations];
+//
+// [annotations autorelease];
+// annotations = [someAnnotations retain];
+//
+// [mapView addAnnotations:annotations];
+//}
+
+- (void)loadView {
+ [super loadView];
+
+ self.title = @"Wifi Map";
+}
+
+- (void)viewWillAppear:(BOOL)animated {
+ [super viewWillAppear:animated];
+
+ [mapView removeAnnotations:annotations];
+}
+
+- (void)viewDidAppear:(BOOL)animated {
+ [super viewDidAppear:animated];
+
+ [mapView addAnnotations:annotations];
+
+ id <MKAnnotation>annotation = [annotations lastObject];
+ MKCoordinateSpan span = MKCoordinateSpanMake(0.03, 0.03);
+ MKCoordinateRegion region = [mapView regionThatFits:MKCoordinateRegionMake(annotation.coordinate, span)];
+
+ [mapView setRegion:region animated:NO];
+
+ if([annotations count] == 1) [mapView selectAnnotation:[annotations lastObject] animated:YES];
+}
+
+- (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id <MKAnnotation>)annotation {
+
+ if([annotation isKindOfClass:[MKUserLocation class]]) return nil;
+
+ NSString *annID = @"SPWifiAnnotation";
+ MKAnnotationView *av = [aMapView dequeueReusableAnnotationViewWithIdentifier:annID];
+
+ if(av == nil) {
+ av = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annID] autorelease];
+ av.canShowCallout = YES;
+ }
+ return av;
+}
+
+/*
+// Override to allow orientations other than the default portrait orientation.
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
+ // Return YES for supported orientations
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+}
+*/
+
+- (void)dealloc {
+ [annotations release];
+ [super dealloc];
+}
+
+@end
View
404 Classes/SPWifiMapVC.xib
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10F569</string>
+ <string key="IBDocument.InterfaceBuilderVersion">804</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">123</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="1"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="975951072">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="191373211">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBMKMapView" id="157797824">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">274</int>
+ <string key="NSFrameSize">{320, 460}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <string key="NSFrameSize">{320, 460}</string>
+ <reference key="NSSuperview"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="191373211"/>
+ </object>
+ <int key="connectionID">3</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">mapView</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="157797824"/>
+ </object>
+ <int key="connectionID">5</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="157797824"/>
+ <reference key="destination" ref="372490531"/>
+ </object>
+ <int key="connectionID">6</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="975951072"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="191373211"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="157797824"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4</int>
+ <reference key="object" ref="157797824"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>1.IBEditorWindowLastContentRect</string>
+ <string>1.IBPluginDependency</string>
+ <string>4.IBPluginDependency</string>
+ <string>4.IBViewBoundsToFrameTransform</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>SPWifiMapVC</string>
+ <string>UIResponder</string>
+ <string>{{556, 376}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <object class="NSAffineTransform">
+ <bytes key="NSTransformStruct">P4AAAL+AAADBMAAAxA2AAA</bytes>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">6</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">JSON/NSObject+SBJSON.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">JSON/SBProxyForJson.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">SPWifiMapVC</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">mapView</string>
+ <string key="NS.object.0">MKMapView</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">mapView</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">mapView</string>
+ <string key="candidateClassName">MKMapView</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Classes/SPWifiMapVC.h</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">MKMapView</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">MapKit.framework/Headers/MKMapView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="381350413">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIResponder</string>
+ <string key="superclassName">NSObject</string>
+ <reference key="sourceIdentifier" ref="381350413"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchBar</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchDisplayController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">MediaPlayer.framework/Headers/MPMoviePlayerViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <integer value="1024" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3000" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <string key="IBDocument.LastKnownRelativeProjectPath">../SpyPhone.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">123</string>
+ </data>
+</archive>
View
BIN Default.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
621 MainWindow.xib
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
- <int key="IBDocument.SystemTarget">784</int>
- <string key="IBDocument.SystemVersion">10C540</string>
- <string key="IBDocument.InterfaceBuilderVersion">740</string>
- <string key="IBDocument.AppKitVersion">1038.25</string>
- <string key="IBDocument.HIToolboxVersion">458.00</string>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10F569</string>
+ <string key="IBDocument.InterfaceBuilderVersion">804</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="NS.object.0">62</string>
+ <string key="NS.object.0">123</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="145"/>
+ <integer value="119"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -31,11 +31,15 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="841351856">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="532797962">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUICustomObject" id="664661524">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
- <object class="IBUICustomObject" id="664661524"/>
<object class="IBUIWindow" id="380026005">
<nil key="NSNextResponder"/>
<int key="NSvFlags">1316</int>
@@ -48,141 +52,147 @@
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIVisibleAtLaunch">YES</bool>
</object>
<object class="IBUITabBarController" id="1034742383">
<object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
- <object class="IBUIViewController" key="IBUISelectedViewController" id="810586621">
- <string key="IBUITitle">Report</string>
- <object class="IBUITabBarItem" key="IBUITabBarItem" id="217035927">
- <string key="IBUITitle">Email Report</string>
- <object class="NSCustomResource" key="IBUIImage">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">report.png</string>
- </object>
- <reference key="IBUITabBar"/>
- </object>
- <reference key="IBUIToolbarItems" ref="0"/>
- <reference key="IBUIParentViewController" ref="1034742383"/>
- <string key="IBUINibName">SPEmailReportVC</string>
- </object>
- <object class="NSMutableArray" key="IBUIViewControllers">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBUIViewController" id="1024858337">
- <string key="IBUITitle">SpyPhone</string>
- <object class="IBUIView" key="IBUIView" id="434903890">
- <nil key="NSNextResponder"/>
- <int key="NSvFlags">274</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBUILabel" id="375618992">
- <reference key="NSNextResponder" ref="434903890"/>
- <int key="NSvFlags">306</int>
- <string key="NSFrame">{{80, 156}, {159, 43}}</string>
- <reference key="NSSuperview" ref="434903890"/>
- <object class="NSColor" key="IBUIBackgroundColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MSAwAA</bytes>
- <object class="NSColorSpace" key="NSCustomColorSpace" id="911360926">
- <int key="NSID">2</int>
- </object>
- </object>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <bool key="IBUIUserInteractionEnabled">NO</bool>
- <string key="IBUIText">SpyPhone</string>
- <object class="NSFont" key="IBUIFont">
- <string key="NSName">Helvetica</string>
- <double key="NSSize">36</double>
- <int key="NSfFlags">16</int>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ <object class="IBUIViewController" key="IBUISelectedViewController" id="1024858337">
+ <string key="IBUITitle">SpyPhone</string>
+ <object class="IBUIView" key="IBUIView" id="434903890">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUILabel" id="375618992">
+ <reference key="NSNextResponder" ref="434903890"/>
+ <int key="NSvFlags">306</int>
+ <string key="NSFrame">{{80, 156}, {159, 43}}</string>
+ <reference key="NSSuperview" ref="434903890"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MSAwAA</bytes>
+ <object class="NSColorSpace" key="NSCustomColorSpace" id="911360926">
+ <int key="NSID">2</int>
</object>
- <reference key="IBUITextColor" ref="131293388"/>
- <nil key="IBUIHighlightedColor"/>
- <int key="IBUIBaselineAdjustment">1</int>
- <float key="IBUIMinimumFontSize">10</float>
- <int key="IBUITextAlignment">1</int>
</object>
- <object class="IBUITextView" id="876077251">
- <reference key="NSNextResponder" ref="434903890"/>
- <int key="NSvFlags">306</int>
- <string key="NSFrame">{{20, 238}, {280, 153}}</string>
- <reference key="NSSuperview" ref="434903890"/>
- <object class="NSColor" key="IBUIBackgroundColor">
- <int key="NSColorSpace">1</int>
- <bytes key="NSRGB">MSAxIDEgMAA</bytes>
- </object>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <bool key="IBUIMultipleTouchEnabled">YES</bool>
- <object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
- <integer value="256" key="IBUIAccessibilityTraits"/>
- </object>
- <bool key="IBUIBounces">NO</bool>
- <bool key="IBUIScrollEnabled">NO</bool>
- <bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
- <bool key="IBUIShowsVerticalScrollIndicator">NO</bool>
- <bool key="IBUIDelaysContentTouches">NO</bool>
- <bool key="IBUICanCancelContentTouches">NO</bool>
- <float key="IBUIMinimumZoomScale">0.0</float>
- <float key="IBUIMaximumZoomScale">0.0</float>
- <bool key="IBUIBouncesZoom">NO</bool>
- <bool key="IBUIEditable">NO</bool>
- <string type="base64-UTF8" key="IBUIText">VGhpcyBhcHAgc2hvd3MgdGhlIGtpbmQgb2YgZGF0YQphIHJvZ3VlIGFwcGxpY2F0aW9uIGNhbiBjb2xs
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">SpyPhone</string>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">36</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <reference key="IBUITextColor" ref="131293388"/>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ <int key="IBUITextAlignment">1</int>
+ </object>
+ <object class="IBUITextView" id="876077251">
+ <reference key="NSNextResponder" ref="434903890"/>
+ <int key="NSvFlags">306</int>
+ <string key="NSFrame">{{20, 238}, {280, 153}}</string>
+ <reference key="NSSuperview" ref="434903890"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MSAxIDEgMAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
+ <integer value="256" key="IBUIAccessibilityTraits"/>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIBounces">NO</bool>
+ <bool key="IBUIScrollEnabled">NO</bool>
+ <bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
+ <bool key="IBUIShowsVerticalScrollIndicator">NO</bool>
+ <bool key="IBUIDelaysContentTouches">NO</bool>
+ <bool key="IBUICanCancelContentTouches">NO</bool>
+ <float key="IBUIMinimumZoomScale">0.0</float>
+ <float key="IBUIMaximumZoomScale">0.0</float>
+ <bool key="IBUIBouncesZoom">NO</bool>
+ <bool key="IBUIEditable">NO</bool>
+ <string type="base64-UTF8" key="IBUIText">VGhpcyBhcHAgc2hvd3MgdGhlIGtpbmQgb2YgZGF0YQphIHJvZ3VlIGFwcGxpY2F0aW9uIGNhbiBjb2xs
ZWN0LgoKTm8gcHJpdmF0ZSBBUElzIHdlcmUgdXNlZC4KVGhpcyBhcHAgZG9lcyBub3QgcGhvbmUgaG9t
-ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
- <object class="NSColor" key="IBUITextColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MQA</bytes>
- <reference key="NSCustomColorSpace" ref="911360926"/>
- </object>
- <object class="NSFont" key="IBUIFont">
- <string key="NSName">Helvetica</string>
- <double key="NSSize">16</double>
- <int key="NSfFlags">16</int>
- </object>
- <int key="IBUITextAlignment">1</int>
- <object class="IBUITextInputTraits" key="IBUITextInputTraits"/>
+ZS4KCmh0dHA6Ly9zZXJpb3QuY2g</string>
+ <object class="NSColor" key="IBUITextColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ <reference key="NSCustomColorSpace" ref="911360926"/>
</object>
- <object class="IBUIImageView" id="51808458">
- <reference key="NSNextResponder" ref="434903890"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{40, 20}, {240, 128}}</string>
- <reference key="NSSuperview" ref="434903890"/>
- <object class="NSColor" key="IBUIBackgroundColor" id="596749065">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MCAwAA</bytes>
- </object>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
- <int key="IBUIContentMode">4</int>
- <bool key="IBUIUserInteractionEnabled">NO</bool>
- <object class="NSCustomResource" key="IBUIImage">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">white_hat.png</string>
- </object>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">16</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <int key="IBUITextAlignment">1</int>
+ <object class="IBUITextInputTraits" key="IBUITextInputTraits">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
- <string key="NSFrameSize">{320, 411}</string>
- <object class="NSColor" key="IBUIBackgroundColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- </object>
- <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
- <object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
- <integer value="258" key="IBUIAccessibilityTraits"/>
+ <object class="IBUIImageView" id="51808458">
+ <reference key="NSNextResponder" ref="434903890"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{40, 20}, {240, 128}}</string>
+ <reference key="NSSuperview" ref="434903890"/>
+ <object class="NSColor" key="IBUIBackgroundColor" id="596749065">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MCAwAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <int key="IBUIContentMode">4</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSCustomResource" key="IBUIImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">white_hat.png</string>
+ </object>
</object>
</object>
- <object class="IBUITabBarItem" key="IBUITabBarItem" id="765670903">
- <string key="IBUITitle">About</string>
- <object class="NSCustomResource" key="IBUIImage">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">white_hat_mask.png</string>
- </object>
- <reference key="IBUITabBar"/>
+ <string key="NSFrameSize">{320, 411}</string>
+ <reference key="NSSuperview"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
</object>
- <reference key="IBUIParentViewController" ref="1034742383"/>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
+ <integer value="258" key="IBUIAccessibilityTraits"/>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUITabBarItem" key="IBUITabBarItem" id="765670903">
+ <string key="IBUITitle">About</string>
+ <object class="NSCustomResource" key="IBUIImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">white_hat_mask.png</string>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <reference key="IBUITabBar"/>
+ </object>
+ <reference key="IBUIParentViewController" ref="1034742383"/>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="interfaceOrientation">1</int>
</object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ </object>
+ <object class="NSMutableArray" key="IBUIViewControllers">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="1024858337"/>
<object class="IBUINavigationController" id="652737156">
<string key="IBUITitle">Data Sources</string>
<object class="IBUITabBarItem" key="IBUITabBarItem" id="947032985">
@@ -191,17 +201,24 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">data.png</string>
</object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUITabBar"/>
</object>
<reference key="IBUIToolbarItems" ref="0"/>
<reference key="IBUIParentViewController" ref="1034742383"/>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
<object class="IBUINavigationBar" key="IBUINavigationBar" id="325782924">
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{320, 44}</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="NSMutableArray" key="IBUIViewControllers">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -210,20 +227,46 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<reference key="IBUIToolbarItems" ref="0"/>
<object class="IBUINavigationItem" key="IBUINavigationItem" id="459063531">
<string key="IBUITitle">Data Sources</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<reference key="IBUIParentViewController" ref="652737156"/>
<string key="IBUINibName">Sources</string>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
</object>
</object>
</object>
- <reference ref="810586621"/>
+ <object class="IBUIViewController" id="810586621">
+ <string key="IBUITitle">Report</string>
+ <object class="IBUITabBarItem" key="IBUITabBarItem" id="217035927">
+ <string key="IBUITitle">Email Report</string>
+ <object class="NSCustomResource" key="IBUIImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">report.png</string>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <reference key="IBUITabBar"/>
+ </object>
+ <reference key="IBUIToolbarItems" ref="0"/>
+ <reference key="IBUIParentViewController" ref="1034742383"/>
+ <string key="IBUINibName">SPEmailReportVC</string>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ </object>
</object>
<object class="IBUITabBar" key="IBUITabBar" id="795333663">
<nil key="NSNextResponder"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{129, 330}, {163, 49}}</string>
<reference key="IBUIBackgroundColor" ref="596749065"/>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</object>
</object>
@@ -488,6 +531,20 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">JSON/NSObject+SBJSON.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">JSON/SBProxyForJson.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">SPAllSourcesTVC</string>
<string key="superclassName">UITableViewController</string>
<object class="NSMutableDictionary" key="outlets">
@@ -517,6 +574,60 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string>SPSourceYouTubeTVC</string>
</object>
</object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>sourceAddressBookTVC</string>
+ <string>sourceEmailTVC</string>
+ <string>sourceKeyboardTVC</string>
+ <string>sourceLocationTVC</string>
+ <string>sourcePhoneTVC</string>
+ <string>sourcePhotosTVC</string>
+ <string>sourceSafariTVC</string>
+ <string>sourceWifiTVC</string>
+ <string>sourceYouTubeTVC</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">sourceAddressBookTVC</string>
+ <string key="candidateClassName">SPSourceAddressBookTVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">sourceEmailTVC</string>
+ <string key="candidateClassName">SPSourceEmailTVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">sourceKeyboardTVC</string>
+ <string key="candidateClassName">SPSourceKeyboardTVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">sourceLocationTVC</string>
+ <string key="candidateClassName">SPSourceLocationTVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">sourcePhoneTVC</string>
+ <string key="candidateClassName">SPSourcePhoneTVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">sourcePhotosTVC</string>
+ <string key="candidateClassName">SPSourcePhotosTVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">sourceSafariTVC</string>
+ <string key="candidateClassName">SPSourceSafariTVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">sourceWifiTVC</string>
+ <string key="candidateClassName">SPSourceWifiTVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">sourceYouTubeTVC</string>
+ <string key="candidateClassName">SPSourceYouTubeTVC</string>
+ </object>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/SPAllSourcesTVC.h</string>
@@ -529,6 +640,13 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string key="NS.key.0">sourceMailTVC</string>
<string key="NS.object.0">SPSourceEmailTVC</string>
</object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">sourceMailTVC</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">sourceMailTVC</string>
+ <string key="candidateClassName">SPSourceEmailTVC</string>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
@@ -541,6 +659,13 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string key="NS.key.0">sendReport:</string>
<string key="NS.object.0">id</string>
</object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">sendReport:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">sendReport:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
@@ -554,25 +679,32 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string>UILabel</string>
</object>
</object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Classes/SPEmailReportVC.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">SPImageVC</string>
- <string key="superclassName">UIViewController</string>
- <object class="NSMutableDictionary" key="outlets">
- <string key="NS.key.0">imageView</string>
- <string key="NS.object.0">UIImageView</string>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>allSources</string>
+ <string>message</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">allSources</string>
+ <string key="candidateClassName">SPAllSourcesTVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">message</string>
+ <string key="candidateClassName">UILabel</string>
+ </object>
+ </object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">SPImageVC.h</string>
+ <string key="minorKey">Classes/SPEmailReportVC.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
- <string key="className">SPMapVC</string>
+ <string key="className">SPImageMapVC</string>
<string key="superclassName">UIViewController</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -587,9 +719,55 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string>MKMapView</string>
</object>
</object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>imageVC</string>
+ <string>mapView</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">imageVC</string>
+ <string key="candidateClassName">SPImageVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">mapView</string>
+ <string key="candidateClassName">MKMapView</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Classes/SPImageMapVC.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">SPImageMapVC</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">SPImageVC</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">imageView</string>
+ <string key="NS.object.0">UIImageView</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">imageView</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">imageView</string>
+ <string key="candidateClassName">UIImageView</string>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Classes/SPMapVC.h</string>
+ <string key="minorKey">Classes/SPImageVC.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
@@ -653,7 +831,26 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>SPImageVC</string>
- <string>SPMapVC</string>
+ <string>SPImageMapVC</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>imageVC</string>
+ <string>mapVC</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">imageVC</string>
+ <string key="candidateClassName">SPImageVC</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">mapVC</string>
+ <string key="candidateClassName">SPImageMapVC</string>
+ </object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -668,6 +865,13 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string key="NS.key.0">webViewVC</string>
<string key="NS.object.0">SPWebViewVC</string>
</object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">webViewVC</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">webViewVC</string>
+ <string key="candidateClassName">SPWebViewVC</string>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/SPSourceSafariTVC.h</string>
@@ -684,6 +888,17 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<object class="IBPartialClassDescription">
<string key="className">SPSourceWifiTVC</string>
<string key="superclassName">SPSourceTVC</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">mapVC</string>
+ <string key="NS.object.0">SPWifiMapVC</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">mapVC</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">mapVC</string>
+ <string key="candidateClassName">SPWifiMapVC</string>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/SPSourceWifiTVC.h</string>
@@ -712,12 +927,38 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string key="NS.key.0">webView</string>
<string key="NS.object.0">UIWebView</string>
</object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">webView</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">webView</string>
+ <string key="candidateClassName">UIWebView</string>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/SPWebViewVC.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">SPWifiMapVC</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">mapView</string>
+ <string key="NS.object.0">MKMapView</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">mapView</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">mapView</string>
+ <string key="candidateClassName">MKMapView</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Classes/SPWifiMapVC.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">SpyPhoneAppDelegate</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
@@ -733,6 +974,25 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string>UIWindow</string>
</object>
</object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>tabBarController</string>
+ <string>window</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">tabBarController</string>
+ <string key="candidateClassName">UITabBarController</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">window</string>
+ <string key="candidateClassName">UIWindow</string>
+ </object>
+ </object>
+ </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/SpyPhoneAppDelegate.h</string>
@@ -796,41 +1056,20 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
@@ -852,13 +1091,6 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
@@ -1023,10 +1255,31 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">MediaPlayer.framework/Headers/MPMoviePlayerViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
<reference key="sourceIdentifier" ref="1068601000"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
<reference key="sourceIdentifier" ref="972213409"/>
</object>
<object class="IBPartialClassDescription">
@@ -1056,13 +1309,35 @@ ZS4KCsKpIDIwMDkg4oCTIGh0dHA6Ly9zZXJpb3QuY2g</string>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <integer value="1024" key="NS.object.0"/>
+ </object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">SpyPhone.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
- <string key="IBCocoaTouchPluginVersion">3.1</string>
+ <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>data.png</string>
+ <string>report.png</string>
+ <string>white_hat.png</string>
+ <string>white_hat_mask.png</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>{32, 29}</string>
+ <string>{36, 39}</string>
+ <string>{180, 124}</string>
+ <string>{30, 30}</string>
+ </object>
+ </object>
+ <string key="IBCocoaTouchPluginVersion">123</string>
</data>
</archive>
View
27 OUILookupTool/OUILookupTool.m
@@ -19,8 +19,6 @@ - (void)fetchLocationForAccessPointInNewThread:(NSMutableDictionary *)ap {
NSString *aBSSID = [ap valueForKey:@"BSSID"];
-// NSMutableDictionary *lookupDict = [NSMutableDictionary dictionaryWithObject:aBSSID forKey:@"bssid"];
-
NSDictionary *d = [NSDictionary dictionaryWithObject:aBSSID forKey:@"mac_address"];
NSArray *wifiTowers = [NSArray arrayWithObject:d];
@@ -30,6 +28,7 @@ - (void)fetchLocationForAccessPointInNewThread:(NSMutableDictionary *)ap {
[postDictionary setValue:wifiTowers forKey:@"wifi_towers"];
NSString *postJSON = [postDictionary JSONRepresentation];
+ [postDictionary release];
NSData *data = [postJSON dataUsingEncoding:NSUTF8StringEncoding];
@@ -42,29 +41,28 @@ - (void)fetchLocationForAccessPointInNewThread:(NSMutableDictionary *)ap {
[request setValue:@"application/json" forHTTPHeaderField:@"Content-type"];
NSString *contentLength = [NSString stringWithFormat:@"%d", [data length]];
[request setValue:contentLength forHTTPHeaderField:@"Content-Length"];
- [request setValue:@"Jakarta Commons-HttpClient/3.0.1" forHTTPHeaderField:@"User-Agent"];
[request setValue:@"www.google.com" forHTTPHeaderField:@"Host"];
NSError *error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSDictionary *responseDict = [responseString JSONValue];
-
- [ap addEntriesFromDictionary:responseDict];
- [self performSelectorOnMainThread:@selector(didFinishLookup:) withObject:ap waitUntilDone:YES];
+ NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:ap, @"originalDict", responseDict, @"responseDict", nil];
+
+ [self performSelectorOnMainThread:@selector(didFinishLookup:) withObject:params waitUntilDone:YES];
[pool release];
}
-- (void)didFinishLookup:(NSDictionary *)ap {
+- (void)didFinishLookup:(NSDictionary *)params {
// NSLog(@"-- %@", ap);
+
+ NSMutableDictionary *ap = [params objectForKey:@"originalDict"];
+ NSDictionary *responseDict = [params objectForKey:@"responseDict"];
-// NSString *latitude = [d valueForKeyPath:@"location.latitude"];
-// NSString *longitude = [d valueForKeyPath:@"location.longitude"];
-//
-// CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake([latitude doubleValue], [longitude doubleValue]);
+ [ap addEntriesFromDictionary:responseDict];
[delegate OUILookupTool:self didLocateAccessPoint:ap];
}
@@ -92,18 +90,17 @@ + (NSString *)formattedBSSID:(NSString *)aBSSID {
return [a componentsJoinedByString:@":"];
}
-+ (OUILookupTool *)locateWifiAccessPoint:(NSDictionary *)ap delegate:(NSObject <OUILookupToolDelegate> *)aDelegate {
++ (OUILookupTool *)locateWifiAccessPoint:(NSMutableDictionary *)ap delegate:(NSObject <OUILookupToolDelegate> *)aDelegate {
NSString *aBSSID = [ap valueForKey:@"BSSID"];
NSString *formattedBSSID = [self formattedBSSID:aBSSID];
if(formattedBSSID == nil) return nil;
- NSMutableDictionary *d = [NSMutableDictionary dictionaryWithDictionary:ap];
- [d setValue:formattedBSSID forKey:@"BSSID"];
+ [ap setValue:formattedBSSID forKey:@"BSSID"];
OUILookupTool *olt = [[OUILookupTool alloc] init];
olt.delegate = aDelegate;
- [NSThread detachNewThreadSelector:@selector(fetchLocationForAccessPointInNewThread:) toTarget:olt withObject:d];
+ [NSThread detachNewThreadSelector:@selector(fetchLocationForAccessPointInNewThread:) toTarget:olt withObject:ap];
return [olt autorelease];
}
View
199 SPEmailReportVC.xib
@@ -1,18 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
- <int key="IBDocument.SystemTarget">784</int>
- <string key="IBDocument.SystemVersion">10C540</string>
- <string key="IBDocument.InterfaceBuilderVersion">740</string>
- <string key="IBDocument.AppKitVersion">1038.25</string>
- <string key="IBDocument.HIToolboxVersion">458.00</string>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10F569</string>
+ <string key="IBDocument.InterfaceBuilderVersion">804</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="NS.object.0">62</string>
+ <string key="NS.object.0">123</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="3"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -31,12 +30,14 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBProxyObject" id="841351856">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="371349661">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="210793899">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -47,6 +48,7 @@
<reference key="NSSuperview" ref="210793899"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<object class="NSFont" key="IBUIFont">
@@ -81,6 +83,7 @@
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText"/>
<object class="NSColor" key="IBUITextColor" id="917063709">
<int key="NSColorSpace">1</int>
@@ -106,6 +109,7 @@
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">Email Report</string>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica</string>
@@ -133,6 +137,7 @@
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
<integer value="256" key="IBUIAccessibilityTraits"/>
</object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIBounces">NO</bool>
<bool key="IBUIScrollEnabled">NO</bool>
<bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
@@ -157,16 +162,18 @@ ZS4</string>
<double key="NSSize">16</double>
<int key="NSfFlags">16</int>
</object>
- <object class="IBUITextInputTraits" key="IBUITextInputTraits"/>
+ <object class="IBUITextInputTraits" key="IBUITextInputTraits">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
</object>
</object>
<string key="NSFrameSize">{320, 460}</string>
- <reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDAAA</bytes>
</object>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>