Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Removed instapaper demo

  • Loading branch information...
commit 387bc2c03e094051c66761ea723eba4d00d41988 1 parent 74ae1a6
@MugunthKumar authored
Showing with 292 additions and 2,668 deletions.
  1. +0 −430 InstapaperDemo.xcodeproj/project.pbxproj
  2. +0 −7 InstapaperDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  3. +0 −35 InstapaperDemo/AppDelegate.h
  4. +0 −82 InstapaperDemo/AppDelegate.m
  5. +0 −46 InstapaperDemo/AuthViewController.h
  6. +0 −87 InstapaperDemo/AuthViewController.m
  7. +0 −59 InstapaperDemo/Instapaper/RSInstapaperEngine.h
  8. +0 −278 InstapaperDemo/Instapaper/RSInstapaperEngine.m
  9. +0 −54 InstapaperDemo/InstapaperDemo-Info.plist
  10. +0 −15 InstapaperDemo/InstapaperDemo-Prefix.pch
  11. +0 −50 InstapaperDemo/ViewController.h
  12. +0 −261 InstapaperDemo/ViewController.m
  13. +0 −400 InstapaperDemo/en.lproj/AuthViewController.xib
  14. +0 −2  InstapaperDemo/en.lproj/InfoPlist.strings
  15. +0 −692 InstapaperDemo/en.lproj/ViewController.xib
  16. +0 −35 InstapaperDemo/main.m
  17. +1 −0  {TwitterDemo → }/Twitter/RSTwitterConfigs.h
  18. +0 −2  {TwitterDemo → }/Twitter/RSTwitterEngine.h
  19. +133 −53 {TwitterDemo → }/Twitter/RSTwitterEngine.m
  20. +2 −2 TwitterDemo/WebViewController.h → Twitter/RSWebViewController.h
  21. +5 −5 TwitterDemo/WebViewController.m → Twitter/RSWebViewController.m
  22. +17 −46 TwitterDemo/en.lproj/WebViewController.xib → Twitter/RSWebViewController.xib
  23. +48 −26 TwitterDemo.xcodeproj/project.pbxproj
  24. +0 −1  TwitterDemo/ViewController.h
  25. +20 −0 UIActionSheet+MKAdditions/UIActionSheet+MKBlockAdditions.h
  26. +66 −0 UIActionSheet+MKAdditions/UIActionSheet+MKBlockAdditions.m
