Commits

Tim Hibbard committed 99a33f4

Added ability to set location based reminders if running iOS 6

Twitter link launches in Tweetbot if installed

Fixed Facebook icon

  • Participants
  • Parent commits 445bfe2

Comments (0)

Files changed (7)

File Christian FM.xcodeproj/project.pbxproj

 	objects = {
 
 /* Begin PBXBuildFile section */
+		12044B0A16022DA40083FF62 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 12044B0916022DA40083FF62 /* Default-568h@2x.png */; };
 		1233EED415B4FD6600D67A41 /* ChristianRadioFinder.sqlite in Resources */ = {isa = PBXBuildFile; fileRef = 1233EED315B4FD6600D67A41 /* ChristianRadioFinder.sqlite */; };
 		123E270515E94D82004E9925 /* WebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 123E270415E94D82004E9925 /* WebViewController.m */; };
 		124852AA15CDB4090036C49D /* MapDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 124852A915CDB4090036C49D /* MapDetailViewController.m */; };
 		125DB8AC15B277FC00A19A68 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 125DB8AB15B277FC00A19A68 /* CoreLocation.framework */; };
 		125E332515B5E616004417B6 /* ios_distribution.cer in Resources */ = {isa = PBXBuildFile; fileRef = 125E332415B5E616004417B6 /* ios_distribution.cer */; };
 		125E332915B5E882004417B6 /* TimHibbard (1).mobileprovision in Resources */ = {isa = PBXBuildFile; fileRef = 125E332815B5E882004417B6 /* TimHibbard (1).mobileprovision */; };
+		126605CE160AA4D5008444D3 /* Facebook-Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 126605CD160AA4D5008444D3 /* Facebook-Icon.png */; };
+		126605D1160AA8CD008444D3 /* drawingpin1_blue.png in Resources */ = {isa = PBXBuildFile; fileRef = 126605D0160AA8CD008444D3 /* drawingpin1_blue.png */; };
+		126605D3160ACC9A008444D3 /* EventKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 126605D2160ACC9A008444D3 /* EventKit.framework */; };
 		126CFC8A15E862B9002E3B90 /* StationDetailTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 126CFC8915E862B9002E3B90 /* StationDetailTableViewController.m */; };
 		126CFC8D15E875CA002E3B90 /* twitter-bird-blue-on-white.png in Resources */ = {isa = PBXBuildFile; fileRef = 126CFC8C15E875CA002E3B90 /* twitter-bird-blue-on-white.png */; };
 		126CFC8F15E875F7002E3B90 /* twitter-bird-light-bgs.png in Resources */ = {isa = PBXBuildFile; fileRef = 126CFC8E15E875F7002E3B90 /* twitter-bird-light-bgs.png */; };
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
+		12044B0916022DA40083FF62 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
 		12284B1415D6EF4E000CA178 /* Stations With Stream.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Stations With Stream.xcdatamodel"; sourceTree = "<group>"; };
 		1233EED315B4FD6600D67A41 /* ChristianRadioFinder.sqlite */ = {isa = PBXFileReference; lastKnownFileType = file; path = ChristianRadioFinder.sqlite; sourceTree = "<group>"; };
 		123E270315E94D82004E9925 /* WebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewController.h; sourceTree = "<group>"; };
 		125DB8AB15B277FC00A19A68 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
 		125E332415B5E616004417B6 /* ios_distribution.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = ios_distribution.cer; sourceTree = "<group>"; };
 		125E332815B5E882004417B6 /* TimHibbard (1).mobileprovision */ = {isa = PBXFileReference; lastKnownFileType = file; path = "TimHibbard (1).mobileprovision"; sourceTree = "<group>"; };
