Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added README.markdown

  • Loading branch information...
commit 5766a073486d7155281c249b4e6fcbe2a9e693cd 1 parent d94b7d5
@cschamp authored
View
1  Classes/DetailsViewController.m
@@ -64,7 +64,6 @@ - (IBAction)doneButtonAction:(id)sender {
}
- (IBAction)actionButtonAction:(id)sender {
- NSLog(@"actionButton");
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Details URL Action"
delegate:self
cancelButtonTitle:@"Cancel"
View
8 Entitlements.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>get-task-allow</key>
+ <false/>
+</dict>
+</plist>
View
39 QuakeInfo.xcodeproj/project.pbxproj
@@ -25,6 +25,8 @@
AA57D284101D28F0000D9456 /* USGSParser.m in Sources */ = {isa = PBXBuildFile; fileRef = AA57D283101D28F0000D9456 /* USGSParser.m */; };
AA57D323101F4744000D9456 /* EarthquakeAnnotation.m in Sources */ = {isa = PBXBuildFile; fileRef = AA57D322101F4744000D9456 /* EarthquakeAnnotation.m */; };
AA98155F1025148000FBAE84 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA98155E1025148000FBAE84 /* MobileCoreServices.framework */; };
+ AA9815B610251F3700FBAE84 /* Entitlements.plist in Resources */ = {isa = PBXBuildFile; fileRef = AA9815B510251F3700FBAE84 /* Entitlements.plist */; };
+ AA9815D710253CE000FBAE84 /* README.markdown in Resources */ = {isa = PBXBuildFile; fileRef = AA9815D610253CE000FBAE84 /* README.markdown */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -55,6 +57,8 @@
AA57D321101F4744000D9456 /* EarthquakeAnnotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EarthquakeAnnotation.h; sourceTree = "<group>"; };
AA57D322101F4744000D9456 /* EarthquakeAnnotation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EarthquakeAnnotation.m; sourceTree = "<group>"; };
AA98155E1025148000FBAE84 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
+ AA9815B510251F3700FBAE84 /* Entitlements.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Entitlements.plist; sourceTree = "<group>"; };
+ AA9815D610253CE000FBAE84 /* README.markdown */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.markdown; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -105,11 +109,13 @@
isa = PBXGroup;
children = (
AA49D6DC1021DF8D003AB1DC /* README */,
+ AA9815D610253CE000FBAE84 /* README.markdown */,
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
+ AA9815B510251F3700FBAE84 /* Entitlements.plist */,
);
name = CustomTemplate;
sourceTree = "<group>";
@@ -195,6 +201,8 @@
AA49D6DD1021DF8D003AB1DC /* README in Resources */,
AA49D78F1023CFDE003AB1DC /* DetailsViewController.xib in Resources */,
AA49D8071023F234003AB1DC /* icon_quake.png in Resources */,
+ AA9815B610251F3700FBAE84 /* Entitlements.plist in Resources */,
+ AA9815D710253CE000FBAE84 /* README.markdown in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -245,6 +253,35 @@
};
name = Release;
};
+ AA9815AC10251E6000FBAE84 /* Distribution */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PREBINDING = NO;
+ SDKROOT = iphoneos3.1;
+ };
+ name = Distribution;
+ };
+ AA9815AD10251E6000FBAE84 /* Distribution */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CODE_SIGN_ENTITLEMENTS = Entitlements.plist;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Craig Schamp";
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = QuakeInfo_Prefix.pch;
+ INFOPLIST_FILE = "QuakeInfo-Info.plist";
+ PRODUCT_NAME = QuakeInfo;
+ "PROVISIONING_PROFILE[sdk=iphoneos*]" = "E30AD342-5909-40D7-8BBE-DF5ACA124533";
+ SDKROOT = iphoneos3.0;
+ };
+ name = Distribution;
+ };
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -280,6 +317,7 @@
buildConfigurations = (
1D6058940D05DD3E006BFB54 /* Debug */,
1D6058950D05DD3E006BFB54 /* Release */,
+ AA9815AD10251E6000FBAE84 /* Distribution */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
@@ -289,6 +327,7 @@
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
+ AA9815AC10251E6000FBAE84 /* Distribution */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
View
27 README.markdown
@@ -0,0 +1,27 @@
+QuakeInfo
+=========
+
+QuakeInfo is a sample iPhone application that I wrote as an exercise in iPhone programming. It has given me exposure to Objective-C 2.0, which I can't use in my day job, where we need to support older Mac OS X platforms unsupported by Obj-C 2.0. QuakeInfo also gives me a chance to learn about iPhone programming. Although I use Cocoa at work, I don't write iPhone code, and, as mentioned above, supporting older Mac OS X versions means that I don't often have a chance to use the latest features in Cocoa.
+
+[![](http://farm4.static.flickr.com/3504/3779173209_0dab0bcf6f.jpg)](http://farm4.static.flickr.com/3504/3779173209_f20b6c0fa5_o.png)
+[![](http://farm4.static.flickr.com/3566/3779173249_914199a9a4.jpg)](http://farm4.static.flickr.com/3566/3779173249_07a6c21212_o.png)
+[![](http://farm4.static.flickr.com/3470/3779173293_062292f34c.jpg)](http://farm4.static.flickr.com/3470/3779173293_721cbe7ea5_o.png)
+[![](http://farm4.static.flickr.com/3450/3779982324_60bb869592.jpg)](http://farm4.static.flickr.com/3450/3779982324_97d22cdc2e_o.png)
+
+
+Implementation Overview
+=======================
+
+This iPhone OS 3.0 application uses the NSXMLParser to fetch and parse earthquake information from the USGS web site. It then plots the earthquakes on a world map using MapKit.
+
+There are several similar apps on the web and in the app store. Apple has sample code to show the use of the NSXMLParser, but that code displays the earthquakes in arbitrary order in a UITableView. At least two apps at the iPhone app store are identical copies of this sample code and list for $0.99. I guess that makes the developers some kind of expert iPhone programmers.
+
+Another similar application is from Bill Dudney's screencast and [sample code at Pragmatic Programmers](http://www.pragprog.com/screencasts/v-bdmapkit/using-map-kit/). The code in QuakeInfo (my application) uses Bill's XML parser code almost verbatim at present. My view controller is similar to Bill's, since I learned from his code and there are only so many ways to code this up.
+
+Among the ways my app, QuakeInfo, differs from Dudney's is that QuakeInfo displays all earthquake events fetched from the USGS site, not just the 50 or 100 nearest to the user's location. This requires changes in the way QuakeInfo zooms to the user's current location, among other things. My application also displays details about the earthquake in a UIWebView within the application, whereas Bill's demo app displayed this information by launching Safari on a USGS URL.
+
+I plan to show earthquakes on the map using a custom annotation view to resemble the maps on the USGS web site itself, where events are displayed not as color-coded pins, but as squares of varying sizes and colors. I also want to add a control to allow the user to zoom to the current location at any time. Another feature I plan to add is one that will show the most recent earthquakes first, perhaps making a recent earthquake the initial zoom location, or perhaps adding a view that shows the earthquakes in a list sorted by time of the event or by magnitude.
+
+
+*Craig Schamp*
+
Please sign in to comment.
Something went wrong with that request. Please try again.