View
430 InstapaperDemo.xcodeproj/project.pbxproj
@@ -1,430 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 5B667C4D14E20B59000881C6 /* AuthViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B667C4B14E20B59000881C6 /* AuthViewController.m */; };
- 5B667C5614E212F6000881C6 /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B667C5514E212F6000881C6 /* NSData+Base64.m */; };
- 5B667C6B14E2179D000881C6 /* AuthViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5B667C6D14E2179D000881C6 /* AuthViewController.xib */; };
- 5B9770C8149789C200791728 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B9770C7149789C200791728 /* UIKit.framework */; };
- 5B9770CA149789C200791728 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B9770C9149789C200791728 /* Foundation.framework */; };
- 5B9770CC149789C200791728 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B9770CB149789C200791728 /* CoreGraphics.framework */; };
- 5B9770D2149789C200791728 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5B9770D0149789C200791728 /* InfoPlist.strings */; };
- 5B9770D4149789C200791728 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9770D3149789C200791728 /* main.m */; };
- 5B9770D8149789C200791728 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9770D7149789C200791728 /* AppDelegate.m */; };
- 5B9770DB149789C200791728 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9770DA149789C200791728 /* ViewController.m */; };
- 5B9770DE149789C200791728 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5B9770DC149789C200791728 /* ViewController.xib */; };
- 5B97710614978D5400791728 /* NSDate+RFC1123.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9770F614978D5400791728 /* NSDate+RFC1123.m */; };
- 5B97710714978D5400791728 /* NSDictionary+RequestEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9770F814978D5400791728 /* NSDictionary+RequestEncoding.m */; };
- 5B97710814978D5400791728 /* NSString+MKNetworkKitAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9770FA14978D5400791728 /* NSString+MKNetworkKitAdditions.m */; };
- 5B97710914978D5400791728 /* UIAlertView+MKNetworkKitAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9770FC14978D5400791728 /* UIAlertView+MKNetworkKitAdditions.m */; };
- 5B97710A14978D5400791728 /* MKNetworkEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9770FE14978D5400791728 /* MKNetworkEngine.m */; };
- 5B97710B14978D5400791728 /* MKNetworkOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B97710114978D5400791728 /* MKNetworkOperation.m */; };
- 5B97710C14978D5400791728 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B97710414978D5400791728 /* Reachability.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
- 5B97710E14978DB400791728 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B97710D14978DB400791728 /* CFNetwork.framework */; };
- 5B97711014978DBC00791728 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B97710F14978DBC00791728 /* SystemConfiguration.framework */; };
- 5B97711214978F6100791728 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B97711114978F6100791728 /* Security.framework */; };
- 5B97711A14978FFD00791728 /* RSOAuthEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B97711814978FFD00791728 /* RSOAuthEngine.m */; };
- 5B9771241497927C00791728 /* RSInstapaperEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B9771231497927C00791728 /* RSInstapaperEngine.m */; };
- 5BAA64D61497D8CB00ED569D /* logo_cube_57.png in Resources */ = {isa = PBXBuildFile; fileRef = 5BAA64D51497D8CB00ED569D /* logo_cube_57.png */; };
- 5BAA64D81497D8D300ED569D /* logo_cube_114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5BAA64D71497D8D300ED569D /* logo_cube_114.png */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 5B667C4A14E20B59000881C6 /* AuthViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthViewController.h; sourceTree = "<group>"; };
- 5B667C4B14E20B59000881C6 /* AuthViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AuthViewController.m; sourceTree = "<group>"; };
- 5B667C5414E212F6000881C6 /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Base64.h"; sourceTree = "<group>"; };
- 5B667C5514E212F6000881C6 /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Base64.m"; sourceTree = "<group>"; };
- 5B667C6C14E2179D000881C6 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/AuthViewController.xib; sourceTree = "<group>"; };
- 5B9770C3149789C200791728 /* InstapaperDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = InstapaperDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 5B9770C7149789C200791728 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
- 5B9770C9149789C200791728 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
- 5B9770CB149789C200791728 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
- 5B9770CF149789C200791728 /* InstapaperDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "InstapaperDemo-Info.plist"; sourceTree = "<group>"; };
- 5B9770D1149789C200791728 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
- 5B9770D3149789C200791728 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = main.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
- 5B9770D5149789C200791728 /* InstapaperDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "InstapaperDemo-Prefix.pch"; sourceTree = "<group>"; };
- 5B9770D6149789C200791728 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = AppDelegate.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
- 5B9770D7149789C200791728 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = AppDelegate.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
- 5B9770D9149789C200791728 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = ViewController.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
- 5B9770DA149789C200791728 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ViewController.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
- 5B9770DD149789C200791728 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = "<group>"; };
- 5B9770F514978D5400791728 /* NSDate+RFC1123.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+RFC1123.h"; sourceTree = "<group>"; };
- 5B9770F614978D5400791728 /* NSDate+RFC1123.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+RFC1123.m"; sourceTree = "<group>"; };
- 5B9770F714978D5400791728 /* NSDictionary+RequestEncoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+RequestEncoding.h"; sourceTree = "<group>"; };
- 5B9770F814978D5400791728 /* NSDictionary+RequestEncoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+RequestEncoding.m"; sourceTree = "<group>"; };
- 5B9770F914978D5400791728 /* NSString+MKNetworkKitAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MKNetworkKitAdditions.h"; sourceTree = "<group>"; };
- 5B9770FA14978D5400791728 /* NSString+MKNetworkKitAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MKNetworkKitAdditions.m"; sourceTree = "<group>"; };
- 5B9770FB14978D5400791728 /* UIAlertView+MKNetworkKitAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIAlertView+MKNetworkKitAdditions.h"; sourceTree = "<group>"; };
- 5B9770FC14978D5400791728 /* UIAlertView+MKNetworkKitAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIAlertView+MKNetworkKitAdditions.m"; sourceTree = "<group>"; };
- 5B9770FD14978D5400791728 /* MKNetworkEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MKNetworkEngine.h; sourceTree = "<group>"; };
- 5B9770FE14978D5400791728 /* MKNetworkEngine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MKNetworkEngine.m; sourceTree = "<group>"; };
- 5B9770FF14978D5400791728 /* MKNetworkKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MKNetworkKit.h; sourceTree = "<group>"; };
- 5B97710014978D5400791728 /* MKNetworkOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MKNetworkOperation.h; sourceTree = "<group>"; };
- 5B97710114978D5400791728 /* MKNetworkOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MKNetworkOperation.m; sourceTree = "<group>"; };
- 5B97710314978D5400791728 /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = "<group>"; };
- 5B97710414978D5400791728 /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = "<group>"; };
- 5B97710D14978DB400791728 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
- 5B97710F14978DBC00791728 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
- 5B97711114978F6100791728 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
- 5B97711714978FFD00791728 /* RSOAuthEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = RSOAuthEngine.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
- 5B97711814978FFD00791728 /* RSOAuthEngine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = RSOAuthEngine.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
- 5B9771221497927C00791728 /* RSInstapaperEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = RSInstapaperEngine.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
- 5B9771231497927C00791728 /* RSInstapaperEngine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = RSInstapaperEngine.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
- 5BAA64D51497D8CB00ED569D /* logo_cube_57.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = logo_cube_57.png; path = ../logo_cube_57.png; sourceTree = "<group>"; };
- 5BAA64D71497D8D300ED569D /* logo_cube_114.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = logo_cube_114.png; path = ../logo_cube_114.png; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 5B9770C0149789C200791728 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 5B97711214978F6100791728 /* Security.framework in Frameworks */,
- 5B97711014978DBC00791728 /* SystemConfiguration.framework in Frameworks */,
- 5B97710E14978DB400791728 /* CFNetwork.framework in Frameworks */,
- 5B9770C8149789C200791728 /* UIKit.framework in Frameworks */,
- 5B9770CA149789C200791728 /* Foundation.framework in Frameworks */,
- 5B9770CC149789C200791728 /* CoreGraphics.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 5B9770B8149789C200791728 = {
- isa = PBXGroup;
- children = (
- 5B9770F014978CC700791728 /* MKNetworkKit */,
- 5B97711314978FD300791728 /* RSOAuthEngine */,
- 5B9770CD149789C200791728 /* InstapaperDemo */,
- 5B9770C6149789C200791728 /* Frameworks */,
- 5B9770C4149789C200791728 /* Products */,
- );
- sourceTree = "<group>";
- };
- 5B9770C4149789C200791728 /* Products */ = {
- isa = PBXGroup;
- children = (
- 5B9770C3149789C200791728 /* InstapaperDemo.app */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- 5B9770C6149789C200791728 /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 5B97711114978F6100791728 /* Security.framework */,
- 5B97710F14978DBC00791728 /* SystemConfiguration.framework */,
- 5B97710D14978DB400791728 /* CFNetwork.framework */,
- 5B9770C7149789C200791728 /* UIKit.framework */,
- 5B9770C9149789C200791728 /* Foundation.framework */,
- 5B9770CB149789C200791728 /* CoreGraphics.framework */,
- );
- name = Frameworks;
- sourceTree = "<group>";
- };
- 5B9770CD149789C200791728 /* InstapaperDemo */ = {
- isa = PBXGroup;
- children = (
- 5B9771211497926200791728 /* Instapaper */,
- 5B9770D6149789C200791728 /* AppDelegate.h */,
- 5B9770D7149789C200791728 /* AppDelegate.m */,
- 5B9770D9149789C200791728 /* ViewController.h */,
- 5B9770DA149789C200791728 /* ViewController.m */,
- 5B9770DC149789C200791728 /* ViewController.xib */,
- 5B667C4A14E20B59000881C6 /* AuthViewController.h */,
- 5B667C4B14E20B59000881C6 /* AuthViewController.m */,
- 5B667C6D14E2179D000881C6 /* AuthViewController.xib */,
- 5B9770CE149789C200791728 /* Supporting Files */,
- );
- path = InstapaperDemo;
- sourceTree = "<group>";
- };
- 5B9770CE149789C200791728 /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- 5BAA64D71497D8D300ED569D /* logo_cube_114.png */,
- 5BAA64D51497D8CB00ED569D /* logo_cube_57.png */,
- 5B9770CF149789C200791728 /* InstapaperDemo-Info.plist */,
- 5B9770D0149789C200791728 /* InfoPlist.strings */,
- 5B9770D3149789C200791728 /* main.m */,
- 5B9770D5149789C200791728 /* InstapaperDemo-Prefix.pch */,
- );
- name = "Supporting Files";
- sourceTree = "<group>";
- };
- 5B9770F014978CC700791728 /* MKNetworkKit */ = {
- isa = PBXGroup;
- children = (
- 5B9770F214978D5400791728 /* Categories */,
- 5B97710214978D5400791728 /* Reachability */,
- 5B9770FD14978D5400791728 /* MKNetworkEngine.h */,
- 5B9770FE14978D5400791728 /* MKNetworkEngine.m */,
- 5B9770FF14978D5400791728 /* MKNetworkKit.h */,
- 5B97710014978D5400791728 /* MKNetworkOperation.h */,
- 5B97710114978D5400791728 /* MKNetworkOperation.m */,
- );
- name = MKNetworkKit;
- path = MKNetworkKit/MKNetworkKit;
- sourceTree = SOURCE_ROOT;
- };
- 5B9770F214978D5400791728 /* Categories */ = {
- isa = PBXGroup;
- children = (
- 5B667C5414E212F6000881C6 /* NSData+Base64.h */,
- 5B667C5514E212F6000881C6 /* NSData+Base64.m */,
- 5B9770F514978D5400791728 /* NSDate+RFC1123.h */,
- 5B9770F614978D5400791728 /* NSDate+RFC1123.m */,
- 5B9770F714978D5400791728 /* NSDictionary+RequestEncoding.h */,
- 5B9770F814978D5400791728 /* NSDictionary+RequestEncoding.m */,
- 5B9770F914978D5400791728 /* NSString+MKNetworkKitAdditions.h */,
- 5B9770FA14978D5400791728 /* NSString+MKNetworkKitAdditions.m */,
- 5B9770FB14978D5400791728 /* UIAlertView+MKNetworkKitAdditions.h */,
- 5B9770FC14978D5400791728 /* UIAlertView+MKNetworkKitAdditions.m */,
- );
- path = Categories;
- sourceTree = "<group>";
- };
- 5B97710214978D5400791728 /* Reachability */ = {
- isa = PBXGroup;
- children = (
- 5B97710314978D5400791728 /* Reachability.h */,
- 5B97710414978D5400791728 /* Reachability.m */,
- );
- path = Reachability;
- sourceTree = "<group>";
- };
- 5B97711314978FD300791728 /* RSOAuthEngine */ = {
- isa = PBXGroup;
- children = (
- 5B97711714978FFD00791728 /* RSOAuthEngine.h */,
- 5B97711814978FFD00791728 /* RSOAuthEngine.m */,
- );
- path = RSOAuthEngine;
- sourceTree = SOURCE_ROOT;
- };
- 5B9771211497926200791728 /* Instapaper */ = {
- isa = PBXGroup;
- children = (
- 5B9771221497927C00791728 /* RSInstapaperEngine.h */,
- 5B9771231497927C00791728 /* RSInstapaperEngine.m */,
- );
- path = Instapaper;
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 5B9770C2149789C200791728 /* InstapaperDemo */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 5B9770E1149789C200791728 /* Build configuration list for PBXNativeTarget "InstapaperDemo" */;
- buildPhases = (
- 5B9770BF149789C200791728 /* Sources */,
- 5B9770C0149789C200791728 /* Frameworks */,
- 5B9770C1149789C200791728 /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = InstapaperDemo;
- productName = InstapaperDemo;
- productReference = 5B9770C3149789C200791728 /* InstapaperDemo.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 5B9770BA149789C200791728 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0420;
- ORGANIZATIONNAME = SharpCube;
- };
- buildConfigurationList = 5B9770BD149789C200791728 /* Build configuration list for PBXProject "InstapaperDemo" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- );
- mainGroup = 5B9770B8149789C200791728;
- productRefGroup = 5B9770C4149789C200791728 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 5B9770C2149789C200791728 /* InstapaperDemo */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 5B9770C1149789C200791728 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 5B9770D2149789C200791728 /* InfoPlist.strings in Resources */,
- 5B9770DE149789C200791728 /* ViewController.xib in Resources */,
- 5BAA64D61497D8CB00ED569D /* logo_cube_57.png in Resources */,
- 5BAA64D81497D8D300ED569D /* logo_cube_114.png in Resources */,
- 5B667C6B14E2179D000881C6 /* AuthViewController.xib in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 5B9770BF149789C200791728 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 5B9770D4149789C200791728 /* main.m in Sources */,
- 5B9770D8149789C200791728 /* AppDelegate.m in Sources */,
- 5B9770DB149789C200791728 /* ViewController.m in Sources */,
- 5B97710614978D5400791728 /* NSDate+RFC1123.m in Sources */,
- 5B97710714978D5400791728 /* NSDictionary+RequestEncoding.m in Sources */,
- 5B97710814978D5400791728 /* NSString+MKNetworkKitAdditions.m in Sources */,
- 5B97710914978D5400791728 /* UIAlertView+MKNetworkKitAdditions.m in Sources */,
- 5B97710A14978D5400791728 /* MKNetworkEngine.m in Sources */,
- 5B97710B14978D5400791728 /* MKNetworkOperation.m in Sources */,
- 5B97710C14978D5400791728 /* Reachability.m in Sources */,
- 5B97711A14978FFD00791728 /* RSOAuthEngine.m in Sources */,
- 5B9771241497927C00791728 /* RSInstapaperEngine.m in Sources */,
- 5B667C4D14E20B59000881C6 /* AuthViewController.m in Sources */,
- 5B667C5614E212F6000881C6 /* NSData+Base64.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- 5B667C6D14E2179D000881C6 /* AuthViewController.xib */ = {
- isa = PBXVariantGroup;
- children = (
- 5B667C6C14E2179D000881C6 /* en */,
- );
- name = AuthViewController.xib;
- sourceTree = "<group>";
- };
- 5B9770D0149789C200791728 /* InfoPlist.strings */ = {
- isa = PBXVariantGroup;
- children = (
- 5B9770D1149789C200791728 /* en */,
- );
- name = InfoPlist.strings;
- sourceTree = "<group>";
- };
- 5B9770DC149789C200791728 /* ViewController.xib */ = {
- isa = PBXVariantGroup;
- children = (
- 5B9770DD149789C200791728 /* en */,
- );
- name = ViewController.xib;
- sourceTree = "<group>";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- 5B9770DF149789C200791728 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- CLANG_ENABLE_OBJC_ARC = YES;
- CODE_SIGN_IDENTITY = "iPhone Developer";
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 4.3;
- PROVISIONING_PROFILE = "";
- "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
- SDKROOT = iphoneos;
- };
- name = Debug;
- };
- 5B9770E0149789C200791728 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- CLANG_ENABLE_OBJC_ARC = YES;
- CODE_SIGN_IDENTITY = "iPhone Developer";
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 4.3;
- OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
- PROVISIONING_PROFILE = "";
- "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
- SDKROOT = iphoneos;
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- 5B9770E2149789C200791728 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "InstapaperDemo/InstapaperDemo-Prefix.pch";
- INFOPLIST_FILE = "InstapaperDemo/InstapaperDemo-Info.plist";
- PRODUCT_NAME = "$(TARGET_NAME)";
- WRAPPER_EXTENSION = app;
- };
- name = Debug;
- };
- 5B9770E3149789C200791728 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "InstapaperDemo/InstapaperDemo-Prefix.pch";
- INFOPLIST_FILE = "InstapaperDemo/InstapaperDemo-Info.plist";
- PRODUCT_NAME = "$(TARGET_NAME)";
- WRAPPER_EXTENSION = app;
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 5B9770BD149789C200791728 /* Build configuration list for PBXProject "InstapaperDemo" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 5B9770DF149789C200791728 /* Debug */,
- 5B9770E0149789C200791728 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 5B9770E1149789C200791728 /* Build configuration list for PBXNativeTarget "InstapaperDemo" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 5B9770E2149789C200791728 /* Debug */,
- 5B9770E3149789C200791728 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 5B9770BA149789C200791728 /* Project object */;
-}
View
7 InstapaperDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
- version = "1.0">
- <FileRef
- location = "self:InstapaperDemo.xcodeproj">
- </FileRef>
-</Workspace>
View
35 InstapaperDemo/AppDelegate.h
@@ -1,35 +0,0 @@
-//
-// AppDelegate.h
-// InstapaperDemo
-//
-// Created by Rodrigo Sieiro on 12/13/11.
-// Copyright (c) 2011 Rodrigo Sieiro <rsieiro@sharpcube.com>. All rights reserved.
-//
-// 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 ViewController;
-
-@interface AppDelegate : UIResponder <UIApplicationDelegate>
-
-@property (strong, nonatomic) UIWindow *window;
-@property (strong, nonatomic) ViewController *viewController;
-
-@end
View
82 InstapaperDemo/AppDelegate.m
@@ -1,82 +0,0 @@
-//
-// AppDelegate.m
-// InstapaperDemo
-//
-// Created by Rodrigo Sieiro on 12/13/11.
-// Copyright (c) 2011 Rodrigo Sieiro <rsieiro@sharpcube.com>. All rights reserved.
-//
-// 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 "ViewController.h"
-
-@implementation AppDelegate
-
-@synthesize window = _window;
-@synthesize viewController = _viewController;
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
-{
- self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
- self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
- self.window.rootViewController = self.viewController;
- [self.window makeKeyAndVisible];
- return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application
-{
- /*
- Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
- Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
- */
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application
-{
- /*
- Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
- If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
- */
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application
-{
- /*
- Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
- */
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application
-{
- /*
- Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
- */
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application
-{
- /*
- Called when the application is about to terminate.
- Save data if appropriate.
- See also applicationDidEnterBackground:.
- */
-}
-
-@end
View
46 InstapaperDemo/AuthViewController.h
@@ -1,46 +0,0 @@
-//
-// AuthViewController.h
-// InstapaperDemo
-//
-// Created by Rodrigo Sieiro on 07/02/12.
-// Copyright (c) 2012 Rodrigo Sieiro <rsieiro@sharpcube.com>. All rights reserved.
-//
-// 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>
-
-@protocol AuthViewControllerDelegate;
-
-@interface AuthViewController : UIViewController <UITextFieldDelegate>
-
-@property (assign, nonatomic) id <AuthViewControllerDelegate> delegate;
-@property (unsafe_unretained, nonatomic) IBOutlet UITextField *usernameField;
-@property (unsafe_unretained, nonatomic) IBOutlet UITextField *passwordField;
-
-- (IBAction)authenticate:(id)sender;
-- (IBAction)cancelAuthentication:(id)sender;
-
-@end
-
-@protocol AuthViewControllerDelegate <NSObject>
-
-- (void)cancelAuthentication;
-- (void)authenticateWithUsername:(NSString *)username password:(NSString *)password;
-
-@end
View
87 InstapaperDemo/AuthViewController.m
@@ -1,87 +0,0 @@
-//
-// AuthViewController.m
-// InstapaperDemo
-//
-// Created by Rodrigo Sieiro on 07/02/12.
-// Copyright (c) 2012 Rodrigo Sieiro <rsieiro@sharpcube.com>. All rights reserved.
-//
-// 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 "AuthViewController.h"
-
-@implementation AuthViewController
-
-@synthesize delegate = _delegate;
-@synthesize usernameField = _usernameField;
-@synthesize passwordField = _passwordField;
-
-- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
-{
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- return self;
-}
-
-#pragma mark - View lifecycle
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
- [self.usernameField becomeFirstResponder];
-}
-
-- (void)viewDidUnload
-{
- [self setUsernameField:nil];
- [self setPasswordField:nil];
- [super viewDidUnload];
-}
-
-- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
-{
- return (interfaceOrientation == UIInterfaceOrientationPortrait);
-}
-
-#pragma mark - UITextField Delegate Methods
-
-- (BOOL)textFieldShouldReturn:(UITextField *)textField
-{
- if (textField == self.usernameField) {
- [self.passwordField becomeFirstResponder];
- } else if (textField == self.passwordField) {
- [self authenticate:nil];
- }
-
- return YES;
-}
-
-#pragma mark - Custom Methods
-
-- (IBAction)authenticate:(id)sender
-{
- if (self.delegate) [self.delegate authenticateWithUsername:self.usernameField.text
- password:self.passwordField.text];
-}
-
-- (IBAction)cancelAuthentication:(id)sender
-{
- if (self.delegate) [self.delegate cancelAuthentication];
-}
-
-@end
View
59 InstapaperDemo/Instapaper/RSInstapaperEngine.h
@@ -1,59 +0,0 @@
-//
-// RSInstapaperEngine.h
-// RSOAuthEngine
-//
-// Created by Rodrigo Sieiro on 12/8/11.
-// Copyright (c) 2011 Rodrigo Sieiro <rsieiro@sharpcube.com>. All rights reserved.
-//
-// 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 "RSOAuthEngine.h"
-
-@protocol RSInstapaperEngineDelegate;
-
-typedef void (^RSInstapaperEngineCompletionBlock)(NSError *error);
-
-@interface RSInstapaperEngine : RSOAuthEngine
-{
- RSInstapaperEngineCompletionBlock _oAuthCompletionBlock;
- NSString *_screenName;
-}
-
-@property (assign) id <RSInstapaperEngineDelegate> delegate;
-@property (readonly) NSString *screenName;
-
-- (id)initWithDelegate:(id <RSInstapaperEngineDelegate>)delegate;
-- (void)authenticateWithCompletionBlock:(RSInstapaperEngineCompletionBlock)completionBlock;
-- (void)authenticateWithUsername:(NSString *)username password:(NSString *)password;
-- (void)cancelAuthentication;
-- (void)forgetStoredToken;
-
-- (void)bookmarkURL:(NSString *)url
- title:(NSString *)title
- description:(NSString *)description
- completionBlock:(RSInstapaperEngineCompletionBlock)completionBlock;
-
-@end
-
-@protocol RSInstapaperEngineDelegate <NSObject>
-
-- (void)instapaperEngineNeedsAuthentication:(RSInstapaperEngine *)engine;
-- (void)instapaperEngine:(RSInstapaperEngine *)engine statusUpdate:(NSString *)message;
-
-@end
View
278 InstapaperDemo/Instapaper/RSInstapaperEngine.m
@@ -1,278 +0,0 @@
-//
-// RSInstapaperEngine.m
-// RSOAuthEngine
-//
-// Created by Rodrigo Sieiro on 12/8/11.
-// Copyright (c) 2011 Rodrigo Sieiro <rsieiro@sharpcube.com>. All rights reserved.
-//
-// 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 "RSInstapaperEngine.h"
-
-// Never share this information
-#error Put your Consumer Key and Secret here, then remove this error
-#define IP_CONSUMER_KEY @""
-#define IP_CONSUMER_SECRET @""
-
-// Default instapaper hostname and paths
-#define IP_HOSTNAME @"www.instapaper.com"
-#define IP_ACCESS_TOKEN @"api/1/oauth/access_token"
-#define IP_ADD_BOOKMARK @"api/1/bookmarks/add"
-
-@interface RSInstapaperEngine ()
-
-- (void)removeOAuthTokenFromKeychain;
-- (void)storeOAuthTokenInKeychain;
-- (void)retrieveOAuthTokenFromKeychain;
-
-@end
-
-@implementation RSInstapaperEngine
-
-@synthesize delegate = _delegate;
-
-#pragma mark - Read-only Properties
-
-- (NSString *)screenName
-{
- return _screenName;
-}
-
-#pragma mark - Initialization
-
-- (id)initWithDelegate:(id <RSInstapaperEngineDelegate>)delegate
-{
- self = [super initWithHostName:IP_HOSTNAME
- customHeaderFields:nil
- signatureMethod:RSOAuthHMAC_SHA1
- consumerKey:IP_CONSUMER_KEY
- consumerSecret:IP_CONSUMER_SECRET];
-
- if (self) {
- _oAuthCompletionBlock = nil;
- _screenName = nil;
- self.delegate = delegate;
-
- // Retrieve OAuth access token (if previously stored)
- [self retrieveOAuthTokenFromKeychain];
- }
-
- return self;
-}
-
-#pragma mark - OAuth Access Token store/retrieve
-
-- (void)removeOAuthTokenFromKeychain
-{
- // Build the keychain query
- NSMutableDictionary *keychainQuery = [NSMutableDictionary dictionaryWithObjectsAndKeys:
- (__bridge_transfer NSString *)kSecClassGenericPassword, (__bridge_transfer NSString *)kSecClass,
- self.consumerKey, kSecAttrService,
- self.consumerKey, kSecAttrAccount,
- kCFBooleanTrue, kSecReturnAttributes,
- nil];
-
- // If there's a token stored for this user, delete it
- SecItemDelete((__bridge_retained CFDictionaryRef) keychainQuery);
-}
-
-- (void)storeOAuthTokenInKeychain
-{
- // Build the keychain query
- NSMutableDictionary *keychainQuery = [NSMutableDictionary dictionaryWithObjectsAndKeys:
- (__bridge_transfer NSString *)kSecClassGenericPassword, (__bridge_transfer NSString *)kSecClass,
- self.consumerKey, kSecAttrService,
- self.consumerKey, kSecAttrAccount,
- kCFBooleanTrue, kSecReturnAttributes,
- nil];
-
- CFTypeRef resData = NULL;
-
- // If there's a token stored for this user, delete it first
- SecItemDelete((__bridge_retained CFDictionaryRef) keychainQuery);
-
- // Build the token dictionary
- NSMutableDictionary *tokenDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:
- self.token, @"oauth_token",
- self.tokenSecret, @"oauth_token_secret",
- self.screenName, @"screen_name",
- nil];
-
- // Add the token dictionary to the query
- [keychainQuery setObject:[NSKeyedArchiver archivedDataWithRootObject:tokenDictionary]
- forKey:(__bridge_transfer NSString *)kSecValueData];
-
- // Add the token data to the keychain
- // Even if we never use resData, replacing with NULL in the call throws EXC_BAD_ACCESS
- SecItemAdd((__bridge_retained CFDictionaryRef)keychainQuery, (CFTypeRef *) &resData);
-}
-
-- (void)retrieveOAuthTokenFromKeychain
-{
- // Build the keychain query
- NSMutableDictionary *keychainQuery = [NSMutableDictionary dictionaryWithObjectsAndKeys:
- (__bridge_transfer NSString *)kSecClassGenericPassword, (__bridge_transfer NSString *)kSecClass,
- self.consumerKey, kSecAttrService,
- self.consumerKey, kSecAttrAccount,
- kCFBooleanTrue, kSecReturnData,
- kSecMatchLimitOne, kSecMatchLimit,
- nil];
-
- // Get the token data from the keychain
- CFTypeRef resData = NULL;
-
- // Get the token dictionary from the keychain
- if (SecItemCopyMatching((__bridge_retained CFDictionaryRef) keychainQuery, (CFTypeRef *) &resData) == noErr)
- {
- NSData *resultData = (__bridge_transfer NSData *)resData;
-
- if (resultData)
- {
- NSMutableDictionary *tokenDictionary = [NSKeyedUnarchiver unarchiveObjectWithData:resultData];
-
- if (tokenDictionary) {
- [self setAccessToken:[tokenDictionary objectForKey:@"oauth_token"]
- secret:[tokenDictionary objectForKey:@"oauth_token_secret"]];
-
- _screenName = [tokenDictionary objectForKey:@"screen_name"];
- }
- }
- }
-}
-
-#pragma mark - OAuth Authentication Flow
-
-- (void)authenticateWithCompletionBlock:(RSInstapaperEngineCompletionBlock)completionBlock
-{
- // First we reset the OAuth token, so we won't send previous tokens in the request
- [self resetOAuthToken];
-
- // Store the Completion Block to call after Authenticated
- _oAuthCompletionBlock = [completionBlock copy];
-
- [self.delegate instapaperEngine:self statusUpdate:@"Waiting for user authorization..."];
- [self.delegate instapaperEngineNeedsAuthentication:self];
-}
-
-- (void)authenticateWithUsername:(NSString *)username password:(NSString *)password
-{
- // Fill the post body with the xAuth parameters
- NSMutableDictionary *postParams = [NSMutableDictionary dictionaryWithObjectsAndKeys:
- username, @"x_auth_username",
- password, @"x_auth_password",
- @"client_auth", @"x_auth_mode",
- nil];
-
- // Get the access token using xAuth
- MKNetworkOperation *op = [self operationWithPath:IP_ACCESS_TOKEN
- params:postParams
- httpMethod:@"POST"
- ssl:YES];
-
- [op onCompletion:^(MKNetworkOperation *completedOperation)
- {
- // Fill the access token with the returned data
- [self fillTokenWithResponseBody:[completedOperation responseString] type:RSOAuthAccessToken];
-
- // Set the user's screen name
- _screenName = [username copy];
-
- // Store the OAuth access token
- [self storeOAuthTokenInKeychain];
-
- // Finished, return to previous method
- if (_oAuthCompletionBlock) _oAuthCompletionBlock(nil);
- _oAuthCompletionBlock = nil;
- }
- onError:^(NSError *error)
- {
- if (_oAuthCompletionBlock) _oAuthCompletionBlock(error);
- _oAuthCompletionBlock = nil;
- }];
-
- [self.delegate instapaperEngine:self statusUpdate:@"Authenticating..."];
- [self enqueueSignedOperation:op];
-}
-
-- (void)cancelAuthentication
-{
- NSDictionary *ui = [NSDictionary dictionaryWithObjectsAndKeys:@"Authentication cancelled.", NSLocalizedDescriptionKey, nil];
- NSError *error = [NSError errorWithDomain:@"com.sharpcube.RSInstapaperEngine.ErrorDomain" code:401 userInfo:ui];
-
- if (_oAuthCompletionBlock) _oAuthCompletionBlock(error);
- _oAuthCompletionBlock = nil;
-}
-
-- (void)forgetStoredToken
-{
- [self removeOAuthTokenFromKeychain];
- [self resetOAuthToken];
- _screenName = nil;
-}
-
-#pragma mark - Public Methods
-
-- (void)bookmarkURL:(NSString *)url
- title:(NSString *)title
- description:(NSString *)description
- completionBlock:(RSInstapaperEngineCompletionBlock)completionBlock
-{
- if (!self.isAuthenticated) {
- [self authenticateWithCompletionBlock:^(NSError *error) {
- if (error) {
- // Authentication failed, return the error
- completionBlock(error);
- } else {
- // Authentication succeeded, call this method again
- [self bookmarkURL:url
- title:title
- description:description
- completionBlock:completionBlock];
- }
- }];
-
- // This method will be called again once the authentication completes
- return;
- }
-
- // Fill the post body with the tweet
- NSMutableDictionary *postParams = [NSMutableDictionary dictionaryWithObjectsAndKeys:
- url, @"url",
- title, @"title",
- description, @"description",
- nil];
-
- // Send the bookmark to Instapaper
- MKNetworkOperation *op = [self operationWithPath:IP_ADD_BOOKMARK
- params:postParams
- httpMethod:@"POST"
- ssl:YES];
-
- // TODO: Actually check the response to get the data or the error
- [op onCompletion:^(MKNetworkOperation *completedOperation) {
- completionBlock(nil);
- } onError:^(NSError *error) {
- completionBlock(error);
- }];
-
- [self.delegate instapaperEngine:self statusUpdate:@"Adding the bookmark..."];
- [self enqueueSignedOperation:op];
-}
-
-@end
View
54 InstapaperDemo/InstapaperDemo-Info.plist
@@ -1,54 +0,0 @@
-<?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>InstaAdd!</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFiles</key>
- <array>
- <string>logo_cube_57.png</string>
- <string>logo_cube_114.png</string>
- </array>
- <key>CFBundleIcons</key>
- <dict>
- <key>CFBundlePrimaryIcon</key>
- <dict>
- <key>CFBundleIconFiles</key>
- <array>
- <string>logo_cube_57.png</string>
- <string>logo_cube_114.png</string>
- </array>
- <key>UIPrerenderedIcon</key>
- <false/>
- </dict>
- </dict>
- <key>CFBundleIdentifier</key>
- <string>com.sharpcube.${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>1.0</string>
- <key>LSRequiresIPhoneOS</key>
- <true/>
- <key>UIRequiredDeviceCapabilities</key>
- <array>
- <string>armv7</string>
- </array>
- <key>UISupportedInterfaceOrientations</key>
- <array>
- <string>UIInterfaceOrientationPortrait</string>
- </array>
-</dict>
-</plist>
View
15 InstapaperDemo/InstapaperDemo-Prefix.pch
@@ -1,15 +0,0 @@
-//
-// Prefix header for all source files of the 'InstapaperDemo' target in the 'InstapaperDemo' project
-//
-
-#import <Availability.h>
-
-#ifndef __IPHONE_4_0
-#warning "This project uses features only available in iOS SDK 4.0 and later."
-#endif
-
-#ifdef __OBJC__
- #import <UIKit/UIKit.h>
- #import <Foundation/Foundation.h>
- #import "MKNetworkKit.h"
-#endif
View
50 InstapaperDemo/ViewController.h
@@ -1,50 +0,0 @@
-//
-// ViewController.h
-// InstapaperDemo
-//
-// Created by Rodrigo Sieiro on 12/13/11.
-// Copyright (c) 2011 Rodrigo Sieiro <rsieiro@sharpcube.com>. All rights reserved.
-//
-// 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 "RSInstapaperEngine.h"
-#import "AuthViewController.h"
-
-@interface ViewController : UIViewController <RSInstapaperEngineDelegate, AuthViewControllerDelegate, UITextFieldDelegate>
-{
- BOOL _keyboardIsShown;
-}
-
-@property (strong, nonatomic) RSInstapaperEngine *instapaperEngine;
-@property (strong, nonatomic) AuthViewController *authView;
-
-@property (unsafe_unretained, nonatomic) IBOutlet UITextField *urlTextField;
-@property (unsafe_unretained, nonatomic) IBOutlet UITextField *titleTextField;
-@property (unsafe_unretained, nonatomic) IBOutlet UITextView *textView;
-@property (unsafe_unretained, nonatomic) IBOutlet UIBarButtonItem *sendButton;
-@property (unsafe_unretained, nonatomic) IBOutlet UIBarButtonItem *clearButton;
-@property (unsafe_unretained, nonatomic) IBOutlet UILabel *statusLabel;
-@property (unsafe_unretained, nonatomic) IBOutlet UIScrollView *scrollView;
-
-- (IBAction)addBookmark:(id)sender;
-- (IBAction)clearFields:(id)sender;
-- (void)swipedRight:(UIGestureRecognizer *)recognizer;
-
-@end
View
261 InstapaperDemo/ViewController.m
@@ -1,261 +0,0 @@
-//
-// ViewController.m
-// InstapaperDemo
-//
-// Created by Rodrigo Sieiro on 12/13/11.
-// Copyright (c) 2011 Rodrigo Sieiro <rsieiro@sharpcube.com>. All rights reserved.
-//
-// 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 "ViewController.h"
-
-@implementation ViewController
-
-@synthesize instapaperEngine = _instapaperEngine;
-@synthesize authView = _authView;
-@synthesize urlTextField = _urlTextField;
-@synthesize titleTextField = _titleTextField;
-@synthesize textView = _textView;
-@synthesize sendButton = _sendButton;
-@synthesize clearButton = _clearButton;
-@synthesize statusLabel = _statusLabel;
-@synthesize scrollView = _scrollView;
-
-- (void)didReceiveMemoryWarning
-{
- [super didReceiveMemoryWarning];
-}
-
-#pragma mark - View Lifecycle
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
- // register for keyboard notifications
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(keyboardWillShow:)
- name:UIKeyboardWillShowNotification
- object:self.view.window];
-
- // register for keyboard notifications
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(keyboardWillHide:)
- name:UIKeyboardWillHideNotification
- object:self.view.window];
-
- _keyboardIsShown = NO;
- self.scrollView.contentSize = CGSizeMake(320, 388);
- self.instapaperEngine = [[RSInstapaperEngine alloc] initWithDelegate:self];
-
- // A right swipe on the status label will clear the stored token
- UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipedRight:)];
- swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
- swipeRight.numberOfTouchesRequired = 1;
- [self.statusLabel.superview addGestureRecognizer:swipeRight];
-
- // Check if the user is already authenticated
- if (self.instapaperEngine.isAuthenticated) {
- self.statusLabel.text = [NSString stringWithFormat:@"Signed in as %@.", self.instapaperEngine.screenName];
- } else {
- self.statusLabel.text = @"Not signed in.";
- }
-
- [self.urlTextField becomeFirstResponder];
-}
-
-- (void)viewDidUnload
-{
- [self setTextView:nil];
- [self setSendButton:nil];
- [self setInstapaperEngine:nil];
- [self setStatusLabel:nil];
- [self setScrollView:nil];
- [self setUrlTextField:nil];
- [self setTitleTextField:nil];
- [self setClearButton:nil];
-
- // unregister for keyboard notifications while not visible.
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:UIKeyboardWillShowNotification
- object:nil];
-
- // unregister for keyboard notifications while not visible.
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:UIKeyboardWillHideNotification
- object:nil];
-
- [super viewDidUnload];
-}
-
-- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
-{
- return (interfaceOrientation == UIInterfaceOrientationPortrait);
-}
-
-#pragma mark - Keyboard Show/Hide Notifications
-
-- (void)keyboardWillShow:(NSNotification *)n
-{
- if (_keyboardIsShown) return;
-
- NSDictionary* userInfo = [n userInfo];
- CGSize keyboardSize = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
-
- CGRect viewFrame = self.scrollView.frame;
- viewFrame.size.height -= keyboardSize.height;
-
- [UIView animateWithDuration:0.3 animations:^{
- [self.scrollView setFrame:viewFrame];
- }];
-
- _keyboardIsShown = YES;
-}
-
-- (void)keyboardWillHide:(NSNotification *)n
-{
- NSDictionary* userInfo = [n userInfo];
- CGSize keyboardSize = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
-
- CGRect viewFrame = self.scrollView.frame;
- viewFrame.size.height += keyboardSize.height;
-
- [UIView animateWithDuration:0.3 animations:^{
- [self.scrollView setFrame:viewFrame];
- }];
-
- _keyboardIsShown = NO;
-}
-
-#pragma mark - UITextField Delegate Methods
-
-- (BOOL)textFieldShouldReturn:(UITextField *)textField
-{
- if (textField == self.urlTextField) {
- [self.titleTextField becomeFirstResponder];
- } else if (textField == self.titleTextField) {
- [self.textView becomeFirstResponder];
- }
-
- return YES;
-}
-
-#pragma mark - RSInstapaperEngine Delegate Methods
-
-- (void)instapaperEngineNeedsAuthentication:(RSInstapaperEngine *)engine
-{
- self.authView = [[AuthViewController alloc] initWithNibName:@"AuthViewController" bundle:nil];
- self.authView.delegate = self;
-
- [self presentModalViewController:self.authView animated:YES];
-}
-
-- (void)instapaperEngine:(RSInstapaperEngine *)engine statusUpdate:(NSString *)message
-{
- self.statusLabel.text = message;
-}
-
-#pragma mark - WebViewController Delegate Methods
-
-- (void)cancelAuthentication
-{
- [self dismissModalViewControllerAnimated:YES];
- if (self.instapaperEngine) [self.instapaperEngine cancelAuthentication];
-}
-
-- (void)authenticateWithUsername:(NSString *)username password:(NSString *)password
-{
- [self dismissModalViewControllerAnimated:YES];
- if (self.instapaperEngine) [self.instapaperEngine authenticateWithUsername:username password:password];
-}
-
-#pragma mark - Custom Methods
-
-- (void)swipedRight:(UIGestureRecognizer *)recognizer
-{
- if (self.instapaperEngine) [self.instapaperEngine forgetStoredToken];
- self.statusLabel.text = @"Not signed in.";
-}
-
-- (IBAction)addBookmark:(id)sender
-{
- if (self.instapaperEngine)
- {
- self.sendButton.enabled = NO;
- self.clearButton.enabled = NO;
-
- // Instapaper requires full URLs
- if (![self.urlTextField.text hasPrefix:@"http://"])
- self.urlTextField.text = [NSString stringWithFormat:@"http://%@", self.urlTextField.text];
-
- // TODO: Validate the contents of each field
- [self.instapaperEngine bookmarkURL:self.urlTextField.text
- title:self.titleTextField.text
- description:self.textView.text
- completionBlock:^(NSError *error)
- {
- if (error) {
- NSString *errorDescription;
-
- // TODO: check for other type of errors
- if (error.code == 401) {
- errorDescription = @"Authentication failed.";
- } else {
- errorDescription = [error localizedDescription];
- }
-
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
- message:errorDescription
- delegate:nil
- cancelButtonTitle:@"Dismiss"
- otherButtonTitles:nil];
- [alert show];
- } else {
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"InstaAdd!"
- message:@"Bookmark added successfully!"
- delegate:nil
- cancelButtonTitle:@"Dismiss"
- otherButtonTitles:nil];
- [alert show];
-
- [self clearFields:nil];
- }
-
- self.sendButton.enabled = YES;
- self.clearButton.enabled = YES;
-
- if (self.instapaperEngine.isAuthenticated) {
- self.statusLabel.text = [NSString stringWithFormat:@"Signed in as %@.", self.instapaperEngine.screenName];
- } else {
- self.statusLabel.text = @"Not signed in.";
- }
- }];
- }
-}
-
-- (IBAction)clearFields:(id)sender
-{
- self.urlTextField.text = @"";
- self.titleTextField.text = @"";
- self.textView.text = @"";
-
- [self.urlTextField becomeFirstResponder];
-}
-
-@end
View
400 InstapaperDemo/en.lproj/AuthViewController.xib
@@ -1,400 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
- <data>
- <int key="IBDocument.SystemTarget">1280</int>
- <string key="IBDocument.SystemVersion">11C74</string>
- <string key="IBDocument.InterfaceBuilderVersion">1938</string>
- <string key="IBDocument.AppKitVersion">1138.23</string>
- <string key="IBDocument.HIToolboxVersion">567.00</string>
- <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
- <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="NS.object.0">933</string>
- </object>
- <array key="IBDocument.IntegratedClassDependencies">
- <string>IBUITextField</string>
- <string>IBUINavigationItem</string>
- <string>IBUIBarButtonItem</string>
- <string>IBUIView</string>
- <string>IBUINavigationBar</string>
- <string>IBProxyObject</string>
- </array>
- <array key="IBDocument.PluginDependencies">
- <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- </array>
- <object class="NSMutableDictionary" key="IBDocument.Metadata">
- <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
- <integer value="1" key="NS.object.0"/>
- </object>
- <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
- <object class="IBProxyObject" id="372490531">
- <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <object class="IBProxyObject" id="975951072">
- <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <object class="IBUIView" id="191373211">
- <reference key="NSNextResponder"/>
- <int key="NSvFlags">274</int>
- <array class="NSMutableArray" key="NSSubviews">
- <object class="IBUINavigationBar" id="501877060">
- <reference key="NSNextResponder" ref="191373211"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrameSize">{320, 44}</string>
- <reference key="NSSuperview" ref="191373211"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="184057757"/>
- <string key="NSReuseIdentifierKey">_NS:260</string>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <array key="IBUIItems">
- <object class="IBUINavigationItem" id="463888093">
- <reference key="IBUINavigationBar" ref="501877060"/>
- <string key="IBUITitle">Instapaper</string>
- <object class="IBUIBarButtonItem" key="IBUILeftBarButtonItem" id="797797502">
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <int key="IBUIStyle">1</int>
- <reference key="IBUINavigationItem" ref="463888093"/>
- <int key="IBUISystemItemIdentifier">1</int>
- </object>
- <object class="IBUIBarButtonItem" key="IBUIRightBarButtonItem" id="1011018471">
- <string key="IBUITitle">Login</string>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <int key="IBUIStyle">2</int>
- <reference key="IBUINavigationItem" ref="463888093"/>
- </object>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- </array>
- </object>
- <object class="IBUITextField" id="184057757">
- <reference key="NSNextResponder" ref="191373211"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{20, 74}, {280, 31}}</string>
- <reference key="NSSuperview" ref="191373211"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="740628452"/>
- <string key="NSReuseIdentifierKey">_NS:304</string>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <int key="IBUIContentVerticalAlignment">0</int>
- <string key="IBUIText"/>
- <int key="IBUIBorderStyle">3</int>
- <string key="IBUIPlaceholder">E-mail or Username</string>
- <object class="NSColor" key="IBUITextColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- <object class="NSColorSpace" key="NSCustomColorSpace" id="270836232">
- <int key="NSID">2</int>
- </object>
- </object>
- <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
- <float key="IBUIMinimumFontSize">17</float>
- <object class="IBUITextInputTraits" key="IBUITextInputTraits">
- <int key="IBUIAutocorrectionType">1</int>
- <int key="IBUIKeyboardType">7</int>
- <int key="IBUIReturnKeyType">4</int>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <object class="IBUIFontDescription" key="IBUIFontDescription" id="70329913">
- <int key="type">1</int>
- <double key="pointSize">14</double>
- </object>
- <object class="NSFont" key="IBUIFont" id="23426527">
- <string key="NSName">Helvetica</string>
- <double key="NSSize">14</double>
- <int key="NSfFlags">16</int>
- </object>
- </object>
- <object class="IBUITextField" id="740628452">
- <reference key="NSNextResponder" ref="191373211"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{20, 124}, {280, 31}}</string>
- <reference key="NSSuperview" ref="191373211"/>
- <reference key="NSWindow"/>
- <string key="NSReuseIdentifierKey">_NS:304</string>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <int key="IBUIContentVerticalAlignment">0</int>
- <string key="IBUIText"/>
- <int key="IBUIBorderStyle">3</int>
- <string key="IBUIPlaceholder">Password (if you have one)</string>
- <object class="NSColor" key="IBUITextColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- <reference key="NSCustomColorSpace" ref="270836232"/>
- </object>
- <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
- <float key="IBUIMinimumFontSize">17</float>
- <object class="IBUITextInputTraits" key="IBUITextInputTraits">
- <int key="IBUIAutocorrectionType">1</int>
- <int key="IBUIReturnKeyType">9</int>
- <bool key="IBUISecureTextEntry">YES</bool>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <reference key="IBUIFontDescription" ref="70329913"/>
- <reference key="IBUIFont" ref="23426527"/>
- </object>
- </array>
- <string key="NSFrame">{{0, 20}, {320, 460}}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="501877060"/>
- <object class="NSColor" key="IBUIBackgroundColor">
- <int key="NSColorSpace">10</int>
- <object class="NSImage" key="NSImage">
- <int key="NSImageFlags">549453824</int>
- <string key="NSSize">{512, 1}</string>
- <array class="NSMutableArray" key="NSReps">
- <array>
- <integer value="0"/>
- <object class="NSBitmapImageRep">
- <object class="NSData" key="NSTIFFRepresentation">
- <bytes key="NS.bytes">TU0AKgAACAjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
-y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
-y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
-y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
-y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/wANAQAAAwAAAAECAAAAAQEAAwAAAAEAAQAAAQIAAwAAAAQAAAiqAQMAAwAA
-AAEAAQAAAQYAAwAAAAEAAgAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEABAAAARYAAwAA
-AAEAAQAAARcABAAAAAEAAAgAARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAQAAAiyAAAAAAAI
-AAgACAAIAAEAAQABAAE</bytes>
- </object>
- </object>
- </array>
- </array>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MCAwAA</bytes>
- </object>
- </object>
- <string key="IBUIColorCocoaTouchKeyPath">groupTableViewBackgroundColor</string>
- </object>
- <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- </array>
- <object class="IBObjectContainer" key="IBDocument.Objects">
- <array class="NSMutableArray" key="connectionRecords">
- <object class="IBConnectionRecord">
- <object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">view</string>
- <reference key="source" ref="372490531"/>
- <reference key="destination" ref="191373211"/>
- </object>
- <int key="connectionID">3</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">usernameField</string>
- <reference key="source" ref="372490531"/>
- <reference key="destination" ref="184057757"/>
- </object>
- <int key="connectionID">11</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">passwordField</string>
- <reference key="source" ref="372490531"/>
- <reference key="destination" ref="740628452"/>
- </object>
- <int key="connectionID">14</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">delegate</string>
- <reference key="source" ref="184057757"/>
- <reference key="destination" ref="372490531"/>
- </object>
- <int key="connectionID">12</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">delegate</string>
- <reference key="source" ref="740628452"/>
- <reference key="destination" ref="372490531"/>
- </object>
- <int key="connectionID">13</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBCocoaTouchEventConnection" key="connection">
- <string key="label">authenticate:</string>
- <reference key="source" ref="1011018471"/>
- <reference key="destination" ref="372490531"/>
- </object>
- <int key="connectionID">15</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBCocoaTouchEventConnection" key="connection">
- <string key="label">cancelAuthentication:</string>
- <reference key="source" ref="797797502"/>
- <reference key="destination" ref="372490531"/>
- </object>
- <int key="connectionID">16</int>
- </object>
- </array>
- <object class="IBMutableOrderedSet" key="objectRecords">
- <array key="orderedObjects">
- <object class="IBObjectRecord">
- <int key="objectID">0</int>
- <array key="object" id="0"/>
- <reference key="children" ref="1000"/>
- <nil key="parent"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">1</int>
- <reference key="object" ref="191373211"/>
- <array class="NSMutableArray" key="children">
- <reference ref="501877060"/>
- <reference ref="184057757"/>
- <reference ref="740628452"/>
- </array>
- <reference key="parent" ref="0"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-1</int>
- <reference key="object" ref="372490531"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">File's Owner</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-2</int>
- <reference key="object" ref="975951072"/>
- <reference key="parent" ref="0"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">4</int>
- <reference key="object" ref="501877060"/>
- <array class="NSMutableArray" key="children">
- <reference ref="463888093"/>
- </array>
- <reference key="parent" ref="191373211"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">5</int>
- <reference key="object" ref="463888093"/>
- <array class="NSMutableArray" key="children">
- <reference ref="1011018471"/>
- <reference ref="797797502"/>
- </array>
- <reference key="parent" ref="501877060"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">6</int>
- <reference key="object" ref="184057757"/>
- <reference key="parent" ref="191373211"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">7</int>
- <reference key="object" ref="740628452"/>
- <reference key="parent" ref="191373211"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">10</int>
- <reference key="object" ref="797797502"/>
- <reference key="parent" ref="463888093"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">9</int>
- <reference key="object" ref="1011018471"/>
- <reference key="parent" ref="463888093"/>
- </object>
- </array>
- </object>
- <dictionary class="NSMutableDictionary" key="flattenedProperties">
- <string key="-1.CustomClassName">AuthViewController</string>
- <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="-2.CustomClassName">UIResponder</string>
- <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="9.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
- <nil key="activeLocalization"/>
- <dictionary class="NSMutableDictionary" key="localizations"/>
- <nil key="sourceID"/>
- <int key="maxID">16</int>
- </object>
- <object class="IBClassDescriber" key="IBDocument.Classes">
- <array class="NSMutableArray" key="referencedPartialClassDescriptions">
- <object class="IBPartialClassDescription">
- <string key="className">AuthViewController</string>
- <string key="superclassName">UIViewController</string>
- <dictionary class="NSMutableDictionary" key="actions">
- <string key="authenticate:">id</string>
- <string key="cancelAuthentication:">id</string>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="actionInfosByName">
- <object class="IBActionInfo" key="authenticate:">
- <string key="name">authenticate:</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBActionInfo" key="cancelAuthentication:">
- <string key="name">cancelAuthentication:</string>
- <string key="candidateClassName">id</string>
- </object>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="outlets">
- <string key="passwordField">UITextField</string>
- <string key="usernameField">UITextField</string>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
- <object class="IBToOneOutletInfo" key="passwordField">
- <string key="name">passwordField</string>
- <string key="candidateClassName">UITextField</string>
- </object>
- <object class="IBToOneOutletInfo" key="usernameField">
- <string key="name">usernameField</string>
- <string key="candidateClassName">UITextField</string>
- </object>
- </dictionary>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/AuthViewController.h</string>
- </object>
- </object>
- </array>
- </object>
- <int key="IBDocument.localizationMode">0</int>
- <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
- <int key="IBDocument.defaultPropertyAccessControl">3</int>
- <string key="IBCocoaTouchPluginVersion">933</string>
- </data>
-</archive>
View
2  InstapaperDemo/en.lproj/InfoPlist.strings
@@ -1,2 +0,0 @@
-/* Localized versions of Info.plist keys */
-
View
692 InstapaperDemo/en.lproj/ViewController.xib
@@ -1,692 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
- <data>
- <int key="IBDocument.SystemTarget">1280</int>
- <string key="IBDocument.SystemVersion">11C74</string>
- <string key="IBDocument.InterfaceBuilderVersion">1938</string>
- <string key="IBDocument.AppKitVersion">1138.23</string>
- <string key="IBDocument.HIToolboxVersion">567.00</string>
- <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
- <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="NS.object.0">933</string>
- </object>
- <array key="IBDocument.IntegratedClassDependencies">
- <string>IBProxyObject</string>
- <string>IBUIBarButtonItem</string>
- <string>IBUILabel</string>
- <string>IBUITextField</string>
- <string>IBUINavigationBar</string>
- <string>IBUINavigationItem</string>
- <string>IBUITextView</string>
- <string>IBUIScrollView</string>
- <string>IBUIView</string>
- </array>
- <array key="IBDocument.PluginDependencies">
- <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- </array>
- <object class="NSMutableDictionary" key="IBDocument.Metadata">
- <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
- <integer value="1" key="NS.object.0"/>
- </object>
- <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
- <object class="IBProxyObject" id="372490531">
- <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <object class="IBProxyObject" id="843779117">
- <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <object class="IBUIView" id="774585933">
- <reference key="NSNextResponder"/>
- <int key="NSvFlags">274</int>
- <array class="NSMutableArray" key="NSSubviews">
- <object class="IBUINavigationBar" id="399243857">
- <reference key="NSNextResponder" ref="774585933"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrameSize">{320, 44}</string>
- <reference key="NSSuperview" ref="774585933"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="121590560"/>
- <string key="NSReuseIdentifierKey">_NS:260</string>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <array key="IBUIItems">
- <object class="IBUINavigationItem" id="96594809">
- <reference key="IBUINavigationBar" ref="399243857"/>
- <string key="IBUITitle">InstaAdd!</string>
- <object class="IBUIBarButtonItem" key="IBUILeftBarButtonItem" id="674308077">
- <string key="IBUITitle">Clear</string>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <int key="IBUIStyle">1</int>
- <reference key="IBUINavigationItem" ref="96594809"/>
- </object>
- <object class="IBUIBarButtonItem" key="IBUIRightBarButtonItem" id="785366520">
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <int key="IBUIStyle">2</int>
- <reference key="IBUINavigationItem" ref="96594809"/>
- <int key="IBUISystemItemIdentifier">0</int>
- </object>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- </array>
- </object>
- <object class="IBUIView" id="121590560">
- <reference key="NSNextResponder" ref="774585933"/>
- <int key="NSvFlags">290</int>
- <array class="NSMutableArray" key="NSSubviews">
- <object class="IBUILabel" id="885592808">
- <reference key="NSNextResponder" ref="121590560"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrameSize">{320, 28}</string>
- <reference key="NSSuperview" ref="121590560"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="582839045"/>
- <string key="NSReuseIdentifierKey">_NS:328</string>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <int key="IBUIContentMode">7</int>
- <bool key="IBUIUserInteractionEnabled">NO</bool>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <string key="IBUIText">Not signed in.</string>
- <object class="NSColor" key="IBUITextColor">
- <int key="NSColorSpace">1</int>
- <bytes key="NSRGB">MSAxIDEAA</bytes>
- <object class="NSColorSpace" key="NSCustomColorSpace">
- <int key="NSID">1</int>
- </object>
- </object>
- <nil key="IBUIHighlightedColor"/>
- <int key="IBUIBaselineAdjustment">1</int>
- <bool key="IBUIAdjustsFontSizeToFit">NO</bool>
- <float key="IBUIMinimumFontSize">10</float>
- <int key="IBUITextAlignment">1</int>
- <object class="IBUIFontDescription" key="IBUIFontDescription">
- <int key="type">2</int>
- <double key="pointSize">12</double>
- </object>
- <object class="NSFont" key="IBUIFont">
- <string key="NSName">Helvetica-Bold</string>
- <double key="NSSize">12</double>
- <int key="NSfFlags">16</int>
- </object>
- </object>
- </array>
- <string key="NSFrame">{{0, 44}, {320, 28}}</string>
- <reference key="NSSuperview" ref="774585933"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="885592808"/>
- <string key="NSReuseIdentifierKey">_NS:196</string>
- <object class="NSColor" key="IBUIBackgroundColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- </object>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <object class="IBUIScrollView" id="582839045">
- <reference key="NSNextResponder" ref="774585933"/>
- <int key="NSvFlags">274</int>
- <array class="NSMutableArray" key="NSSubviews">
- <object class="IBUITextView" id="8304637">
- <reference key="NSNextResponder" ref="582839045"/>
- <int key="NSvFlags">258</int>
- <string key="NSFrame">{{0, 80}, {320, 308}}</string>
- <reference key="NSSuperview" ref="582839045"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="154271857"/>
- <string key="NSReuseIdentifierKey">_NS:639</string>
- <object class="NSColor" key="IBUIBackgroundColor">
- <int key="NSColorSpace">1</int>
- <bytes key="NSRGB">MSAxIDEAA</bytes>
- </object>
- <bool key="IBUIClipsSubviews">YES</bool>
- <bool key="IBUIMultipleTouchEnabled">YES</bool>
- <array key="IBUIGestureRecognizers" id="0"/>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <bool key="IBUIBounces">NO</bool>
- <bool key="IBUIScrollEnabled">NO</bool>
- <bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
- <bool key="IBUIShowsVerticalScrollIndicator">NO</bool>
- <string key="IBUIText"/>
- <object class="IBUITextInputTraits" key="IBUITextInputTraits">
- <int key="IBUIAutocapitalizationType">2</int>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <object class="IBUIFontDescription" key="IBUIFontDescription" id="892771981">
- <int key="type">1</int>
- <double key="pointSize">14</double>
- </object>
- <object class="NSFont" key="IBUIFont" id="764168332">
- <string key="NSName">Helvetica</string>
- <double key="NSSize">14</double>
- <int key="NSfFlags">16</int>
- </object>
- </object>
- <object class="IBUITextField" id="670125962">
- <reference key="NSNextResponder" ref="582839045"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrame">{{51, 0}, {269, 40}}</string>
- <reference key="NSSuperview" ref="582839045"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="28068310"/>
- <string key="NSReuseIdentifierKey">_NS:304</string>
- <object class="NSColor" key="IBUIBackgroundColor" id="928358415">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MQA</bytes>
- </object>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <int key="IBUIContentVerticalAlignment">0</int>
- <string key="IBUIText"/>
- <object class="NSColor" key="IBUITextColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- <object class="NSColorSpace" key="NSCustomColorSpace" id="383407056">
- <int key="NSID">2</int>
- </object>
- </object>
- <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
- <float key="IBUIMinimumFontSize">17</float>
- <object class="IBUITextInputTraits" key="IBUITextInputTraits">
- <int key="IBUIAutocorrectionType">1</int>
- <int key="IBUIKeyboardType">3</int>
- <int key="IBUIReturnKeyType">4</int>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <reference key="IBUIFontDescription" ref="892771981"/>
- <reference key="IBUIFont" ref="764168332"/>
- </object>
- <object class="IBUILabel" id="931203088">
- <reference key="NSNextResponder" ref="582839045"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{11, 9}, {42, 21}}</string>
- <reference key="NSSuperview" ref="582839045"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="567608853"/>
- <string key="NSReuseIdentifierKey">_NS:328</string>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <int key="IBUIContentMode">7</int>
- <bool key="IBUIUserInteractionEnabled">NO</bool>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <string key="IBUIText">URL:</string>
- <object class="NSColor" key="IBUITextColor" id="162666027">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
- </object>
- <nil key="IBUIHighlightedColor"/>
- <int key="IBUIBaselineAdjustment">1</int>
- <float key="IBUIMinimumFontSize">10</float>
- <reference key="IBUIFontDescription" ref="892771981"/>
- <reference key="IBUIFont" ref="764168332"/>
- </object>
- <object class="IBUITextField" id="984692813">
- <reference key="NSNextResponder" ref="582839045"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrame">{{51, 40}, {269, 40}}</string>
- <reference key="NSSuperview" ref="582839045"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="8304637"/>
- <string key="NSReuseIdentifierKey">_NS:304</string>
- <reference key="IBUIBackgroundColor" ref="928358415"/>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <int key="IBUIContentVerticalAlignment">0</int>
- <string key="IBUIText"/>
- <object class="NSColor" key="IBUITextColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- <reference key="NSCustomColorSpace" ref="383407056"/>
- </object>
- <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
- <float key="IBUIMinimumFontSize">17</float>
- <object class="IBUITextInputTraits" key="IBUITextInputTraits">
- <int key="IBUIAutocapitalizationType">2</int>
- <int key="IBUIReturnKeyType">4</int>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <reference key="IBUIFontDescription" ref="892771981"/>
- <reference key="IBUIFont" ref="764168332"/>
- </object>
- <object class="IBUILabel" id="28068310">
- <reference key="NSNextResponder" ref="582839045"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{11, 49}, {42, 21}}</string>
- <reference key="NSSuperview" ref="582839045"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="984692813"/>
- <string key="NSReuseIdentifierKey">_NS:328</string>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClipsSubviews">YES</bool>
- <int key="IBUIContentMode">7</int>
- <bool key="IBUIUserInteractionEnabled">NO</bool>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <string key="IBUIText">Title:</string>
- <reference key="IBUITextColor" ref="162666027"/>
- <nil key="IBUIHighlightedColor"/>
- <int key="IBUIBaselineAdjustment">1</int>
- <float key="IBUIMinimumFontSize">10</float>
- <reference key="IBUIFontDescription" ref="892771981"/>
- <reference key="IBUIFont" ref="764168332"/>
- </object>
- <object class="IBUIView" id="567608853">
- <reference key="NSNextResponder" ref="582839045"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{0, 38}, {320, 1}}</string>
- <reference key="NSSuperview" ref="582839045"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="670125962"/>
- <string key="NSReuseIdentifierKey">_NS:196</string>
- <reference key="IBUIBackgroundColor" ref="162666027"/>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- <object class="IBUIView" id="154271857">
- <reference key="NSNextResponder" ref="582839045"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{0, 80}, {320, 1}}</string>
- <reference key="NSSuperview" ref="582839045"/>
- <reference key="NSWindow"/>
- <string key="NSReuseIdentifierKey">_NS:196</string>
- <reference key="IBUIBackgroundColor" ref="162666027"/>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- </object>
- </array>
- <string key="NSFrame">{{0, 72}, {320, 388}}</string>
- <reference key="NSSuperview" ref="774585933"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="931203088"/>
- <string key="NSReuseIdentifierKey">_NS:190</string>
- <reference key="IBUIBackgroundColor" ref="928358415"/>
- <bool key="IBUIClipsSubviews">YES</bool>
- <bool key="IBUIMultipleTouchEnabled">YES</bool>
- <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
- <bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
- </object>
- </array>
- <string key="NSFrame">{{0, 20}, {320, 460}}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="399243857"/>
- <object class="NSColor" key="IBUIBackgroundColor">
- <int key="NSColorSpace">10</int>
- <object class="NSImage" key="NSImage">
- <int key="NSImageFlags">549453824</int>
- <string key="NSSize">{512, 1}</string>
- <array class="NSMutableArray" key="NSReps">
- <array>
- <integer value="0"/>
- <object class="NSBitmapImageRep">
- <object class="NSData" key="NSTIFFRepresentation">
- <bytes key="NS.bytes">TU0AKgAACAjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
-y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
-y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
-y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
-y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
-y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
-xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
-xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
-xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
-xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
-xczS/8vS2P/L0tj/xczU/wANAQAAAwAAAAECAAAAAQEAAwAAAAEAAQAAAQIAAwAAAAQAAAiqAQMAAwAA
-AAEAAQAAAQYAAwAAAAEAAgAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEABAAAARYAAwAA
-AAEAAQAAARcABAAAAAEAAAgAARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAQAAAiyAAAAAAAI
-AAgACAAIAAEAAQABAAE</bytes>
- </object>
- </object>
- </array>
- </array>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MCAwAA</bytes>
- </object>
- </object>
- <string key="IBUIColorCocoaTouchKeyPath">groupTableViewBackgroundColor</string>
- </object>
- <bool key="IBUIClearsContextBeforeDrawing">NO</bool>