+		126605CD160AA4D5008444D3 /* Facebook-Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Facebook-Icon.png"; sourceTree = "<group>"; };
+		126605D0160AA8CD008444D3 /* drawingpin1_blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = drawingpin1_blue.png; sourceTree = "<group>"; };
+		126605D2160ACC9A008444D3 /* EventKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EventKit.framework; path = System/Library/Frameworks/EventKit.framework; sourceTree = SDKROOT; };
 		126CFC8815E862B9002E3B90 /* StationDetailTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StationDetailTableViewController.h; sourceTree = "<group>"; };
 		126CFC8915E862B9002E3B90 /* StationDetailTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StationDetailTableViewController.m; sourceTree = "<group>"; };
 		126CFC8C15E875CA002E3B90 /* twitter-bird-blue-on-white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "twitter-bird-blue-on-white.png"; sourceTree = "<group>"; };
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				126605D3160ACC9A008444D3 /* EventKit.framework in Frameworks */,
 				12DB227215CEC4C700F9F7D6 /* MessageUI.framework in Frameworks */,
 				124852B115CDFCC60036C49D /* MapKit.framework in Frameworks */,
 				12BE3C9515B3B73B00AFCF25 /* QuartzCore.framework in Frameworks */,
 		125DB84C15B1BF6A00A19A68 = {
 			isa = PBXGroup;
 			children = (
+				12044B0916022DA40083FF62 /* Default-568h@2x.png */,
 				125DB86115B1BF6A00A19A68 /* Christian FM */,
 				125DB88215B1BF6A00A19A68 /* Christian FMTests */,
 				125DB85A15B1BF6A00A19A68 /* Frameworks */,
 		125DB85A15B1BF6A00A19A68 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				126605D2160ACC9A008444D3 /* EventKit.framework */,
 				12DB227115CEC4C700F9F7D6 /* MessageUI.framework */,
 				124852B015CDFCC60036C49D /* MapKit.framework */,
 				12BE3C9015B3B5E300AFCF25 /* QuartzCore.framework */,
 		126CFC8B15E875CA002E3B90 /* images */ = {
 			isa = PBXGroup;
 			children = (
+				126605D0160AA8CD008444D3 /* drawingpin1_blue.png */,
+				126605CD160AA4D5008444D3 /* Facebook-Icon.png */,
 				126CFC9015E91219002E3B90 /* f_logo.png */,
 				126CFC8E15E875F7002E3B90 /* twitter-bird-light-bgs.png */,
 				126CFC8C15E875CA002E3B90 /* twitter-bird-blue-on-white.png */,
 				126CFC8D15E875CA002E3B90 /* twitter-bird-blue-on-white.png in Resources */,
 				126CFC8F15E875F7002E3B90 /* twitter-bird-light-bgs.png in Resources */,
 				126CFC9115E91219002E3B90 /* f_logo.png in Resources */,
+				12044B0A16022DA40083FF62 /* Default-568h@2x.png in Resources */,
+				126605CE160AA4D5008444D3 /* Facebook-Icon.png in Resources */,
+				126605D1160AA8CD008444D3 /* drawingpin1_blue.png in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

File Christian FM.xcodeproj/project.xcworkspace/xcuserdata/timhibbard.xcuserdatad/UserInterfaceState.xcuserstate

Binary file modified.

File Christian Radio Finder/Christian FM-Info.plist

 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
+	<string>1.0.1</string>
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleVersion</key>
-	<string>1.0</string>
+	<string>1.0.1</string>
 	<key>LSRequiresIPhoneOS</key>
 	<true/>
 	<key>UIMainStoryboardFile</key>

File Christian Radio Finder/StationDetailTableViewController.h

 //
 
 #import <UIKit/UIKit.h>
+#import <EventKit/EventKit.h>
 #import <MapKit/MapKit.h>
 #import <MessageUI/MessageUI.h>
 #import <MessageUI/MFMailComposeViewController.h>
 @property (nonatomic, retain) IBOutlet UITableViewCell *twitterCell;
 @property (nonatomic, retain) IBOutlet UITableViewCell *facebookCell;
 @property (nonatomic, retain) IBOutlet UITableViewCell *geoCell;
+@property (nonatomic, retain) IBOutlet UITableViewCell *reminderCell;
+@property (nonatomic) NSString *eventId;
 
 
 

File Christian Radio Finder/StationDetailTableViewController.m

 @synthesize ownedByCell;
 @synthesize streamingCell;
 @synthesize geoCell;
+@synthesize reminderCell;
+@synthesize eventId;
 
 - (void) shareButtonClicked:(id)sender{
     UIActionSheet *sheet =
         [twitterCell setAccessoryType:UITableViewCellAccessoryNone];
     }
     
+    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    NSDictionary *reminders = [defaults objectForKey:@"reminders"];
+    for (NSString *key in reminders) {
+        if ([[NSString stringWithFormat:@"%@%@",station.lat,station.lng] isEqualToString:key]) {
+            [reminderCell setAccessoryType:UITableViewCellAccessoryCheckmark];
+            [self setEventId:[reminders valueForKey:key]];
+        }
+    }
+    
 
 }
 
         WebViewController *webController = [segue destinationViewController];
         [webController setWebTitle:station.ownedBy];
         [webController setUrlString:station.facebook];
+        
         return;
     }
     
     if ([[segue identifier] isEqualToString:@"OpenTwitterSegue"]) {
         WebViewController *webController = [segue destinationViewController];
         [webController setWebTitle:station.ownedBy];
-        [webController setUrlString:[NSString stringWithFormat:@"http://twitter.com/%@",station.twitter]];
+        NSString *twitterHandle = [station.twitter stringByReplacingOccurrencesOfString:@"@" withString:@""];
+        [webController setUrlString:[NSString stringWithFormat:@"http://twitter.com/%@",twitterHandle]];
         return;
     }
     
 - (void)viewDidLoad
 {
     [super viewDidLoad];
+    
+    
+
+    
+    //[defaults setObject:helpText forKey:@"helpText"];
+    //[defaults synchronize];
 
     // Uncomment the following line to preserve selection between presentations.
     // self.clearsSelectionOnViewWillAppear = NO;
     return (interfaceOrientation == UIInterfaceOrientationPortrait);
 }
 
+#pragma mark - conditional app launchers
+-(void) launchFacebook{
+    
+    //can't get the fb:// scheme to work
+    [self performSegueWithIdentifier:@"OpenFacebookSegue" sender:self];
+    return;
+    
+    NSString *fbName = [station.facebook stringByReplacingOccurrencesOfString:@"https://www.facebook.com/" withString:@""];
+    
+    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"fb://%@",fbName]];
+    if ([[UIApplication sharedApplication] canOpenURL:url]) {
+        [[UIApplication sharedApplication] openURL:url];
+        return;
+    }
+    
+    [self performSegueWithIdentifier:@"OpenFacebookSegue" sender:self];
+    
+}
+
+- (void) launchTwitter{
+    NSString *twitterHandle = [station.twitter stringByReplacingOccurrencesOfString:@"@" withString:@""];
+    
+    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"tweetbot:///user_profile/%@",twitterHandle]];
+    if ([[UIApplication sharedApplication] canOpenURL:url]) {
+        [[UIApplication sharedApplication] openURL:url];
+        return;
+    }
+    
+    [self performSegueWithIdentifier:@"OpenTwitterSegue" sender:self];
+}
+
+#pragma mark - reminders
+
+- (BOOL) addReminder{
+    EKEventStore *store = [[EKEventStore alloc] init];
+    __block BOOL providedAccess = YES;
+    BOOL atLeastIOS6 = [[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0;
+    if (!atLeastIOS6) {
+        return NO;
+    }
+    [store requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
+        providedAccess = granted;
+    }];
+    EKReminder *reminder = [EKReminder reminderWithEventStore:store];
+    [reminder setTitle:[NSString stringWithFormat:@"Listen to %@ (%@)",station.ownedBy,station.frequency]];
+    [reminder setNotes:[NSString stringWithFormat:@"%@ %i mile range",station.city, (int)[station.range doubleValue]]];
+    EKAlarm *enterAlarm = [[EKAlarm alloc] init];
+    [enterAlarm setProximity:EKAlarmProximityEnter];
+    EKStructuredLocation *enterLocation = [EKStructuredLocation locationWithTitle:[NSString stringWithFormat:@"%@ (%@)",station.ownedBy,station.frequency]];
+    CLLocationDegrees lat = [station.lat doubleValue];
+    CLLocationDegrees lng = [station.lng doubleValue];
+    CLLocation *radioLocation = [[CLLocation alloc] initWithLatitude:lat longitude:lng];
+    [enterLocation setGeoLocation:radioLocation];
+    [enterLocation setRadius:[station.range doubleValue] * 1609];
+    [enterAlarm setStructuredLocation:enterLocation];
+    [reminder addAlarm:enterAlarm];
+    [reminder setCalendar:[store defaultCalendarForNewReminders]];
+    if (!providedAccess) {
+        return NO;
+    }
+    NSError *err;
+    [store saveReminder:reminder commit:YES error:&err];
+    [self setEventId:reminder.calendarItemIdentifier];
+    
+    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    NSDictionary *reminders = [defaults objectForKey:@"reminders"];
+    NSMutableArray *latlng = [NSMutableArray arrayWithArray:reminders.allKeys];
+    NSMutableArray *itemIds = [NSMutableArray arrayWithArray:reminders.allValues];
+    
+    [latlng addObject:[NSString stringWithFormat:@"%@%@",station.lat,station.lng]];
+    [itemIds addObject:eventId];
+    
+    NSDictionary *newReminders = [NSDictionary dictionaryWithObjects:itemIds forKeys:latlng];
+    [defaults setObject:newReminders forKey:@"reminders"];
+    [defaults synchronize];
+    
+    return YES;
+}
+
+- (BOOL) removeReminder {
+    if (eventId.length == 0) {
+        return NO;
+    }
+    EKEventStore *store = [[EKEventStore alloc] init];
+    __block BOOL providedAccess = YES;
+    BOOL atLeastIOS6 = [[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0;
+    if (!atLeastIOS6) {
+        return NO;
+    }
+    [store requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
+        providedAccess = granted;
+    }];
+    
+    EKReminder *reminder = (EKReminder *)[store calendarItemWithIdentifier:eventId];
+    if (!providedAccess) {
+        return NO;
+    }
+    NSError *err;
+    [store removeReminder:reminder commit:YES error:&err];
+    
+    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+    NSDictionary *reminders = [defaults objectForKey:@"reminders"];
+    NSMutableArray *latlng = [NSMutableArray arrayWithArray:reminders.allKeys];
+    NSMutableArray *itemIds = [NSMutableArray arrayWithArray:reminders.allValues];
+    
+    [latlng removeObject:[NSString stringWithFormat:@"%@%@",station.lat,station.lng]];
+    [itemIds removeObject:eventId];
+    
+    NSDictionary *newReminders = [NSDictionary dictionaryWithObjects:itemIds forKeys:latlng];
+    [defaults setObject:newReminders forKey:@"reminders"];
+    [defaults synchronize];
+    
+    [self setEventId:@""];
+    return YES;
+    
+}
+
 #pragma mark - Table view data source
 
 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
 
 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
 {
-
-    // Return the number of rows in the section.
-    NSInteger sec2 = 0;
     
     switch (section) {
         case 0:
             return 1;
             break;
         case 2:
-            return 4;
-            if (station.ownedBy.length > 0) {
-                sec2 = sec2 +1;
-            }
-            if (station.streamUrl.length > 0) {
-                sec2 = sec2 + 1;
-            }
-            if (station.facebook.length > 0) {
-                sec2 = sec2 + 1;
-            }
-            if (station.twitter.length > 0) {
-                sec2 = sec2 +1;
-            }
-            return sec2;
+            return 5;
             break;
         default:
             return 0;
     }
 }
 
-//- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
-//{
-//
-//    if (indexPath.section == 0 && indexPath.row == 0) {
-//        return freqCell;
-//    }
-//    
-//    if (indexPath.section == 1 && indexPath.row == 0) {
-//        return geoCell;
-//    }
-//    
-//    if (indexPath.section == 2 && indexPath.row == 0) {
-//        if (station.ownedBy.length > 0) {
-//            return ownedByCell;
-//        }
-//        if (station.streamUrl.length > 0) {
-//            return streamingCell;
-//        }
-//        if (station.facebook.length > 0) {
-//            return facebookCell;
-//        }
-//        if (station.twitter.length > 0) {
-//            return twitterCell;
-//        }
-//        return nil;
-//    }
-//    if (indexPath.section == 2 && indexPath.row == 1) {
-//        if (station.streamUrl.length > 0) {
-//            return streamingCell;
-//        }
-//        if (station.facebook.length > 0) {
-//            return facebookCell;
-//        }
-//        if (station.twitter.length > 0) {
-//            return twitterCell;
-//        }
-//        return nil;
-//    }
-//    if (indexPath.section == 2 && indexPath.row == 2) {
-//        if (station.facebook.length > 0) {
-//            return facebookCell;
-//        }
-//        if (station.twitter.length > 0) {
-//            return twitterCell;
-//        }
-//        return nil;
-//    }
-//    if (indexPath.section == 2 && indexPath.row == 3) {
-//        if (station.twitter.length > 0) {
-//            return twitterCell;
-//        }
-//        return nil;
-//    }
-//    
-//    return nil;
-//    
-//}
+-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
+    
+    if (indexPath.section == 2 && indexPath.row == 2) {
+        [self launchFacebook];
+    }
+    if (indexPath.section == 2 && indexPath.row == 3) {
+        [self launchTwitter];
+    }
+    if (indexPath.section == 2 && indexPath.row == 4) {
+        if (reminderCell.accessoryType == UITableViewCellAccessoryCheckmark) {
+            if ([self removeReminder]) {
+                [reminderCell setAccessoryType:UITableViewCellAccessoryNone];
+            }
+        }
+        else{
+            if ([self addReminder]) {
+                [reminderCell setAccessoryType:UITableViewCellAccessoryCheckmark];
+            }
+        
+        }
+    }
+}
+
 
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 {
     if (indexPath.section == 2 && indexPath.row == 3) {
         return twitterCell;
     }
+    if (indexPath.section == 2 && indexPath.row == 4) {
+        return reminderCell;
+    }
+    
     
     return nil;
     
 }
 */
 
-#pragma mark - Table view delegate
 
-- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
-{
-    // Navigation logic may go here. Create and push another view controller.
-    /*
-     <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
-     // ...
-     // Pass the selected object to the new view controller.
-     [self.navigationController pushViewController:detailViewController animated:YES];
-     */
-}
 
 @end

File Christian Radio Finder/en.lproj/MainStoryboard_iPhone.storyboard

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2549" systemVersion="12B19" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="YUB-JZ-SMq">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2840" systemVersion="12C54" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="YUB-JZ-SMq">
     <dependencies>
-        <deployment defaultVersion="1296" identifier="iOS"/>
+        <deployment defaultVersion="1536" identifier="iOS"/>
         <development version="4400" identifier="xcode"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1498"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1926"/>
     </dependencies>
     <scenes>
         <!--Station Table View Controller - Christian Radio-->
         <scene sceneID="jGS-Kv-FnE">
             <objects>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="dWo-un-Ova" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <tableViewController id="imJ-Rb-vIr" customClass="StationTableViewController" sceneMemberID="viewController">
                     <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="fEv-f8-grr" customClass="PullTableView">
                         <rect key="frame" x="0.0" y="64" width="320" height="416"/>
                         <segue destination="stL-0M-1Wr" kind="push" identifier="NewStationSegue" id="YTC-0O-Lrf"/>
                     </connections>
                 </tableViewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="dWo-un-Ova" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <pongPressGestureRecognizer allowableMovement="10" minimumPressDuration="0.5" id="YNQ-lP-Qtt">
                     <connections>
                         <action selector="longPress:" destination="imJ-Rb-vIr" id="9xl-0W-AWg"/>
         <!--Map Detail View Controller - Detail-->
         <scene sceneID="U0d-4Q-Io6">
             <objects>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="tLh-6T-P6u" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <viewController id="eX2-ZJ-yyp" customClass="MapDetailViewController" sceneMemberID="viewController">
                     <view key="view" contentMode="scaleToFill" id="4oh-Ld-O5e">
                         <rect key="frame" x="0.0" y="64" width="320" height="416"/>
                         <outlet property="map" destination="rGc-5a-eWy" id="1w3-eB-7YT"/>
                     </connections>
                 </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="tLh-6T-P6u" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
             <point key="canvasLocation" x="-409" y="-756"/>
         </scene>
         <!--Web View Controller-->
         <scene sceneID="VtK-Zh-14o">
             <objects>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="IO2-GA-TTJ" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <viewController id="E3H-n7-xdR" customClass="WebViewController" sceneMemberID="viewController">
                     <view key="view" contentMode="scaleToFill" id="57N-M5-n9m">
                         <rect key="frame" x="0.0" y="64" width="320" height="416"/>
                         <outlet property="webView" destination="MiM-8u-R4I" id="4ha-XM-ZES"/>
                     </connections>
                 </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="IO2-GA-TTJ" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
-            <point key="canvasLocation" x="-389" y="-138"/>
+            <point key="canvasLocation" x="-245" y="422"/>
         </scene>
         <!--Station Detail Table View Controller-->
         <scene sceneID="Gu3-dN-xRe">
             <objects>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="uD3-Ae-gba" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <tableViewController id="kca-X7-Fp3" customClass="StationDetailTableViewController" sceneMemberID="viewController">
                     <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="singleLineEtched" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="jbb-Qy-MwL">
                         <rect key="frame" x="0.0" y="64" width="320" height="416"/>
                                                     <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                                     <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                                                 </label>
-                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="f_logo.png" id="1H2-XT-MjT">
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="Facebook-Icon.png" id="1H2-XT-MjT">
                                                     <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
                                                     <autoresizingMask key="autoresizingMask"/>
                                                 </imageView>
                                             </subviews>
                                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                                         </view>
-                                        <connections>
-                                            <segue destination="E3H-n7-xdR" kind="push" identifier="OpenFacebookSegue" id="V4g-5c-Pf1"/>
-                                        </connections>
                                     </tableViewCell>
                                     <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="FCY-Oj-iCt" imageView="0HT-ya-xGf" style="IBUITableViewCellStyleDefault" id="EDE-OR-TL2">
-                                        <rect key="frame" x="0.0" y="337" width="320" height="45"/>
+                                        <rect key="frame" x="0.0" y="337" width="320" height="44"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                                             <rect key="frame" x="10" y="0.0" width="280" height="43"/>
                                             </subviews>
                                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                                         </view>
-                                        <connections>
-                                            <segue destination="E3H-n7-xdR" kind="push" identifier="OpenTwitterSegue" id="FIG-aL-cpf"/>
-                                        </connections>
+                                    </tableViewCell>
+                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" textLabel="bbH-9R-hFT" imageView="CnZ-oj-9UH" style="IBUITableViewCellStyleDefault" id="Zx1-vg-OmX">
+                                        <rect key="frame" x="0.0" y="381" width="320" height="45"/>
+                                        <autoresizingMask key="autoresizingMask"/>
+                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                                            <rect key="frame" x="10" y="0.0" width="300" height="43"/>
+                                            <autoresizingMask key="autoresizingMask"/>
+                                            <subviews>
+                                                <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Alert me when in range" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="bbH-9R-hFT">
+                                                    <rect key="frame" x="53" y="0.0" width="237" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
+                                                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+                                                    <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                                </label>
+                                                <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="drawingpin1_blue.png" id="CnZ-oj-9UH">
+                                                    <rect key="frame" x="0.0" y="0.0" width="43" height="43"/>
+                                                    <autoresizingMask key="autoresizingMask"/>
+                                                </imageView>
+                                            </subviews>
+                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+                                        </view>
                                     </tableViewCell>
                                 </cells>
                             </tableViewSection>
                         <outlet property="freqCell" destination="PAj-7n-nHr" id="IMA-sN-5qR"/>
                         <outlet property="geoCell" destination="RkM-mj-1O3" id="DTK-Vd-bEb"/>
                         <outlet property="ownedByCell" destination="wOB-eb-RIl" id="2P8-Pn-QaI"/>
+                        <outlet property="reminderCell" destination="Zx1-vg-OmX" id="9fg-l8-hWX"/>
                         <outlet property="streamingCell" destination="Qpe-58-cqP" id="68P-Ye-4Hk"/>
                         <outlet property="twitterCell" destination="EDE-OR-TL2" id="c6Z-zk-DP3"/>
+                        <segue destination="E3H-n7-xdR" kind="push" identifier="OpenFacebookSegue" id="4K0-JA-dfr"/>
+                        <segue destination="E3H-n7-xdR" kind="push" identifier="OpenTwitterSegue" id="NC6-Xm-AjV"/>
                     </connections>
                 </tableViewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="uD3-Ae-gba" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
-            <point key="canvasLocation" x="-648" y="462"/>
+            <point key="canvasLocation" x="-966" y="568"/>
         </scene>
         <!--Navigation Controller - Item-->
         <scene sceneID="U2j-j4-VBq">
             <objects>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="KwW-3f-VT6" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <navigationController id="YUB-JZ-SMq" sceneMemberID="viewController">
                     <tabBarItem key="tabBarItem" title="Item" id="aFX-5e-Bfx"/>
                     <toolbarItems/>
                         <segue destination="imJ-Rb-vIr" kind="relationship" relationship="rootViewController" id="UVE-jy-nOO"/>
                     </connections>
                 </navigationController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="KwW-3f-VT6" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
             <point key="canvasLocation" x="-1099" y="-1264"/>
         </scene>
         <!--Add New Station View Controller - Add New Station-->
         <scene sceneID="61R-SB-cQw">
             <objects>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="JvQ-EV-gNS" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <viewController id="stL-0M-1Wr" customClass="AddNewStationViewController" sceneMemberID="viewController">
                     <view key="view" contentMode="scaleToFill" id="mEZ-fr-B5W">
                         <rect key="frame" x="0.0" y="64" width="320" height="416"/>
                         <outlet property="websiteText" destination="B1a-99-xnp" id="r0G-IZ-QBr"/>
                     </connections>
                 </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="JvQ-EV-gNS" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
             <point key="canvasLocation" x="-364" y="-1516"/>
         </scene>
         <!--Station Map View Controller - Stations Map-->
         <scene sceneID="n9r-gB-eiV">
             <objects>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="6rS-st-orZ" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <viewController id="VvI-Zu-7m3" customClass="StationMapViewController" sceneMemberID="viewController">
                     <view key="view" contentMode="scaleToFill" id="Tn8-q8-Hts">
                         <rect key="frame" x="0.0" y="64" width="320" height="372"/>
                         <segue destination="kca-X7-Fp3" kind="push" identifier="ShowDetailsFromMapSegue" id="DRz-EE-aMg"/>
                     </connections>
                 </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="6rS-st-orZ" userLabel="First Responder" sceneMemberID="firstResponder"/>
                 <pongPressGestureRecognizer allowableMovement="10" minimumPressDuration="0.99999999999999989" id="e1f-2i-6wm">
                     <connections>
                         <action selector="longPress:" destination="VvI-Zu-7m3" id="IoZ-cg-1CP"/>
         </scene>
     </scenes>
     <resources>
-        <image name="f_logo.png" width="140" height="140"/>
+        <image name="Facebook-Icon.png" width="300" height="300"/>
+        <image name="drawingpin1_blue.png" width="256" height="256"/>
         <image name="twitter-bird-light-bgs.png" width="300" height="300"/>
     </resources>
     <simulatedMetricsContainer key="defaultSimulatedMetrics">
         <simulatedScreenMetrics key="destination"/>
     </simulatedMetricsContainer>
     <inferredMetricsTieBreakers>
-        <segue reference="fZh-Gy-HOC"/>
-        <segue reference="Opu-Xs-6iV"/>
         <segue reference="cGD-Co-tvt"/>
+        <segue reference="Opu-Xs-6iV"/>
+        <segue reference="NC6-Xm-AjV"/>
     </inferredMetricsTieBreakers>
 </document>

File Default-568h@2x.png

Added
New image