Permalink
Browse files

Import the updated AFNetworking iOS example.

  • Loading branch information...
1 parent 3c03a9d commit a6910ce3a4f4010f5a3b799bf2042a2527985ad5 @alloy committed Nov 9, 2011
View
446 examples/AFNetworking iOS Example/AFNetworking iOS Example.xcodeproj/project.pbxproj
@@ -0,0 +1,446 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ F86E5529143A28F3002B438C /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F86E5528143A28F3002B438C /* AFURLConnectionOperation.m */; };
+ F874B5D913E0AA6500B28E3E /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5C913E0AA6500B28E3E /* AFHTTPRequestOperation.m */; };
+ F874B5DA13E0AA6500B28E3E /* AFImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CA13E0AA6500B28E3E /* AFImageCache.m */; };
+ F874B5DB13E0AA6500B28E3E /* AFImageRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CB13E0AA6500B28E3E /* AFImageRequestOperation.m */; };
+ F874B5DC13E0AA6500B28E3E /* AFJSONRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CC13E0AA6500B28E3E /* AFJSONRequestOperation.m */; };
+ F874B5DD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5CD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m */; };
+ F874B5E013E0AA6500B28E3E /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F874B5D013E0AA6500B28E3E /* UIImageView+AFNetworking.m */; };
+ F8D0701B14310F4A00653FD3 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8E469E213957DF700DB05C8 /* SystemConfiguration.framework */; };
+ F8D0701C14310F4F00653FD3 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8E469E013957DF100DB05C8 /* Security.framework */; };
+ F8D25D191396A9D300CF3BD6 /* placeholder-stamp.png in Resources */ = {isa = PBXBuildFile; fileRef = F8D25D171396A9D300CF3BD6 /* placeholder-stamp.png */; };
+ F8D25D1A1396A9D300CF3BD6 /* placeholder-stamp@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F8D25D181396A9D300CF3BD6 /* placeholder-stamp@2x.png */; };
+ F8DA09D21396ABED0057D0CC /* AFGowallaAPIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = F8D25D1D1396A9DE00CF3BD6 /* AFGowallaAPIClient.m */; };
+ F8DA09D41396ABED0057D0CC /* NearbySpotsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F8DA09C81396AB690057D0CC /* NearbySpotsViewController.m */; };
+ F8DA09D51396ABED0057D0CC /* Spot.m in Sources */ = {isa = PBXBuildFile; fileRef = F8DA09CB1396AB690057D0CC /* Spot.m */; };
+ F8DA09D61396ABED0057D0CC /* SpotTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = F8DA09CE1396AB690057D0CC /* SpotTableViewCell.m */; };
+ F8DA09E11396ABED0057D0CC /* JSONKit.m in Sources */ = {isa = PBXBuildFile; fileRef = F8D25D111396A9C400CF3BD6 /* JSONKit.m */; };
+ F8DA09E21396ABED0057D0CC /* TTTLocationFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = F8D25D141396A9C400CF3BD6 /* TTTLocationFormatter.m */; };
+ F8DA09E41396AC040057D0CC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F8DA09E31396AC040057D0CC /* main.m */; };
+ F8DA09E81396AC220057D0CC /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F8DA09E71396AC220057D0CC /* AppDelegate.m */; };
+ F8E469651395739D00DB05C8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8E469641395739D00DB05C8 /* UIKit.framework */; };
+ F8E469671395739D00DB05C8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8E469661395739D00DB05C8 /* Foundation.framework */; };
+ F8E469691395739D00DB05C8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8E469681395739D00DB05C8 /* CoreGraphics.framework */; };
+ F8E469DF13957DD500DB05C8 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8E469DE13957DD500DB05C8 /* CoreLocation.framework */; };
+ F8F4B16E143CD1420064C9E6 /* AFPropertyListRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F8F4B16D143CD1410064C9E6 /* AFPropertyListRequestOperation.m */; };
+ F8F4B17F143E07030064C9E6 /* AFXMLRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F8F4B17E143E07030064C9E6 /* AFXMLRequestOperation.m */; };
+ F8FBFA98142AA239001409DB /* AFHTTPClient.m in Sources */ = {isa = PBXBuildFile; fileRef = F8FBFA97142AA238001409DB /* AFHTTPClient.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ F86E5527143A28F3002B438C /* AFURLConnectionOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFURLConnectionOperation.h; path = ../AFNetworking/AFURLConnectionOperation.h; sourceTree = "<group>"; };
+ F86E5528143A28F3002B438C /* AFURLConnectionOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFURLConnectionOperation.m; path = ../AFNetworking/AFURLConnectionOperation.m; sourceTree = "<group>"; };
+ F874B5C913E0AA6500B28E3E /* AFHTTPRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFHTTPRequestOperation.m; path = ../AFNetworking/AFHTTPRequestOperation.m; sourceTree = "<group>"; };
+ F874B5CA13E0AA6500B28E3E /* AFImageCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFImageCache.m; path = ../AFNetworking/AFImageCache.m; sourceTree = "<group>"; };
+ F874B5CB13E0AA6500B28E3E /* AFImageRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFImageRequestOperation.m; path = ../AFNetworking/AFImageRequestOperation.m; sourceTree = "<group>"; };
+ F874B5CC13E0AA6500B28E3E /* AFJSONRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFJSONRequestOperation.m; path = ../AFNetworking/AFJSONRequestOperation.m; sourceTree = "<group>"; };
+ F874B5CD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = ../AFNetworking/AFNetworkActivityIndicatorManager.m; sourceTree = "<group>"; };
+ F874B5D013E0AA6500B28E3E /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "../AFNetworking/UIImageView+AFNetworking.m"; sourceTree = "<group>"; };
+ F874B5D113E0AA6500B28E3E /* AFHTTPRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFHTTPRequestOperation.h; path = ../AFNetworking/AFHTTPRequestOperation.h; sourceTree = "<group>"; };
+ F874B5D213E0AA6500B28E3E /* AFImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFImageCache.h; path = ../AFNetworking/AFImageCache.h; sourceTree = "<group>"; };
+ F874B5D313E0AA6500B28E3E /* AFImageRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFImageRequestOperation.h; path = ../AFNetworking/AFImageRequestOperation.h; sourceTree = "<group>"; };
+ F874B5D413E0AA6500B28E3E /* AFJSONRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFJSONRequestOperation.h; path = ../AFNetworking/AFJSONRequestOperation.h; sourceTree = "<group>"; };
+ F874B5D513E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = ../AFNetworking/AFNetworkActivityIndicatorManager.h; sourceTree = "<group>"; };
+ F874B5D813E0AA6500B28E3E /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "../AFNetworking/UIImageView+AFNetworking.h"; sourceTree = "<group>"; };
+ F8D25D101396A9C400CF3BD6 /* JSONKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSONKit.h; sourceTree = "<group>"; };
+ F8D25D111396A9C400CF3BD6 /* JSONKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSONKit.m; sourceTree = "<group>"; };
+ F8D25D131396A9C400CF3BD6 /* TTTLocationFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TTTLocationFormatter.h; sourceTree = "<group>"; };
+ F8D25D141396A9C400CF3BD6 /* TTTLocationFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TTTLocationFormatter.m; sourceTree = "<group>"; };
+ F8D25D171396A9D300CF3BD6 /* placeholder-stamp.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "placeholder-stamp.png"; path = "Images/placeholder-stamp.png"; sourceTree = SOURCE_ROOT; };
+ F8D25D181396A9D300CF3BD6 /* placeholder-stamp@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "placeholder-stamp@2x.png"; path = "Images/placeholder-stamp@2x.png"; sourceTree = SOURCE_ROOT; };
+ F8D25D1B1396A9DE00CF3BD6 /* AFGowallaAPIClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFGowallaAPIClient.h; path = Classes/AFGowallaAPIClient.h; sourceTree = "<group>"; };
+ F8D25D1D1396A9DE00CF3BD6 /* AFGowallaAPIClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFGowallaAPIClient.m; path = Classes/AFGowallaAPIClient.m; sourceTree = "<group>"; };
+ F8D7DE781445F354000EF2F3 /* AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = ../AFNetworking/AFNetworking.h; sourceTree = "<group>"; };
+ F8DA09C71396AB690057D0CC /* NearbySpotsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NearbySpotsViewController.h; sourceTree = "<group>"; };
+ F8DA09C81396AB690057D0CC /* NearbySpotsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NearbySpotsViewController.m; sourceTree = "<group>"; };
+ F8DA09CA1396AB690057D0CC /* Spot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Spot.h; sourceTree = "<group>"; };
+ F8DA09CB1396AB690057D0CC /* Spot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Spot.m; sourceTree = "<group>"; };
+ F8DA09CD1396AB690057D0CC /* SpotTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpotTableViewCell.h; sourceTree = "<group>"; };
+ F8DA09CE1396AB690057D0CC /* SpotTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SpotTableViewCell.m; sourceTree = "<group>"; };
+ F8DA09E31396AC040057D0CC /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = SOURCE_ROOT; };
+ F8DA09E51396AC220057D0CC /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = SOURCE_ROOT; };
+ F8DA09E61396AC220057D0CC /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = SOURCE_ROOT; };
+ F8DA09E71396AC220057D0CC /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = SOURCE_ROOT; };
+ F8E469601395739C00DB05C8 /* AFNetworking iOS Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AFNetworking iOS Example.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ F8E469641395739D00DB05C8 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ F8E469661395739D00DB05C8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ F8E469681395739D00DB05C8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ F8E4696C1395739D00DB05C8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+ F8E469DE13957DD500DB05C8 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
+ F8E469E013957DF100DB05C8 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
+ F8E469E213957DF700DB05C8 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
+ F8F4B16C143CD1410064C9E6 /* AFPropertyListRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFPropertyListRequestOperation.h; path = ../AFNetworking/AFPropertyListRequestOperation.h; sourceTree = "<group>"; };
+ F8F4B16D143CD1410064C9E6 /* AFPropertyListRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFPropertyListRequestOperation.m; path = ../AFNetworking/AFPropertyListRequestOperation.m; sourceTree = "<group>"; };
+ F8F4B17D143E07030064C9E6 /* AFXMLRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFXMLRequestOperation.h; path = ../AFNetworking/AFXMLRequestOperation.h; sourceTree = "<group>"; };
+ F8F4B17E143E07030064C9E6 /* AFXMLRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFXMLRequestOperation.m; path = ../AFNetworking/AFXMLRequestOperation.m; sourceTree = "<group>"; };
+ F8FBFA96142AA237001409DB /* AFHTTPClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFHTTPClient.h; path = ../AFNetworking/AFHTTPClient.h; sourceTree = "<group>"; };
+ F8FBFA97142AA238001409DB /* AFHTTPClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AFHTTPClient.m; path = ../AFNetworking/AFHTTPClient.m; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ F8E4695D1395739C00DB05C8 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F8E469651395739D00DB05C8 /* UIKit.framework in Frameworks */,
+ F8E469671395739D00DB05C8 /* Foundation.framework in Frameworks */,
+ F8E469691395739D00DB05C8 /* CoreGraphics.framework in Frameworks */,
+ F8E469DF13957DD500DB05C8 /* CoreLocation.framework in Frameworks */,
+ F8D0701B14310F4A00653FD3 /* SystemConfiguration.framework in Frameworks */,
+ F8D0701C14310F4F00653FD3 /* Security.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ F8D25D0F1396A9C400CF3BD6 /* JSONKit */ = {
+ isa = PBXGroup;
+ children = (
+ F8D25D101396A9C400CF3BD6 /* JSONKit.h */,
+ F8D25D111396A9C400CF3BD6 /* JSONKit.m */,
+ );
+ name = JSONKit;
+ path = Vendor/JSONKit;
+ sourceTree = "<group>";
+ };
+ F8D25D121396A9C400CF3BD6 /* FormatterKit */ = {
+ isa = PBXGroup;
+ children = (
+ F8D25D131396A9C400CF3BD6 /* TTTLocationFormatter.h */,
+ F8D25D141396A9C400CF3BD6 /* TTTLocationFormatter.m */,
+ );
+ name = FormatterKit;
+ path = Vendor/TTT;
+ sourceTree = "<group>";
+ };
+ F8DA09C61396AB690057D0CC /* Controllers */ = {
+ isa = PBXGroup;
+ children = (
+ F8DA09C71396AB690057D0CC /* NearbySpotsViewController.h */,
+ F8DA09C81396AB690057D0CC /* NearbySpotsViewController.m */,
+ );
+ name = Controllers;
+ path = Classes/Controllers;
+ sourceTree = SOURCE_ROOT;
+ };
+ F8DA09C91396AB690057D0CC /* Models */ = {
+ isa = PBXGroup;
+ children = (
+ F8DA09CA1396AB690057D0CC /* Spot.h */,
+ F8DA09CB1396AB690057D0CC /* Spot.m */,
+ );
+ name = Models;
+ path = Classes/Models;
+ sourceTree = SOURCE_ROOT;
+ };
+ F8DA09CC1396AB690057D0CC /* Views */ = {
+ isa = PBXGroup;
+ children = (
+ F8DA09CD1396AB690057D0CC /* SpotTableViewCell.h */,
+ F8DA09CE1396AB690057D0CC /* SpotTableViewCell.m */,
+ );
+ name = Views;
+ path = Classes/Views;
+ sourceTree = SOURCE_ROOT;
+ };
+ F8E469551395739C00DB05C8 = {
+ isa = PBXGroup;
+ children = (
+ F8E469B71395759C00DB05C8 /* Networking Extensions */,
+ F8E4696A1395739D00DB05C8 /* Classes */,
+ F8E469ED1395812A00DB05C8 /* Images */,
+ F8E469931395743A00DB05C8 /* Vendor */,
+ F8E469631395739D00DB05C8 /* Frameworks */,
+ F8E469611395739C00DB05C8 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ F8E469611395739C00DB05C8 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ F8E469601395739C00DB05C8 /* AFNetworking iOS Example.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ F8E469631395739D00DB05C8 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ F8E469E213957DF700DB05C8 /* SystemConfiguration.framework */,
+ F8E469E013957DF100DB05C8 /* Security.framework */,
+ F8E469DE13957DD500DB05C8 /* CoreLocation.framework */,
+ F8E469641395739D00DB05C8 /* UIKit.framework */,
+ F8E469661395739D00DB05C8 /* Foundation.framework */,
+ F8E469681395739D00DB05C8 /* CoreGraphics.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ F8E4696A1395739D00DB05C8 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ F8DA09C61396AB690057D0CC /* Controllers */,
+ F8DA09C91396AB690057D0CC /* Models */,
+ F8DA09CC1396AB690057D0CC /* Views */,
+ F8E4696B1395739D00DB05C8 /* Supporting Files */,
+ );
+ name = Classes;
+ path = AFNetworkingExample;
+ sourceTree = "<group>";
+ };
+ F8E4696B1395739D00DB05C8 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ F8DA09E31396AC040057D0CC /* main.m */,
+ F8DA09E61396AC220057D0CC /* Prefix.pch */,
+ F8DA09E51396AC220057D0CC /* AppDelegate.h */,
+ F8DA09E71396AC220057D0CC /* AppDelegate.m */,
+ F8E4696C1395739D00DB05C8 /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ F8E469931395743A00DB05C8 /* Vendor */ = {
+ isa = PBXGroup;
+ children = (
+ F8E469941395744600DB05C8 /* AFNetworking */,
+ F8D25D0F1396A9C400CF3BD6 /* JSONKit */,
+ F8D25D121396A9C400CF3BD6 /* FormatterKit */,
+ );
+ name = Vendor;
+ sourceTree = "<group>";
+ };
+ F8E469941395744600DB05C8 /* AFNetworking */ = {
+ isa = PBXGroup;
+ children = (
+ F8D7DE781445F354000EF2F3 /* AFNetworking.h */,
+ F86E5527143A28F3002B438C /* AFURLConnectionOperation.h */,
+ F86E5528143A28F3002B438C /* AFURLConnectionOperation.m */,
+ F874B5D113E0AA6500B28E3E /* AFHTTPRequestOperation.h */,
+ F874B5C913E0AA6500B28E3E /* AFHTTPRequestOperation.m */,
+ F874B5D413E0AA6500B28E3E /* AFJSONRequestOperation.h */,
+ F874B5CC13E0AA6500B28E3E /* AFJSONRequestOperation.m */,
+ F8F4B17D143E07030064C9E6 /* AFXMLRequestOperation.h */,
+ F8F4B17E143E07030064C9E6 /* AFXMLRequestOperation.m */,
+ F8F4B16C143CD1410064C9E6 /* AFPropertyListRequestOperation.h */,
+ F8F4B16D143CD1410064C9E6 /* AFPropertyListRequestOperation.m */,
+ F8FBFA96142AA237001409DB /* AFHTTPClient.h */,
+ F8FBFA97142AA238001409DB /* AFHTTPClient.m */,
+ F874B5D313E0AA6500B28E3E /* AFImageRequestOperation.h */,
+ F874B5CB13E0AA6500B28E3E /* AFImageRequestOperation.m */,
+ F874B5D213E0AA6500B28E3E /* AFImageCache.h */,
+ F874B5CA13E0AA6500B28E3E /* AFImageCache.m */,
+ F874B5D813E0AA6500B28E3E /* UIImageView+AFNetworking.h */,
+ F874B5D013E0AA6500B28E3E /* UIImageView+AFNetworking.m */,
+ F874B5D513E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.h */,
+ F874B5CD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m */,
+ );
+ name = AFNetworking;
+ sourceTree = "<group>";
+ };
+ F8E469B71395759C00DB05C8 /* Networking Extensions */ = {
+ isa = PBXGroup;
+ children = (
+ F8D25D1B1396A9DE00CF3BD6 /* AFGowallaAPIClient.h */,
+ F8D25D1D1396A9DE00CF3BD6 /* AFGowallaAPIClient.m */,
+ );
+ name = "Networking Extensions";
+ sourceTree = "<group>";
+ };
+ F8E469ED1395812A00DB05C8 /* Images */ = {
+ isa = PBXGroup;
+ children = (
+ F8D25D171396A9D300CF3BD6 /* placeholder-stamp.png */,
+ F8D25D181396A9D300CF3BD6 /* placeholder-stamp@2x.png */,
+ );
+ name = Images;
+ path = AFNetworkingExample/Images;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ F8E4695F1395739C00DB05C8 /* AFNetworking iOS Example */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = F8E469811395739D00DB05C8 /* Build configuration list for PBXNativeTarget "AFNetworking iOS Example" */;
+ buildPhases = (
+ F8E4695C1395739C00DB05C8 /* Sources */,
+ F8E4695D1395739C00DB05C8 /* Frameworks */,
+ F8E4695E1395739C00DB05C8 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "AFNetworking iOS Example";
+ productName = AFNetworkingExample;
+ productReference = F8E469601395739C00DB05C8 /* AFNetworking iOS Example.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ F8E469571395739C00DB05C8 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0420;
+ ORGANIZATIONNAME = Gowalla;
+ };
+ buildConfigurationList = F8E4695A1395739C00DB05C8 /* Build configuration list for PBXProject "AFNetworking iOS Example" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = F8E469551395739C00DB05C8;
+ productRefGroup = F8E469611395739C00DB05C8 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ F8E4695F1395739C00DB05C8 /* AFNetworking iOS Example */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ F8E4695E1395739C00DB05C8 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F8D25D191396A9D300CF3BD6 /* placeholder-stamp.png in Resources */,
+ F8D25D1A1396A9D300CF3BD6 /* placeholder-stamp@2x.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ F8E4695C1395739C00DB05C8 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ F8DA09D21396ABED0057D0CC /* AFGowallaAPIClient.m in Sources */,
+ F8DA09D41396ABED0057D0CC /* NearbySpotsViewController.m in Sources */,
+ F8DA09D51396ABED0057D0CC /* Spot.m in Sources */,
+ F8DA09D61396ABED0057D0CC /* SpotTableViewCell.m in Sources */,
+ F8DA09E11396ABED0057D0CC /* JSONKit.m in Sources */,
+ F8DA09E21396ABED0057D0CC /* TTTLocationFormatter.m in Sources */,
+ F8DA09E41396AC040057D0CC /* main.m in Sources */,
+ F8DA09E81396AC220057D0CC /* AppDelegate.m in Sources */,
+ F874B5D913E0AA6500B28E3E /* AFHTTPRequestOperation.m in Sources */,
+ F874B5DA13E0AA6500B28E3E /* AFImageCache.m in Sources */,
+ F874B5DB13E0AA6500B28E3E /* AFImageRequestOperation.m in Sources */,
+ F874B5DC13E0AA6500B28E3E /* AFJSONRequestOperation.m in Sources */,
+ F874B5DD13E0AA6500B28E3E /* AFNetworkActivityIndicatorManager.m in Sources */,
+ F874B5E013E0AA6500B28E3E /* UIImageView+AFNetworking.m in Sources */,
+ F8FBFA98142AA239001409DB /* AFHTTPClient.m in Sources */,
+ F86E5529143A28F3002B438C /* AFURLConnectionOperation.m in Sources */,
+ F8F4B16E143CD1420064C9E6 /* AFPropertyListRequestOperation.m in Sources */,
+ F8F4B17F143E07030064C9E6 /* AFXMLRequestOperation.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ F8E4697F1395739D00DB05C8 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ F8E469801395739D00DB05C8 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ };
+ name = Release;
+ };
+ F8E469821395739D00DB05C8 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = Prefix.pch;
+ GCC_WARN_SHADOW = YES;
+ GCC_WARN_SIGN_COMPARE = YES;
+ GCC_WARN_UNUSED_PARAMETER = NO;
+ INFOPLIST_FILE = Info.plist;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ F8E469831395739D00DB05C8 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = Prefix.pch;
+ GCC_WARN_SHADOW = YES;
+ GCC_WARN_SIGN_COMPARE = YES;
+ GCC_WARN_UNUSED_PARAMETER = NO;
+ INFOPLIST_FILE = Info.plist;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ F8E4695A1395739C00DB05C8 /* Build configuration list for PBXProject "AFNetworking iOS Example" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ F8E4697F1395739D00DB05C8 /* Debug */,
+ F8E469801395739D00DB05C8 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ F8E469811395739D00DB05C8 /* Build configuration list for PBXNativeTarget "AFNetworking iOS Example" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ F8E469821395739D00DB05C8 /* Debug */,
+ F8E469831395739D00DB05C8 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = F8E469571395739C00DB05C8 /* Project object */;
+}
View
32 examples/AFNetworking iOS Example/AppDelegate.h
@@ -0,0 +1,32 @@
+// AFNetworkingExampleAppDelegate.h
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import <UIKit/UIKit.h>
+
+@interface AppDelegate : NSObject <UIApplicationDelegate> {
+
+}
+
+@property (nonatomic, retain) UIWindow *window;
+@property (nonatomic, retain) UINavigationController *navigationController;
+
+@end
View
55 examples/AFNetworking iOS Example/AppDelegate.m
@@ -0,0 +1,55 @@
+// AFNetworkingExampleAppDelegate.m
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import "AppDelegate.h"
+#import "NearbySpotsViewController.h"
+
+#import "AFNetworkActivityIndicatorManager.h"
+
+@implementation AppDelegate
+@synthesize window = _window;
+@synthesize navigationController = _navigationController;
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+ NSURLCache *URLCache = [[[NSURLCache alloc] initWithMemoryCapacity:1024 * 1024 diskCapacity:1024 * 1024 * 5 diskPath:nil] autorelease];
+ [NSURLCache setSharedURLCache:URLCache];
+
+ [[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES];
+
+ UITableViewController *viewController = [[[NearbySpotsViewController alloc] init] autorelease];
+ self.navigationController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];
+
+ self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
+ self.window.backgroundColor = [UIColor whiteColor];
+ self.window.rootViewController = self.navigationController;
+ [self.window makeKeyAndVisible];
+
+ return YES;
+}
+
+- (void)dealloc {
+ [_window release];
+ [_navigationController release];
+ [super dealloc];
+}
+
+@end
View
31 examples/AFNetworking iOS Example/Classes/AFGowallaAPIClient.h
@@ -0,0 +1,31 @@
+// AFGowallaAPI.h
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import <Foundation/Foundation.h>
+#import "AFHTTPClient.h"
+
+extern NSString * const kAFGowallaClientID;
+extern NSString * const kAFGowallaBaseURLString;
+
+@interface AFGowallaAPIClient : AFHTTPClient
++ (AFGowallaAPIClient *)sharedClient;
+@end
View
67 examples/AFNetworking iOS Example/Classes/AFGowallaAPIClient.m
@@ -0,0 +1,67 @@
+// AFGowallaAPI.m
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import "AFGowallaAPIClient.h"
+
+#import "AFJSONRequestOperation.h"
+
+// Replace this with your own API Key, available at http://api.gowalla.com/api/keys/
+NSString * const kAFGowallaClientID = @"e7ccb7d3d2414eb2af4663fc91eb2793";
+
+NSString * const kAFGowallaBaseURLString = @"https://api.gowalla.com/";
+
+@implementation AFGowallaAPIClient
+
++ (AFGowallaAPIClient *)sharedClient {
+ static AFGowallaAPIClient *_sharedClient = nil;
+ static dispatch_once_t oncePredicate;
+ dispatch_once(&oncePredicate, ^{
+ _sharedClient = [[self alloc] initWithBaseURL:[NSURL URLWithString:kAFGowallaBaseURLString]];
+ });
+
+ return _sharedClient;
+}
+
+- (id)initWithBaseURL:(NSURL *)url {
+ self = [super initWithBaseURL:url];
+ if (!self) {
+ return nil;
+ }
+
+ [self registerHTTPOperationClass:[AFJSONRequestOperation class]];
+
+ // Accept HTTP Header; see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
+ [self setDefaultHeader:@"Accept" value:@"application/json"];
+
+ // X-Gowalla-API-Key HTTP Header; see http://api.gowalla.com/api/docs
+ [self setDefaultHeader:@"X-Gowalla-API-Key" value:kAFGowallaClientID];
+
+ // X-Gowalla-API-Version HTTP Header; see http://api.gowalla.com/api/docs
+ [self setDefaultHeader:@"X-Gowalla-API-Version" value:@"1"];
+
+ // X-UDID HTTP Header
+ [self setDefaultHeader:@"X-UDID" value:[[UIDevice currentDevice] uniqueIdentifier]];
+
+ return self;
+}
+
+@end
View
32 examples/AFNetworking iOS Example/Classes/Controllers/NearbySpotsViewController.h
@@ -0,0 +1,32 @@
+// NearbySpotsViewController.h
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import <UIKit/UIKit.h>
+#import <CoreLocation/CoreLocation.h>
+
+@interface NearbySpotsViewController : UITableViewController <CLLocationManagerDelegate> {
+ NSArray *_nearbySpots;
+ CLLocationManager *_locationManager;
+ UIActivityIndicatorView *_activityIndicatorView;
+}
+
+@end
View
191 examples/AFNetworking iOS Example/Classes/Controllers/NearbySpotsViewController.m
@@ -0,0 +1,191 @@
+// NearbySpotsViewController.m
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import "NearbySpotsViewController.h"
+
+#import "Spot.h"
+
+#import "SpotTableViewCell.h"
+
+#import "TTTLocationFormatter.h"
+#import "AFImageCache.h"
+#import "UIImageView+AFNetworking.h"
+
+@interface NearbySpotsViewController ()
+@property (readwrite, nonatomic, retain) NSArray *nearbySpots;
+@property (readwrite, nonatomic, retain) CLLocationManager *locationManager;
+@property (readwrite, nonatomic, retain) UIActivityIndicatorView *activityIndicatorView;
+
+- (void)loadSpotsForLocation:(CLLocation *)location;
+- (void)refresh:(id)sender;
+@end
+
+@implementation NearbySpotsViewController
+@synthesize nearbySpots = _spots;
+@synthesize locationManager = _locationManager;
+@synthesize activityIndicatorView = _activityIndicatorView;
+
+- (id)init {
+ self = [super init];
+ if (!self) {
+ return nil;
+ }
+
+ self.nearbySpots = [NSArray array];
+
+ self.locationManager = [[[CLLocationManager alloc] init] autorelease];
+ self.locationManager.delegate = self;
+ self.locationManager.distanceFilter = 80.0;
+
+ return self;
+}
+
+- (void)dealloc {
+ [_spots release];
+ [_locationManager release];
+ [_activityIndicatorView release];
+ [super dealloc];
+}
+
+- (void)loadSpotsForLocation:(CLLocation *)location {
+ [self.activityIndicatorView startAnimating];
+ self.navigationItem.rightBarButtonItem.enabled = NO;
+
+ [Spot spotsWithURLString:@"/spots" near:location parameters:[NSDictionary dictionaryWithObject:@"128" forKey:@"per_page"] block:^(NSArray *records) {
+ self.nearbySpots = [records sortedArrayUsingComparator:^ NSComparisonResult(id obj1, id obj2) {
+ CLLocationDistance d1 = [[(Spot *)obj1 location] distanceFromLocation:location];
+ CLLocationDistance d2 = [[(Spot *)obj2 location] distanceFromLocation:location];
+
+ if (d1 < d2) {
+ return NSOrderedAscending;
+ } else if (d1 > d2) {
+ return NSOrderedDescending;
+ } else {
+ return NSOrderedSame;
+ }
+ }];
+
+ [self.tableView reloadData];
+
+ [self.activityIndicatorView stopAnimating];
+ self.navigationItem.rightBarButtonItem.enabled = YES;
+ }];
+}
+
+#pragma mark - UIViewController
+
+- (void)viewDidLoad {
+ [super viewDidLoad];
+
+ self.title = NSLocalizedString(@"AFNetworking", nil);
+
+ self.activityIndicatorView = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite] autorelease];
+ self.activityIndicatorView.hidesWhenStopped = YES;
+ self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:self.activityIndicatorView] autorelease];
+
+ self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refresh:)] autorelease];
+ self.navigationItem.rightBarButtonItem.enabled = NO;
+
+ [self.navigationController.navigationBar setTintColor:[UIColor darkGrayColor]];
+
+ self.tableView.rowHeight = 70.0f;
+
+ [self.locationManager startUpdatingLocation];
+}
+
+- (void)viewDidUnload {
+ [super viewDidUnload];
+ [self.locationManager stopUpdatingLocation];
+}
+
+#pragma mark - Actions
+
+- (void)refresh:(id)sender {
+ self.nearbySpots = [NSArray array];
+ [self.tableView reloadData];
+ [[NSURLCache sharedURLCache] removeAllCachedResponses];
+ [[AFImageCache sharedImageCache] removeAllObjects];
+
+ if (self.locationManager.location) {
+ [self loadSpotsForLocation:self.locationManager.location];
+ }
+}
+
+#pragma mark - CLLocationManagerDelegate
+
+- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
+ [self loadSpotsForLocation:newLocation];
+}
+
+#pragma mark - UITableViewDataSource
+
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
+ return 1;
+}
+
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
+ return [self.nearbySpots count];
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+ static NSString *CellIdentifier = @"Cell";
+
+ SpotTableViewCell *cell = (SpotTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
+ if (cell == nil) {
+ cell = [[[SpotTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
+ }
+
+ Spot *spot = [self.nearbySpots objectAtIndex:indexPath.row];
+
+ static TTTLocationFormatter *_locationFormatter = nil;
+ if (!_locationFormatter) {
+ _locationFormatter = [[TTTLocationFormatter alloc] init];
+ if (![[[NSLocale currentLocale] objectForKey:NSLocaleUsesMetricSystem] boolValue]) {
+ [_locationFormatter setUnitSystem:TTTImperialSystem];
+ }
+ }
+
+ if (self.locationManager.location) {
+ cell.detailTextLabel.text = [_locationFormatter stringFromDistanceAndBearingFromLocation:self.locationManager.location toLocation:spot.location];
+ }
+
+ cell.spot = spot;
+
+
+ return cell;
+}
+
+#pragma mark - UITableViewDelegate
+
+- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
+ if ([self tableView:tableView numberOfRowsInSection:section] > 0) {
+ return NSLocalizedString(@"Nearby Spots", nil);
+ }
+
+ return nil;
+}
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
+ [tableView deselectRowAtIndexPath:indexPath animated:YES];
+}
+
+@end
View
43 examples/AFNetworking iOS Example/Classes/Models/Spot.h
@@ -0,0 +1,43 @@
+// Spot.h
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CoreLocation.h>
+
+@interface Spot : NSObject {
+@private
+ NSString *_name;
+ NSString *_imageURLString;
+ NSNumber *_latitude;
+ NSNumber *_longitude;
+}
+
+@property (nonatomic, retain) NSString *name;
+@property (nonatomic, retain) NSString *imageURLString;
+@property (nonatomic, retain) NSNumber *latitude;
+@property (nonatomic, retain) NSNumber *longitude;
+@property (readonly) CLLocation *location;
+
+- (id)initWithAttributes:(NSDictionary *)attributes;
++ (void)spotsWithURLString:(NSString *)urlString near:(CLLocation *)location parameters:(NSDictionary *)parameters block:(void (^)(NSArray *records))block;
+
+@end
View
84 examples/AFNetworking iOS Example/Classes/Models/Spot.m
@@ -0,0 +1,84 @@
+// Spot.m
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import "Spot.h"
+
+#import "AFGowallaAPIClient.h"
+
+@implementation Spot
+@synthesize name = _name;
+@synthesize imageURLString = _imageURLString;
+@synthesize latitude = _latitude;
+@synthesize longitude = _longitude;
+@dynamic location;
+
+- (id)initWithAttributes:(NSDictionary *)attributes {
+ self = [super init];
+ if (!self) {
+ return nil;
+ }
+
+ self.name = [attributes valueForKeyPath:@"name"];
+ self.imageURLString = [attributes valueForKeyPath:@"image_url"];
+ self.latitude = [attributes valueForKeyPath:@"lat"];
+ self.longitude = [attributes valueForKeyPath:@"lng"];
+
+ return self;
+}
+
+- (void)dealloc {
+ [_name release];
+ [_imageURLString release];
+ [_latitude release];
+ [_longitude release];
+ [super dealloc];
+}
+
+- (CLLocation *)location {
+ return [[[CLLocation alloc] initWithLatitude:[self.latitude doubleValue] longitude:[self.longitude doubleValue]] autorelease];
+}
+
++ (void)spotsWithURLString:(NSString *)urlString near:(CLLocation *)location parameters:(NSDictionary *)parameters block:(void (^)(NSArray *records))block {
+ NSDictionary *mutableParameters = [NSMutableDictionary dictionaryWithDictionary:parameters];
+ if (location) {
+ [mutableParameters setValue:[NSString stringWithFormat:@"%1.7f", location.coordinate.latitude] forKey:@"lat"];
+ [mutableParameters setValue:[NSString stringWithFormat:@"%1.7f", location.coordinate.longitude] forKey:@"lng"];
+ }
+
+ [[AFGowallaAPIClient sharedClient] getPath:urlString parameters:mutableParameters success:^(id object) {
+ NSMutableArray *mutableRecords = [NSMutableArray array];
+ for (NSDictionary *attributes in [object valueForKeyPath:@"spots"]) {
+ Spot *spot = [[[Spot alloc] initWithAttributes:attributes] autorelease];
+ [mutableRecords addObject:spot];
+ }
+
+ if (block) {
+ block([NSArray arrayWithArray:mutableRecords]);
+ }
+ } failure:^(NSHTTPURLResponse *response, NSError *error) {
+ if (block) {
+ block([NSArray array]);
+ }
+ }];
+}
+
+@end
View
31 examples/AFNetworking iOS Example/Classes/Views/SpotTableViewCell.h
@@ -0,0 +1,31 @@
+// SpotTableViewCell.h
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import <UIKit/UIKit.h>
+
+@class Spot;
+
+@interface SpotTableViewCell : UITableViewCell
+
+@property (nonatomic, retain) Spot *spot;
+
+@end
View
97 examples/AFNetworking iOS Example/Classes/Views/SpotTableViewCell.m
@@ -0,0 +1,97 @@
+// SpotTableViewCell.m
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import "SpotTableViewCell.h"
+
+#import "Spot.h"
+
+#import "UIImageView+AFNetworking.h"
+
+@implementation SpotTableViewCell
+@synthesize spot = _spot;
+
+- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
+ self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
+ if (!self) {
+ return nil;
+ }
+
+ self.textLabel.textColor = [UIColor darkGrayColor];
+ self.textLabel.numberOfLines = 2;
+ self.textLabel.backgroundColor = self.backgroundColor;
+
+ self.detailTextLabel.textColor = [UIColor grayColor];
+ self.detailTextLabel.backgroundColor = self.backgroundColor;
+
+ self.imageView.backgroundColor = self.backgroundColor;
+ self.imageView.contentMode = UIViewContentModeScaleAspectFit;
+
+ self.selectionStyle = UITableViewCellSelectionStyleGray;
+
+ return self;
+}
+
+- (void)dealloc {
+ [_spot release];
+ [super dealloc];
+}
+
+- (void)setSpot:(Spot *)spot {
+ [self willChangeValueForKey:@"spot"];
+ [_spot autorelease];
+ _spot = [spot retain];
+ [self didChangeValueForKey:@"spot"];
+
+ [self.imageView setImageWithURL:[NSURL URLWithString:self.spot.imageURLString] placeholderImage:[UIImage imageNamed:@"placeholder-stamp.png"]];
+
+ self.textLabel.text = spot.name;
+}
+
+#pragma mark - UITableViewCell
+
+- (void)prepareForReuse {
+ [self.imageView cancelImageRequestOperation];
+ self.textLabel.text = nil;
+ self.detailTextLabel.text = nil;
+}
+
+#pragma mark - UIView
+
+- (void)layoutSubviews {
+ [super layoutSubviews];
+ CGRect imageViewFrame = self.imageView.frame;
+ CGRect textLabelFrame = self.textLabel.frame;
+ CGRect detailTextLabelFrame = self.detailTextLabel.frame;
+
+ imageViewFrame.origin = CGPointMake(10.0f, 10.0f);
+ imageViewFrame.size = CGSizeMake(50.0f, 50.0f);
+ textLabelFrame.origin.x = imageViewFrame.size.width + 25.0f;
+ detailTextLabelFrame.origin.x = textLabelFrame.origin.x;
+ textLabelFrame.size.width = 240.0f;
+ detailTextLabelFrame.size.width = textLabelFrame.size.width;
+
+ self.textLabel.frame = textLabelFrame;
+ self.detailTextLabel.frame = detailTextLabelFrame;
+ self.imageView.frame = imageViewFrame;
+}
+
+@end
View
BIN examples/AFNetworking iOS Example/Images/placeholder-stamp.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN examples/AFNetworking iOS Example/Images/placeholder-stamp@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
34 examples/AFNetworking iOS Example/Info.plist
@@ -0,0 +1,34 @@
+<?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>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>AFNetworking</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.alamofire.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ </array>
+</dict>
+</plist>
View
29 examples/AFNetworking iOS Example/Podfile
@@ -0,0 +1,29 @@
+platform :ios
+
+dependency 'FormatterKit'
+
+dependency do |s|
+ s.name = 'AFNetworking'
+ s.version = '0.7.0'
+ s.summary = 'A delightful iOS networking library with NSOperations and block-based callbacks'
+ s.homepage = 'https://github.com/gowalla/AFNetworking'
+ s.author = { 'Gowalla' => 'live@gowalla.com' }
+ s.source = { :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0' }
+
+ if config.ios?
+ s.source_files = 'AFNetworking' # everything
+ else
+ s.source_files = %w{
+ AFNetworking/AFHTTPRequestOperation.h
+ AFNetworking/AFJSONRequestOperation.h
+ AFNetworking/NSData+AFNetworking.h
+ AFNetworking/NSMutableURLRequest+AFNetworking.h
+ AFNetworking/NSString+AFNetworking.h
+ }
+ end
+
+ s.clean_paths = ['iOS Example', 'Mac Example', 'AFNetworking.xcworkspace']
+
+ s.library = 'z'
+ s.dependency 'JSONKit'
+end
View
10 examples/AFNetworking iOS Example/Prefix.pch
@@ -0,0 +1,10 @@
+#import <Availability.h>
+
+#ifndef __IPHONE_3_0
+#warning "This project uses features only available in iPhone SDK 3.0 and later."
+#endif
+
+#ifdef __OBJC__
+ #import <UIKit/UIKit.h>
+ #import <Foundation/Foundation.h>
+#endif
View
30 examples/AFNetworking iOS Example/main.m
@@ -0,0 +1,30 @@
+// main.m
+//
+// Copyright (c) 2011 Gowalla (http://gowalla.com/)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+#import <UIKit/UIKit.h>
+
+int main(int argc, char *argv[]) {
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ int retVal = UIApplicationMain(argc, argv, @"UIApplication", @"AppDelegate");
+ [pool release];
+ return retVal;
+}

0 comments on commit a6910ce

Please sign in to comment.