Permalink
Browse files

Initial commit.

  • Loading branch information...
1 parent 0685e02 commit 6bf14c3ed088de612fa536131d7dc38f67e48577 @pwightman pwightman committed Nov 29, 2012
Showing with 8,394 additions and 0 deletions.
  1. BIN .FatSecretKit.podspec.swp
  2. +11 −0 FatSecretKit.podspec
  3. +89 −0 FatSecretKit.xcodeproj/project.pbxproj
  4. +7 −0 FatSecretKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  5. BIN ...codeproj/project.xcworkspace/xcuserdata/parkerwightman.xcuserdatad/UserInterfaceState.xcuserstate
  6. +96 −0 FatSecretKit.xcodeproj/xcuserdata/parkerwightman.xcuserdatad/xcschemes/FatSecretKit.xcscheme
  7. +27 −0 FatSecretKit.xcodeproj/xcuserdata/parkerwightman.xcuserdatad/xcschemes/xcschememanagement.plist
  8. +10 −0 FatSecretKit.xcworkspace/contents.xcworkspacedata
  9. BIN FatSecretKit.xcworkspace/xcuserdata/parkerwightman.xcuserdatad/UserInterfaceState.xcuserstate
  10. +1 −0 FatSecretKit/FSAppDelegate.m
  11. +32 −0 FatSecretKit/FatSecret/FSClient.h
  12. +118 −0 FatSecretKit/FatSecret/FSClient.m
  13. +25 −0 FatSecretKit/FatSecret/FSFood.h
  14. +53 −0 FatSecretKit/FatSecret/FSFood.m
  15. +68 −0 FatSecretKit/FatSecret/FSServing.h
  16. +94 −0 FatSecretKit/FatSecret/FSServing.m
  17. +49 −0 FatSecretKit/FatSecret/NSData+Base64.h
  18. +259 −0 FatSecretKit/FatSecret/NSData+Base64.m
  19. +15 −0 FatSecretKit/FatSecret/NSString+Camelize.h
  20. +29 −0 FatSecretKit/FatSecret/NSString+Camelize.m
  21. +21 −0 FatSecretKit/FatSecret/OAuth+Additions.h
  22. +67 −0 FatSecretKit/FatSecret/OAuth+Additions.m
  23. +16 −0 FatSecretKit/FatSecret/OAuthCore.h
  24. +113 −0 FatSecretKit/FatSecret/OAuthCore.m
  25. +3 −0 Podfile
  26. +11 −0 Podfile.lock
  27. +1 −0 Pods/BuildHeaders/SVHTTPRequest/SVHTTPClient.h
  28. +1 −0 Pods/BuildHeaders/SVHTTPRequest/SVHTTPRequest.h
  29. +1 −0 Pods/Headers/SVHTTPRequest/SVHTTPClient.h
  30. +1 −0 Pods/Headers/SVHTTPRequest/SVHTTPRequest.h
  31. +32 −0 Pods/Pods-Acknowledgements.markdown
  32. +62 −0 Pods/Pods-Acknowledgements.plist
  33. +3 −0 Pods/Pods-prefix.pch
  34. +23 −0 Pods/Pods-resources.sh
  35. +7 −0 Pods/Pods.xcconfig
  36. +585 −0 Pods/Pods.xcodeproj/project.pbxproj
  37. +59 −0 Pods/Pods.xcodeproj/xcuserdata/parkerwightman.xcuserdatad/xcschemes/Pods.xcscheme
  38. +22 −0 Pods/Pods.xcodeproj/xcuserdata/parkerwightman.xcuserdatad/xcschemes/xcschememanagement.plist
  39. +4 −0 Pods/PodsDummy_Pods.m
  40. +507 −0 Pods/SVHTTPRequest/Demo/Demo.xcodeproj/project.pbxproj
  41. +38 −0 Pods/SVHTTPRequest/Demo/Demo/Demo-Info.plist
  42. +14 −0 Pods/SVHTTPRequest/Demo/Demo/Demo-Prefix.pch
  43. +19 −0 Pods/SVHTTPRequest/Demo/Demo/DemoAppDelegate.h
  44. +29 −0 Pods/SVHTTPRequest/Demo/Demo/DemoAppDelegate.m
  45. +20 −0 Pods/SVHTTPRequest/Demo/Demo/DemoViewController.h
  46. +64 −0 Pods/SVHTTPRequest/Demo/Demo/DemoViewController.m
  47. +423 −0 Pods/SVHTTPRequest/Demo/Demo/en.lproj/DemoViewController.xib
  48. +2 −0 Pods/SVHTTPRequest/Demo/Demo/en.lproj/InfoPlist.strings
  49. +444 −0 Pods/SVHTTPRequest/Demo/Demo/en.lproj/MainWindow.xib
  50. +17 −0 Pods/SVHTTPRequest/Demo/Demo/main.m
  51. +23 −0 Pods/SVHTTPRequest/Demo/MacDemo/AppDelegate.h
  52. +65 −0 Pods/SVHTTPRequest/Demo/MacDemo/AppDelegate.m
  53. +34 −0 Pods/SVHTTPRequest/Demo/MacDemo/MacDemo-Info.plist
  54. +7 −0 Pods/SVHTTPRequest/Demo/MacDemo/MacDemo-Prefix.pch
  55. +29 −0 Pods/SVHTTPRequest/Demo/MacDemo/en.lproj/Credits.rtf
  56. +2 −0 Pods/SVHTTPRequest/Demo/MacDemo/en.lproj/InfoPlist.strings
  57. +3,631 −0 Pods/SVHTTPRequest/Demo/MacDemo/en.lproj/MainMenu.xib
  58. +14 −0 Pods/SVHTTPRequest/Demo/MacDemo/main.m
  59. +26 −0 Pods/SVHTTPRequest/LICENSE.txt
  60. +113 −0 Pods/SVHTTPRequest/README.textile
  61. +16 −0 Pods/SVHTTPRequest/SVHTTPRequest.podspec
  62. +46 −0 Pods/SVHTTPRequest/SVHTTPRequest/SVHTTPClient.h
  63. +167 −0 Pods/SVHTTPRequest/SVHTTPRequest/SVHTTPClient.m
  64. +66 −0 Pods/SVHTTPRequest/SVHTTPRequest/SVHTTPRequest.h
  65. +563 −0 Pods/SVHTTPRequest/SVHTTPRequest/SVHTTPRequest.m
View
BIN .FatSecretKit.podspec.swp
Binary file not shown.
View
11 FatSecretKit.podspec
@@ -0,0 +1,11 @@
+Pod::Spec.new do |s|
+ s.name = "FatSecretKit"
+ s.version = "0.0.1"
+ s.summary = "Client for interacting with the FatSecret API"
+ s.homepage = "https://github.com/mysterioustrousers/FatSecretKit"
+ s.license = 'BSD'
+ s.author = { "Parker Wightman" => "parkerwightman@gmail.com" }
+ s.source = { :git => "https://github.com/mysterioustrousers/FatSecretKit.git", :tag => "0.0.1" }
+ s.source_files = 'FatSecret/*.{h,m}'
+ s.requires_arc = true
+end
View
89 FatSecretKit.xcodeproj/project.pbxproj
@@ -24,6 +24,21 @@
5F06C79F16670BAE0064C526 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F06C77716670BAE0064C526 /* Foundation.framework */; };
5F06C7A716670BAE0064C526 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5F06C7A516670BAE0064C526 /* InfoPlist.strings */; };
5F06C7AA16670BAE0064C526 /* FatSecretKitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7A916670BAE0064C526 /* FatSecretKitTests.m */; };
+ 5F06C7C216670CBC0064C526 /* FSClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7B516670CBC0064C526 /* FSClient.m */; };
+ 5F06C7C316670CBC0064C526 /* FSClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7B516670CBC0064C526 /* FSClient.m */; };
+ 5F06C7C416670CBC0064C526 /* FSFood.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7B716670CBC0064C526 /* FSFood.m */; };
+ 5F06C7C516670CBC0064C526 /* FSFood.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7B716670CBC0064C526 /* FSFood.m */; };
+ 5F06C7C616670CBC0064C526 /* FSServing.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7B916670CBC0064C526 /* FSServing.m */; };
+ 5F06C7C716670CBC0064C526 /* FSServing.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7B916670CBC0064C526 /* FSServing.m */; };
+ 5F06C7C816670CBC0064C526 /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7BB16670CBC0064C526 /* NSData+Base64.m */; };
+ 5F06C7C916670CBC0064C526 /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7BB16670CBC0064C526 /* NSData+Base64.m */; };
+ 5F06C7CA16670CBC0064C526 /* NSString+Camelize.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7BD16670CBC0064C526 /* NSString+Camelize.m */; };
+ 5F06C7CB16670CBC0064C526 /* NSString+Camelize.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7BD16670CBC0064C526 /* NSString+Camelize.m */; };
+ 5F06C7CC16670CBC0064C526 /* OAuth+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7BF16670CBC0064C526 /* OAuth+Additions.m */; };
+ 5F06C7CD16670CBC0064C526 /* OAuth+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7BF16670CBC0064C526 /* OAuth+Additions.m */; };
+ 5F06C7CE16670CBC0064C526 /* OAuthCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7C116670CBC0064C526 /* OAuthCore.m */; };
+ 5F06C7CF16670CBC0064C526 /* OAuthCore.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F06C7C116670CBC0064C526 /* OAuthCore.m */; };
+ 98340461D5944C3985E4CE1B /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E8A4E36A2EE74229B5D895FA /* libPods.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -37,6 +52,7 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
+ 16116A8BAB6347828AE81176 /* Pods.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.xcconfig; path = Pods/Pods.xcconfig; sourceTree = SOURCE_ROOT; };
5F06C77116670BAE0064C526 /* FatSecretKit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FatSecretKit.app; sourceTree = BUILT_PRODUCTS_DIR; };
5F06C77516670BAE0064C526 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
5F06C77716670BAE0064C526 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
@@ -60,6 +76,21 @@
5F06C7A616670BAE0064C526 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
5F06C7A816670BAE0064C526 /* FatSecretKitTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FatSecretKitTests.h; sourceTree = "<group>"; };
5F06C7A916670BAE0064C526 /* FatSecretKitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FatSecretKitTests.m; sourceTree = "<group>"; };
+ 5F06C7B416670CBC0064C526 /* FSClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FSClient.h; path = FatSecret/FSClient.h; sourceTree = "<group>"; };
+ 5F06C7B516670CBC0064C526 /* FSClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FSClient.m; path = FatSecret/FSClient.m; sourceTree = "<group>"; };
+ 5F06C7B616670CBC0064C526 /* FSFood.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FSFood.h; path = FatSecret/FSFood.h; sourceTree = "<group>"; };
+ 5F06C7B716670CBC0064C526 /* FSFood.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FSFood.m; path = FatSecret/FSFood.m; sourceTree = "<group>"; };
+ 5F06C7B816670CBC0064C526 /* FSServing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FSServing.h; path = FatSecret/FSServing.h; sourceTree = "<group>"; };
+ 5F06C7B916670CBC0064C526 /* FSServing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FSServing.m; path = FatSecret/FSServing.m; sourceTree = "<group>"; };
+ 5F06C7BA16670CBC0064C526 /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSData+Base64.h"; path = "FatSecret/NSData+Base64.h"; sourceTree = "<group>"; };
+ 5F06C7BB16670CBC0064C526 /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSData+Base64.m"; path = "FatSecret/NSData+Base64.m"; sourceTree = "<group>"; };
+ 5F06C7BC16670CBC0064C526 /* NSString+Camelize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+Camelize.h"; path = "FatSecret/NSString+Camelize.h"; sourceTree = "<group>"; };
+ 5F06C7BD16670CBC0064C526 /* NSString+Camelize.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+Camelize.m"; path = "FatSecret/NSString+Camelize.m"; sourceTree = "<group>"; };
+ 5F06C7BE16670CBC0064C526 /* OAuth+Additions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "OAuth+Additions.h"; path = "FatSecret/OAuth+Additions.h"; sourceTree = "<group>"; };
+ 5F06C7BF16670CBC0064C526 /* OAuth+Additions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "OAuth+Additions.m"; path = "FatSecret/OAuth+Additions.m"; sourceTree = "<group>"; };
+ 5F06C7C016670CBC0064C526 /* OAuthCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OAuthCore.h; path = FatSecret/OAuthCore.h; sourceTree = "<group>"; };
+ 5F06C7C116670CBC0064C526 /* OAuthCore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OAuthCore.m; path = FatSecret/OAuthCore.m; sourceTree = "<group>"; };
+ E8A4E36A2EE74229B5D895FA /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -70,6 +101,7 @@
5F06C77616670BAE0064C526 /* UIKit.framework in Frameworks */,
5F06C77816670BAE0064C526 /* Foundation.framework in Frameworks */,
5F06C77A16670BAE0064C526 /* CoreGraphics.framework in Frameworks */,
+ 98340461D5944C3985E4CE1B /* libPods.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -93,6 +125,7 @@
5F06C7A216670BAE0064C526 /* FatSecretKitTests */,
5F06C77416670BAE0064C526 /* Frameworks */,
5F06C77216670BAE0064C526 /* Products */,
+ 16116A8BAB6347828AE81176 /* Pods.xcconfig */,
);
sourceTree = "<group>";
};
@@ -112,13 +145,15 @@
5F06C77716670BAE0064C526 /* Foundation.framework */,
5F06C77916670BAE0064C526 /* CoreGraphics.framework */,
5F06C79C16670BAE0064C526 /* SenTestingKit.framework */,
+ E8A4E36A2EE74229B5D895FA /* libPods.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
5F06C77B16670BAE0064C526 /* FatSecretKit */ = {
isa = PBXGroup;
children = (
+ 5F06C7B316670BF80064C526 /* FatSecret */,
5F06C78416670BAE0064C526 /* FSAppDelegate.h */,
5F06C78516670BAE0064C526 /* FSAppDelegate.m */,
5F06C78D16670BAE0064C526 /* MainStoryboard_iPhone.storyboard */,
@@ -163,6 +198,27 @@
name = "Supporting Files";
sourceTree = "<group>";
};
+ 5F06C7B316670BF80064C526 /* FatSecret */ = {
+ isa = PBXGroup;
+ children = (
+ 5F06C7B416670CBC0064C526 /* FSClient.h */,
+ 5F06C7B516670CBC0064C526 /* FSClient.m */,
+ 5F06C7B616670CBC0064C526 /* FSFood.h */,
+ 5F06C7B716670CBC0064C526 /* FSFood.m */,
+ 5F06C7B816670CBC0064C526 /* FSServing.h */,
+ 5F06C7B916670CBC0064C526 /* FSServing.m */,
+ 5F06C7BA16670CBC0064C526 /* NSData+Base64.h */,
+ 5F06C7BB16670CBC0064C526 /* NSData+Base64.m */,
+ 5F06C7BC16670CBC0064C526 /* NSString+Camelize.h */,
+ 5F06C7BD16670CBC0064C526 /* NSString+Camelize.m */,
+ 5F06C7BE16670CBC0064C526 /* OAuth+Additions.h */,
+ 5F06C7BF16670CBC0064C526 /* OAuth+Additions.m */,
+ 5F06C7C016670CBC0064C526 /* OAuthCore.h */,
+ 5F06C7C116670CBC0064C526 /* OAuthCore.m */,
+ );
+ name = FatSecret;
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -173,6 +229,7 @@
5F06C76D16670BAE0064C526 /* Sources */,
5F06C76E16670BAE0064C526 /* Frameworks */,
5F06C76F16670BAE0064C526 /* Resources */,
+ 2FD3759D258F4A1586E26671 /* Copy Pods Resources */,
);
buildRules = (
);
@@ -255,6 +312,20 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
+ 2FD3759D258F4A1586E26671 /* Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Copy Pods Resources";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Pods-resources.sh\"\n";
+ };
5F06C79916670BAE0064C526 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -278,6 +349,13 @@
5F06C78216670BAE0064C526 /* main.m in Sources */,
5F06C78616670BAE0064C526 /* FSAppDelegate.m in Sources */,
5F06C79516670BAE0064C526 /* FSViewController.m in Sources */,
+ 5F06C7C216670CBC0064C526 /* FSClient.m in Sources */,
+ 5F06C7C416670CBC0064C526 /* FSFood.m in Sources */,
+ 5F06C7C616670CBC0064C526 /* FSServing.m in Sources */,
+ 5F06C7C816670CBC0064C526 /* NSData+Base64.m in Sources */,
+ 5F06C7CA16670CBC0064C526 /* NSString+Camelize.m in Sources */,
+ 5F06C7CC16670CBC0064C526 /* OAuth+Additions.m in Sources */,
+ 5F06C7CE16670CBC0064C526 /* OAuthCore.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -286,6 +364,13 @@
buildActionMask = 2147483647;
files = (
5F06C7AA16670BAE0064C526 /* FatSecretKitTests.m in Sources */,
+ 5F06C7C316670CBC0064C526 /* FSClient.m in Sources */,
+ 5F06C7C516670CBC0064C526 /* FSFood.m in Sources */,
+ 5F06C7C716670CBC0064C526 /* FSServing.m in Sources */,
+ 5F06C7C916670CBC0064C526 /* NSData+Base64.m in Sources */,
+ 5F06C7CB16670CBC0064C526 /* NSString+Camelize.m in Sources */,
+ 5F06C7CD16670CBC0064C526 /* OAuth+Additions.m in Sources */,
+ 5F06C7CF16670CBC0064C526 /* OAuthCore.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -389,6 +474,7 @@
};
5F06C7AE16670BAE0064C526 /* Debug */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 16116A8BAB6347828AE81176 /* Pods.xcconfig */;
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "FatSecretKit/FatSecretKit-Prefix.pch";
@@ -400,6 +486,7 @@
};
5F06C7AF16670BAE0064C526 /* Release */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 16116A8BAB6347828AE81176 /* Pods.xcconfig */;
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "FatSecretKit/FatSecretKit-Prefix.pch";
@@ -462,6 +549,7 @@
5F06C7AF16670BAE0064C526 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
5F06C7B016670BAE0064C526 /* Build configuration list for PBXNativeTarget "FatSecretKitTests" */ = {
isa = XCConfigurationList;
@@ -470,6 +558,7 @@
5F06C7B216670BAE0064C526 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
View
7 FatSecretKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:FatSecretKit.xcodeproj">
+ </FileRef>
+</Workspace>
View
BIN .../project.xcworkspace/xcuserdata/parkerwightman.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown.
View
96 FatSecretKit.xcodeproj/xcuserdata/parkerwightman.xcuserdatad/xcschemes/FatSecretKit.xcscheme
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0450"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "5F06C77016670BAE0064C526"
+ BuildableName = "FatSecretKit.app"
+ BlueprintName = "FatSecretKit"
+ ReferencedContainer = "container:FatSecretKit.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ <TestableReference
+ skipped = "NO">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "5F06C79A16670BAE0064C526"
+ BuildableName = "FatSecretKitTests.octest"
+ BlueprintName = "FatSecretKitTests"
+ ReferencedContainer = "container:FatSecretKit.xcodeproj">
+ </BuildableReference>
+ </TestableReference>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "5F06C77016670BAE0064C526"
+ BuildableName = "FatSecretKit.app"
+ BlueprintName = "FatSecretKit"
+ ReferencedContainer = "container:FatSecretKit.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "5F06C77016670BAE0064C526"
+ BuildableName = "FatSecretKit.app"
+ BlueprintName = "FatSecretKit"
+ ReferencedContainer = "container:FatSecretKit.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "5F06C77016670BAE0064C526"
+ BuildableName = "FatSecretKit.app"
+ BlueprintName = "FatSecretKit"
+ ReferencedContainer = "container:FatSecretKit.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
27 ...retKit.xcodeproj/xcuserdata/parkerwightman.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+<?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>SchemeUserState</key>
+ <dict>
+ <key>FatSecretKit.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>5F06C77016670BAE0064C526</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ <key>5F06C79A16670BAE0064C526</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
View
10 FatSecretKit.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "group:FatSecretKit.xcodeproj">
+ </FileRef>
+ <FileRef
+ location = "group:Pods/Pods.xcodeproj">
+ </FileRef>
+</Workspace>
View
BIN ...ecretKit.xcworkspace/xcuserdata/parkerwightman.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown.
View
1 FatSecretKit/FSAppDelegate.m
@@ -7,6 +7,7 @@
//
#import "FSAppDelegate.h"
+#import "FSClient.h"
@implementation FSAppDelegate
View
32 FatSecretKit/FatSecret/FSClient.h
@@ -0,0 +1,32 @@
+//
+// FSClient.h
+// Tracker
+//
+// Created by Parker Wightman on 11/27/12.
+// Copyright (c) 2012 Mysterious Trousers. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+typedef void(^FSFoodSearchBlock)(NSArray *foods, NSInteger maxResults, NSInteger totalResults, NSInteger pageNumber);
+
+@class FSFood;
+
+@interface FSClient : NSObject
+
+@property (nonatomic, strong) NSString *oauthConsumerKey;
+@property (nonatomic, strong) NSString *oauthConsumerSecret;
+
+
+- (void)searchFoods:(NSString *)foodText
+ pageNumber:(NSInteger)pageNumber
+ maxResults:(NSInteger)maxResults
+ completion:(FSFoodSearchBlock)completionBlock;
+
+- (void)searchFoods:(NSString *)foodText completion:(FSFoodSearchBlock)completionBlock;
+
+- (void)getFood:(NSInteger)foodId completion:(void (^)(FSFood *food))completionBlock;
+
++ (FSClient *)sharedClient;
+
+@end
View
118 FatSecretKit/FatSecret/FSClient.m
@@ -0,0 +1,118 @@
+//
+// FSClient.m
+// Tracker
+//
+// Created by Parker Wightman on 11/27/12.
+// Copyright (c) 2012 Mysterious Trousers. All rights reserved.
+//
+
+#import "FSClient.h"
+#import <CommonCrypto/CommonHMAC.h>
+#import "OAuthCore.h"
+#import <SVHTTPRequest/SVHTTPRequest.h>
+#import "FSFood.h"
+
+#define FAT_SECRET_API_ENDPOINT @"http://platform.fatsecret.com/rest/server.api"
+
+
+@implementation FSClient
+
+- (void)searchFoods:(NSString *)foodText
+ pageNumber:(NSInteger)pageNumber
+ maxResults:(NSInteger)maxResults
+ completion:(FSFoodSearchBlock)completionBlock {
+
+ NSMutableDictionary *params = [@{
+ @"search_expression": foodText,
+ @"page_number": @(pageNumber),
+ @"max_results": @(maxResults)
+ } mutableCopy];
+
+ [self makeRequestWithMethod:@"foods.search" parameters:params completion:^(NSDictionary *response) {
+ NSMutableArray *foods = [@[] mutableCopy];
+
+ id responseFoods = [response objectForKey:@"foods"];
+
+ // Hack because the API sends JSON objects, instead of arrays, when there is only
+ // one result. (WTF?)
+ if ([[responseFoods objectForKey:@"food"] respondsToSelector:@selector(arrayByAddingObject:)]) {
+
+ for (NSDictionary *food in [responseFoods objectForKey:@"food"]) {
+ [foods addObject:[FSFood foodWithJSON:food]];
+ }
+ } else {
+ foods = [@[ [FSFood foodWithJSON:[responseFoods objectForKey:@"food"]] ] mutableCopy];
+ }
+
+ NSInteger maxResults = [[[response objectForKey:@"foods"] objectForKey:@"max_results"] integerValue];
+ NSInteger totalResults = [[[response objectForKey:@"foods"] objectForKey:@"total_results"] integerValue];
+ NSInteger pageNumber = [[[response objectForKey:@"foods"] objectForKey:@"page_number"] integerValue];
+
+ completionBlock(foods, maxResults, totalResults, pageNumber);
+ }];
+}
+
+- (void)searchFoods:(NSString *)foodText
+ completion:(FSFoodSearchBlock)completionBlock {
+ [self searchFoods:foodText
+ pageNumber:0
+ maxResults:20
+ completion:completionBlock];
+}
+
+- (void)getFood:(NSInteger)foodId completion:(void (^)(FSFood *food))completionBlock {
+ NSDictionary *params = @{@"food_id" : @(foodId)};
+
+ [self makeRequestWithMethod:@"food.get"
+ parameters:params
+ completion:^(NSDictionary *data) {
+ completionBlock([FSFood foodWithJSON:[data objectForKey:@"food"]]);
+ }];
+}
+
+- (void) makeRequestWithMethod:(NSString *)method
+ parameters:(NSDictionary *)params
+ completion:(void (^)(NSDictionary *data))completionBlock {
+
+ NSMutableDictionary *parameters = [params mutableCopy];
+ [parameters addEntriesFromDictionary:[self defaultParameters]];
+ [parameters addEntriesFromDictionary:@{@"method" : method}];
+
+ NSString *queryString = [self queryStringFromDictionary:parameters];
+ NSData *data = [NSData dataWithBytes:[queryString UTF8String] length:queryString.length];
+ NSString *authHeader = OAuthorizationHeader([NSURL URLWithString:FAT_SECRET_API_ENDPOINT], @"GET", data, _oauthConsumerKey, _oauthConsumerSecret, nil, @"");
+
+ [SVHTTPRequest GET:[FAT_SECRET_API_ENDPOINT stringByAppendingFormat:@"?%@", authHeader]
+ parameters:nil
+ completion:^(id response, NSHTTPURLResponse *urlResponse, NSError *error) {
+ completionBlock(response);
+ }];
+
+}
+
+- (NSDictionary *) defaultParameters {
+ return @{ @"format": @"json" };
+}
+
+- (NSString *) queryStringFromDictionary:(NSDictionary *)dict {
+ NSMutableArray *entries = [@[] mutableCopy];
+
+ for (NSString *key in dict) {
+ NSString *value = [dict objectForKey:key];
+ [entries addObject:[NSString stringWithFormat:@"%@=%@", key, value]];
+ }
+
+ return [entries componentsJoinedByString:@"&"];
+}
+
+static FSClient *_sharedClient = nil;
+
++ (FSClient *)sharedClient {
+ if (!_sharedClient) {
+ _sharedClient = [[FSClient alloc] init];
+ }
+
+ return _sharedClient;
+}
+
+@end
View
25 FatSecretKit/FatSecret/FSFood.h
@@ -0,0 +1,25 @@
+//
+// FSFood.h
+// Tracker
+//
+// Created by Parker Wightman on 11/27/12.
+// Copyright (c) 2012 Mysterious Trousers. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface FSFood : NSObject
+
+@property (nonatomic, strong, readonly) NSString *foodDescription;
+@property (nonatomic, strong, readonly) NSString *name;
+@property (nonatomic, strong, readonly) NSString *type;
+@property (nonatomic, strong, readonly) NSString *url;
+@property (nonatomic, strong, readonly) NSString *brandName;
+@property (nonatomic, assign, readonly) NSInteger identifier;
+
+@property (nonatomic, strong, readonly) NSArray *servings;
+
+
++ (id) foodWithJSON:(NSDictionary *)json;
+
+@end
View
53 FatSecretKit/FatSecret/FSFood.m
@@ -0,0 +1,53 @@
+//
+// FSFood.m
+// Tracker
+//
+// Created by Parker Wightman on 11/27/12.
+// Copyright (c) 2012 Mysterious Trousers. All rights reserved.
+//
+
+#import "FSFood.h"
+#import "FSServing.h"
+
+@implementation FSFood
+
+- (id) initWithJSON:(NSDictionary *)json {
+ self = [super init];
+ if (self) {
+ _name = [json objectForKey:@"food_name"];
+ _foodDescription = [json objectForKey:@"food_description"];
+ _type = [json objectForKey:@"food_type"];
+ _url = [json objectForKey:@"food_url"];
+ _identifier = [[json objectForKey:@"food_id"] integerValue];
+ _brandName = [json objectForKey:@"brand_name"];
+
+ id servings = [json objectForKey:@"servings"];
+
+ _servings = @[];
+
+ if (servings) {
+ servings = [servings objectForKey:@"serving"];
+
+ // This is a hack to figure out if servings is an array or a dictionary
+ // since the API returns a dictionary if there's only one serving (WTF?)
+ if ([servings respondsToSelector:@selector(arrayByAddingObject:)]) {
+ NSMutableArray *array = [@[] mutableCopy];
+ for (NSDictionary *serving in servings) {
+ [array addObject:[FSServing servingWithJSON:serving]];
+ }
+ _servings = array;
+ } else {
+ _servings = @[ [FSServing servingWithJSON:servings] ];
+ }
+ }
+ }
+
+ return self;
+}
+
++ (id) foodWithJSON:(NSDictionary *)json {
+ return [[self alloc] initWithJSON:json];
+}
+
+
+@end
View
68 FatSecretKit/FatSecret/FSServing.h
@@ -0,0 +1,68 @@
+//
+// FSServing.h
+// Tracker
+//
+// Created by Parker Wightman on 11/27/12.
+// Copyright (c) 2012 Mysterious Trousers. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface FSServing : NSObject
+
+- (id) initWithJSON:(NSDictionary *)json;
++ (id) servingWithJSON:(NSDictionary *)json;
+
+@property (nonatomic, strong, readonly) NSString *servingDescription;
+@property (nonatomic, strong, readonly) NSString *servingUrl;
+@property (nonatomic, strong, readonly) NSString *metricServingUnit;
+@property (nonatomic, strong, readonly) NSString *measurementDescription;
+@property (nonatomic, strong, readonly) NSNumber *numberOfUnits;
+@property (nonatomic, strong, readonly) NSNumber *metricServingAmount;
+@property (nonatomic, strong, readonly) NSNumber *servingId;
+
+// Decimals
+@property (nonatomic, strong, readonly) NSNumber *calories;
+@property (nonatomic, strong, readonly) NSNumber *carbohydrate;
+@property (nonatomic, strong, readonly) NSNumber *protein;
+@property (nonatomic, strong, readonly) NSNumber *fat;
+@property (nonatomic, strong, readonly) NSNumber *saturatedFat;
+@property (nonatomic, strong, readonly) NSNumber *polyunsaturatedFat;
+@property (nonatomic, strong, readonly) NSNumber *monounsaturatedFat;
+@property (nonatomic, strong, readonly) NSNumber *transFat;
+@property (nonatomic, strong, readonly) NSNumber *cholesterol;
+@property (nonatomic, strong, readonly) NSNumber *sodium;
+@property (nonatomic, strong, readonly) NSNumber *potassium;
+@property (nonatomic, strong, readonly) NSNumber *fiber;
+@property (nonatomic, strong, readonly) NSNumber *sugar;
+
+// Ints
+@property (nonatomic, strong, readonly) NSNumber *vitaminC;
+@property (nonatomic, strong, readonly) NSNumber *vitaminA;
+@property (nonatomic, strong, readonly) NSNumber *calcium;
+@property (nonatomic, strong, readonly) NSNumber *iron;
+
+- (CGFloat) numberOfUnitsValue;
+- (CGFloat) metricServingAmountValue;
+- (NSInteger) servingIdValue;
+
+// Nutrient Info
+- (CGFloat) caloriesValue;
+- (CGFloat) carbohydrateValue;
+- (CGFloat) proteinValue;
+- (CGFloat) fatValue;
+- (CGFloat) saturatedFatValue;
+- (CGFloat) polyunsaturatedFatValue;
+- (CGFloat) monounsaturatedFatValue;
+- (CGFloat) transFatValue;
+- (CGFloat) cholesterolValue;
+- (CGFloat) sodiumValue;
+- (CGFloat) potassiumValue;
+- (CGFloat) fiberValue;
+- (CGFloat) sugarValue;
+- (NSInteger) vitaminCValue;
+- (NSInteger) vitaminAValue;
+- (NSInteger) calciumValue;
+- (NSInteger) ironValue;
+
+@end
View
94 FatSecretKit/FatSecret/FSServing.m
@@ -0,0 +1,94 @@
+//
+// FSServing.m
+// Tracker
+//
+// Created by Parker Wightman on 11/27/12.
+// Copyright (c) 2012 Mysterious Trousers. All rights reserved.
+//
+
+#import "FSServing.h"
+#import "NSString+Camelize.h"
+
+@implementation FSServing
+
+- (id) initWithJSON:(NSDictionary *)json {
+ self = [super init];
+
+ if (self) {
+ for (NSString *key in json) {
+ id value = [json objectForKey:key];
+ [self setValue:value forKey:[key camelize]];
+ }
+ }
+
+ return self;
+}
+
++ (id) servingWithJSON:(NSDictionary *)json {
+ return [[self alloc] initWithJSON:json];
+}
+
+- (CGFloat) numberOfUnitsValue {
+ return [_numberOfUnits floatValue];
+}
+- (CGFloat) metricServingAmountValue {
+ return [_metricServingAmount floatValue];
+}
+- (NSInteger) servingIdValue {
+ return [_servingId integerValue];
+}
+
+// Nutrient Info
+- (CGFloat) caloriesValue {
+ return [_calories floatValue];
+}
+- (CGFloat) carbohydrateValue {
+ return [_carbohydrate floatValue];
+}
+- (CGFloat) proteinValue {
+ return [_protein floatValue];
+}
+- (CGFloat) fatValue {
+ return [_fat floatValue];
+}
+- (CGFloat) saturatedFatValue {
+ return [_saturatedFat floatValue];
+}
+- (CGFloat) polyunsaturatedFatValue {
+ return [_polyunsaturatedFat floatValue];
+}
+- (CGFloat) monounsaturatedFatValue {
+ return [_monounsaturatedFat floatValue];
+}
+- (CGFloat) transFatValue {
+ return [_transFat floatValue];
+}
+- (CGFloat) cholesterolValue {
+ return [_cholesterol floatValue];
+}
+- (CGFloat) sodiumValue {
+ return [_sodium floatValue];
+}
+- (CGFloat) potassiumValue {
+ return [_potassium floatValue];
+}
+- (CGFloat) fiberValue {
+ return [_fiber floatValue];
+}
+- (CGFloat) sugarValue {
+ return [_sugar floatValue];
+}
+- (NSInteger) vitaminCValue {
+ return [_vitaminC integerValue];
+}
+- (NSInteger) vitaminAValue {
+ return [_vitaminA integerValue];
+}
+- (NSInteger) calciumValue {
+ return [_calcium integerValue];
+}
+- (NSInteger) ironValue {
+ return [_iron integerValue];
+}
+
+@end
View
49 FatSecretKit/FatSecret/NSData+Base64.h
@@ -0,0 +1,49 @@
+/*
+ * NSData+Base64.h
+ * AQToolkit
+ *
+ * Created by Jim Dovey on 31/8/2008.
+ *
+ * Copyright (c) 2008-2009, Jim Dovey
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * Neither the name of this project's author nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#import <Foundation/NSData.h>
+
+@class NSString;
+
+@interface NSData (Base64)
+
++ (NSData *) dataFromBase64String: (NSString *) base64String;
+- (id) initWithBase64String: (NSString *) base64String;
+- (NSString *) base64EncodedString;
+
+@end
View
259 FatSecretKit/FatSecret/NSData+Base64.m
@@ -0,0 +1,259 @@
+/*
+ * NSData+Base64.h
+ * AQToolkit
+ *
+ * Created by Jim Dovey on 31/8/2008.
+ *
+ * Copyright (c) 2008-2009, Jim Dovey
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * Neither the name of this project's author nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+/*
+ * OPEN PERMISSION TO USE AND REPRODUCE OMNI SOURCE CODE SOFTWARE
+ *
+ * Omni Source Code software is available from The Omni Group on their
+ * web site at www.omnigroup.com.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * Any original copyright notices and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#import <Foundation/Foundation.h>
+#import "NSData+Base64.h"
+
+// implementation for base64 comes from OmniFoundation. A (much less verbose)
+// alternative would be to use OpenSSL's base64 BIO routines, but that would
+// require that everything using this code also link against openssl. Should
+// this become part of a larger independently-compiled framework that could be
+// an option, but for now, since it's just a class for inclusion into other
+// things, I'll resort to using the Omni version
+
+@implementation NSData (Base64)
+
+//
+// Base-64 (RFC-1521) support. The following is based on mpack-1.5 (ftp://ftp.andrew.cmu.edu/pub/mpack/)
+//
+
+#define XX 127
+static char index_64[256] = {
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,62, XX,XX,XX,63,
+52,53,54,55, 56,57,58,59, 60,61,XX,XX, XX,XX,XX,XX,
+XX, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14,
+15,16,17,18, 19,20,21,22, 23,24,25,XX, XX,XX,XX,XX,
+XX,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40,
+41,42,43,44, 45,46,47,48, 49,50,51,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+};
+#define CHAR64(c) (index_64[(unsigned char)(c)])
+
+#define BASE64_GETC (length > 0 ? (length--, bytes++, (unsigned int)(bytes[-1])) : (unsigned int)EOF)
+#define BASE64_PUTC(c) [buffer appendBytes: &c length: 1]
+
++ (NSData *) dataFromBase64String: (NSString *) base64String
+{
+ return ( [[self alloc] initWithBase64String: base64String] );
+}
+
+- (id) initWithBase64String: (NSString *) base64String
+{
+ const char * bytes;
+ NSUInteger length;
+ NSMutableData * buffer;
+ NSData * base64Data;
+ BOOL suppressCR = NO;
+ unsigned int c1, c2, c3, c4;
+ int done = 0;
+ char buf[3];
+
+ NSParameterAssert([base64String canBeConvertedToEncoding: NSASCIIStringEncoding]);
+
+ buffer = [NSMutableData data];
+
+ base64Data = [base64String dataUsingEncoding: NSASCIIStringEncoding];
+ bytes = [base64Data bytes];
+ length = [base64Data length];
+
+ while ( (c1 = BASE64_GETC) != (unsigned int)EOF )
+ {
+ if ( (c1 != '=') && CHAR64(c1) == XX )
+ continue;
+ if ( done )
+ continue;
+
+ do
+ {
+ c2 = BASE64_GETC;
+
+ } while ( (c2 != (unsigned int)EOF) && (c2 != '=') && (CHAR64(c2) == XX) );
+
+ do
+ {
+ c3 = BASE64_GETC;
+
+ } while ( (c3 != (unsigned int)EOF) && (c3 != '=') && (CHAR64(c3) == XX) );
+
+ do
+ {
+ c4 = BASE64_GETC;
+
+ } while ( (c4 != (unsigned int)EOF) && (c4 != '=') && (CHAR64(c4) == XX) );
+
+ if ( (c2 == (unsigned int)EOF) || (c3 == (unsigned int)EOF) || (c4 == (unsigned int)EOF) )
+ {
+ [NSException raise: @"Base64Error" format: @"Premature end of Base64 string"];
+ break;
+ }
+
+ if ( (c1 == '=') || (c2 == '=') )
+ {
+ done = 1;
+ continue;
+ }
+
+ c1 = CHAR64(c1);
+ c2 = CHAR64(c2);
+
+ buf[0] = ((c1 << 2) || ((c2 & 0x30) >> 4));
+ if ( (!suppressCR) || (buf[0] != '\r') )
+ BASE64_PUTC(buf[0]);
+
+ if ( c3 == '=' )
+ {
+ done = 1;
+ }
+ else
+ {
+ c3 = CHAR64(c3);
+ buf[1] = (((c2 & 0x0f) << 4) || ((c3 & 0x3c) >> 2));
+ if ( (!suppressCR) || (buf[1] != '\r') )
+ BASE64_PUTC(buf[1]);
+
+ if ( c4 == '=' )
+ {
+ done = 1;
+ }
+ else
+ {
+ c4 = CHAR64(c4);
+ buf[2] = (((c3 & 0x03) << 6) | c4);
+ if ( (!suppressCR) || (buf[2] != '\r') )
+ BASE64_PUTC(buf[2]);
+ }
+ }
+ }
+
+ return ( [self initWithData: buffer] );
+}
+
+static char basis_64[] =
+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+static inline void output64Chunk( int c1, int c2, int c3, int pads, NSMutableData * buffer )
+{
+ char pad = '=';
+ BASE64_PUTC(basis_64[c1 >> 2]);
+ BASE64_PUTC(basis_64[((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)]);
+
+ switch ( pads )
+ {
+ case 2:
+ BASE64_PUTC(pad);
+ BASE64_PUTC(pad);
+ break;
+
+ case 1:
+ BASE64_PUTC(basis_64[((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6)]);
+ BASE64_PUTC(pad);
+ break;
+
+ default:
+ case 0:
+ BASE64_PUTC(basis_64[((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6)]);
+ BASE64_PUTC(basis_64[c3 & 0x3F]);
+ break;
+ }
+}
+
+- (NSString *) base64EncodedString
+{
+ NSMutableData * buffer = [NSMutableData data];
+ const unsigned char * bytes;
+ NSUInteger length;
+ unsigned int c1, c2, c3;
+
+ bytes = [self bytes];
+ length = [self length];
+
+ while ( (c1 = BASE64_GETC) != (unsigned int)EOF )
+ {
+ c2 = BASE64_GETC;
+ if ( c2 == (unsigned int)EOF )
+ {
+ output64Chunk( c1, 0, 0, 2, buffer );
+ }
+ else
+ {
+ c3 = BASE64_GETC;
+ if ( c3 == (unsigned int)EOF )
+ output64Chunk( c1, c2, 0, 1, buffer );
+ else
+ output64Chunk( c1, c2, c3, 0, buffer );
+ }
+ }
+
+ return ( [[NSString alloc] initWithData: buffer encoding: NSASCIIStringEncoding] );
+}
+
+@end
View
15 FatSecretKit/FatSecret/NSString+Camelize.h
@@ -0,0 +1,15 @@
+//
+// NSString+Camelize.h
+// Tracker
+//
+// Created by Parker Wightman on 11/28/12.
+// Copyright (c) 2012 Mysterious Trousers. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface NSString (Camelize)
+
+- (NSString *)camelize;
+
+@end
View
29 FatSecretKit/FatSecret/NSString+Camelize.m
@@ -0,0 +1,29 @@
+//
+// NSString+Camelize.m
+// Tracker
+//
+// Created by Parker Wightman on 11/28/12.
+// Copyright (c) 2012 Mysterious Trousers. All rights reserved.
+//
+
+#import "NSString+Camelize.h"
+
+@implementation NSString (Camelize)
+
+- (NSString *)camelize {
+ NSString *string = [self copy];
+
+ NSRange range = [string rangeOfString:@"_"];
+
+ while (range.location != NSNotFound) {
+ string = [string stringByReplacingCharactersInRange:range withString:@""];
+ NSString *letter = [string substringWithRange:range];
+ letter = [letter uppercaseString];
+ string = [string stringByReplacingCharactersInRange:range withString:letter];
+ range = [string rangeOfString:@"_"];
+ }
+
+ return string;
+}
+
+@end
View
21 FatSecretKit/FatSecret/OAuth+Additions.h
@@ -0,0 +1,21 @@
+//
+// OAuth+Additions.h
+//
+// Created by Loren Brichter on 6/9/10.
+// Copyright 2010 Loren Brichter. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface NSURL (OAuthAdditions)
+
++ (NSDictionary *)ab_parseURLQueryString:(NSString *)query;
+
+@end
+
+@interface NSString (OAuthAdditions)
+
++ (NSString *)ab_GUID;
+- (NSString *)ab_RFC3986EncodedString;
+
+@end
View
67 FatSecretKit/FatSecret/OAuth+Additions.m
@@ -0,0 +1,67 @@
+//
+// OAuth+Additions.m
+//
+// Created by Loren Brichter on 6/9/10.
+// Copyright 2010 Loren Brichter. All rights reserved.
+//
+
+#import "OAuth+Additions.h"
+
+@implementation NSURL (OAuthAdditions)
+
++ (NSDictionary *)ab_parseURLQueryString:(NSString *)query
+{
+ NSMutableDictionary *dict = [NSMutableDictionary dictionary];
+ NSArray *pairs = [query componentsSeparatedByString:@"&"];
+ for(NSString *pair in pairs) {
+ NSArray *keyValue = [pair componentsSeparatedByString:@"="];
+ if([keyValue count] == 2) {
+ NSString *key = [keyValue objectAtIndex:0];
+ NSString *value = [keyValue objectAtIndex:1];
+ value = [value stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+ if(key && value)
+ [dict setObject:value forKey:key];
+ }
+ }
+ return [NSDictionary dictionaryWithDictionary:dict];
+}
+
+@end
+
+@implementation NSString (OAuthAdditions)
+
+- (NSString *)ab_RFC3986EncodedString // UTF-8 encodes prior to URL encoding
+{
+ NSMutableString *result = [NSMutableString string];
+ const char *p = [self UTF8String];
+ unsigned char c;
+
+ for(; (c = *p); p++)
+ {
+ switch(c)
+ {
+ case '0' ... '9':
+ case 'A' ... 'Z':
+ case 'a' ... 'z':
+ case '.':
+ case '-':
+ case '~':
+ case '_':
+ [result appendFormat:@"%c", c];
+ break;
+ default:
+ [result appendFormat:@"%%%02X", c];
+ }
+ }
+ return result;
+}
+
++ (NSString *)ab_GUID
+{
+ CFUUIDRef u = CFUUIDCreate(kCFAllocatorDefault);
+ CFStringRef s = CFUUIDCreateString(kCFAllocatorDefault, u);
+ CFRelease(u);
+ return (__bridge NSString *)s;
+}
+
+@end
View
16 FatSecretKit/FatSecret/OAuthCore.h
@@ -0,0 +1,16 @@
+//
+// OAuthCore.h
+//
+// Created by Loren Brichter on 6/9/10.
+// Copyright 2010 Loren Brichter. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+extern NSString *OAuthorizationHeader(NSURL *url,
+ NSString *method,
+ NSData *body,
+ NSString *_oAuthConsumerKey,
+ NSString *_oAuthConsumerSecret,
+ NSString *_oAuthToken,
+ NSString *_oAuthTokenSecret);
View
113 FatSecretKit/FatSecret/OAuthCore.m
@@ -0,0 +1,113 @@
+//
+// OAuthCore.m
+//
+// Created by Loren Brichter on 6/9/10.
+// Copyright 2010 Loren Brichter. All rights reserved.
+//
+
+#import "OAuthCore.h"
+#import "OAuth+Additions.h"
+#import "NSData+Base64.h"
+#import <CommonCrypto/CommonHMAC.h>
+
+static NSInteger SortParameter(NSString *key1, NSString *key2, void *context) {
+ NSComparisonResult r = [key1 compare:key2];
+ if(r == NSOrderedSame) { // compare by value in this case
+ NSDictionary *dict = (__bridge NSDictionary *)context;
+ NSString *value1 = [dict objectForKey:key1];
+ NSString *value2 = [dict objectForKey:key2];
+ return [value1 compare:value2];
+ }
+ return r;
+}
+
+static NSData *HMAC_SHA1(NSString *data, NSString *key) {
+ unsigned char buf[CC_SHA1_DIGEST_LENGTH];
+ CCHmac(kCCHmacAlgSHA1, [key UTF8String], [key length], [data UTF8String], [data length], buf);
+ return [NSData dataWithBytes:buf length:CC_SHA1_DIGEST_LENGTH];
+}
+
+NSString *OAuthorizationHeader(NSURL *url, NSString *method, NSData *body, NSString *_oAuthConsumerKey, NSString *_oAuthConsumerSecret, NSString *_oAuthToken, NSString *_oAuthTokenSecret)
+{
+ NSString *_oAuthNonce = [NSString ab_GUID];
+ NSString *_oAuthTimestamp = [NSString stringWithFormat:@"%d", (int)[[NSDate date] timeIntervalSince1970]];
+ NSString *_oAuthSignatureMethod = @"HMAC-SHA1";
+ NSString *_oAuthVersion = @"1.0";
+
+ NSMutableDictionary *oAuthAuthorizationParameters = [NSMutableDictionary dictionary];
+ [oAuthAuthorizationParameters setObject:_oAuthNonce forKey:@"oauth_nonce"];
+ [oAuthAuthorizationParameters setObject:_oAuthTimestamp forKey:@"oauth_timestamp"];
+ [oAuthAuthorizationParameters setObject:_oAuthSignatureMethod forKey:@"oauth_signature_method"];
+ [oAuthAuthorizationParameters setObject:_oAuthVersion forKey:@"oauth_version"];
+ [oAuthAuthorizationParameters setObject:_oAuthConsumerKey forKey:@"oauth_consumer_key"];
+ if(_oAuthToken)
+ [oAuthAuthorizationParameters setObject:_oAuthToken forKey:@"oauth_token"];
+
+ // get query and body parameters
+ NSDictionary *additionalQueryParameters = [NSURL ab_parseURLQueryString:[url query]];
+ NSDictionary *additionalBodyParameters = nil;
+ if(body) {
+ NSString *string = [[NSString alloc] initWithData:body encoding:NSUTF8StringEncoding];
+ if(string) {
+ additionalBodyParameters = [NSURL ab_parseURLQueryString:string];
+ }
+ }
+
+ // combine all parameters
+ NSMutableDictionary *parameters = [oAuthAuthorizationParameters mutableCopy];
+ if(additionalQueryParameters) [parameters addEntriesFromDictionary:additionalQueryParameters];
+ if(additionalBodyParameters) [parameters addEntriesFromDictionary:additionalBodyParameters];
+
+ // -> UTF-8 -> RFC3986
+ NSMutableDictionary *encodedParameters = [NSMutableDictionary dictionary];
+ for(NSString *key in parameters) {
+ NSString *value = [parameters objectForKey:key];
+ [encodedParameters setObject:[value ab_RFC3986EncodedString] forKey:[key ab_RFC3986EncodedString]];
+ }
+
+ NSArray *sortedKeys = [[encodedParameters allKeys] sortedArrayUsingFunction:SortParameter context:(__bridge void *)(encodedParameters)];
+
+ NSMutableArray *parameterArray = [NSMutableArray array];
+ for(NSString *key in sortedKeys) {
+ [parameterArray addObject:[NSString stringWithFormat:@"%@=%@", key, [encodedParameters objectForKey:key]]];
+ }
+ NSString *normalizedParameterString = [parameterArray componentsJoinedByString:@"&"];
+
+ NSString *normalizedURLString;
+ if ([url port] == nil) {
+ normalizedURLString = [NSString stringWithFormat:@"%@://%@%@", [url scheme], [url host], [url path]];
+ } else {
+ normalizedURLString = [NSString stringWithFormat:@"%@://%@:%@%@", [url scheme], [url host], [url port], [url path]];
+ }
+
+ NSString *signatureBaseString = [NSString stringWithFormat:@"%@&%@&%@",
+ [method ab_RFC3986EncodedString],
+ [normalizedURLString ab_RFC3986EncodedString],
+ [normalizedParameterString ab_RFC3986EncodedString]];
+
+ NSString *key = [NSString stringWithFormat:@"%@&%@",
+ [_oAuthConsumerSecret ab_RFC3986EncodedString],
+ [_oAuthTokenSecret ab_RFC3986EncodedString]];
+
+ NSData *signature = HMAC_SHA1(signatureBaseString, key);
+ NSString *base64Signature = [signature base64EncodedString];
+
+ // PARKER CHANGE: changed oAuthAuthorizationParameters to parameters
+ NSMutableDictionary *authorizationHeaderDictionary = [parameters mutableCopy];
+ [authorizationHeaderDictionary setObject:base64Signature forKey:@"oauth_signature"];
+
+ NSMutableArray *authorizationHeaderItems = [NSMutableArray array];
+ for(NSString *key in authorizationHeaderDictionary) {
+ NSString *value = [authorizationHeaderDictionary objectForKey:key];
+ // PARKER CHANGE: removed quotes that surrounded each value
+ [authorizationHeaderItems addObject:[NSString stringWithFormat:@"%@=%@",
+ [key ab_RFC3986EncodedString],
+ [value ab_RFC3986EncodedString]]];
+ }
+
+ // PARKER CHANGE: changed concatentation string from ", " to "&"
+ NSString *authorizationHeaderString = [authorizationHeaderItems componentsJoinedByString:@"&"];
+// authorizationHeaderString = [NSString stringWithFormat:@"OAuth %@", authorizationHeaderString];
+
+ return authorizationHeaderString;
+}
View
3 Podfile
@@ -0,0 +1,3 @@
+platform :ios, '5.1'
+
+pod 'SVHTTPRequest'
View
11 Podfile.lock
@@ -0,0 +1,11 @@
+
+PODS:
+- SVHTTPRequest (0.3)
+
+DEPENDENCIES:
+- SVHTTPRequest
+
+SPEC CHECKSUMS:
+ SVHTTPRequest: 1079fdbe462603065155c29f1ee084c5677fe166
+
+COCOAPODS: 0.16.0
View
1 Pods/BuildHeaders/SVHTTPRequest/SVHTTPClient.h
View
1 Pods/BuildHeaders/SVHTTPRequest/SVHTTPRequest.h
View
1 Pods/Headers/SVHTTPRequest/SVHTTPClient.h
View
1 Pods/Headers/SVHTTPRequest/SVHTTPRequest.h
View
32 Pods/Pods-Acknowledgements.markdown
@@ -0,0 +1,32 @@
+# Acknowledgements
+This application makes use of the following third party libraries:
+
+## SVHTTPRequest
+
+Copyright (c) 2011 Sam Vermette
+
+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.
+
+A different license may apply to other software included in this package,
+including John Engelhart's JSONKit class. Please consult their
+respective headers for the terms of their individual licenses.
+Generated by CocoaPods - http://cocoapods.org
View
62 Pods/Pods-Acknowledgements.plist
@@ -0,0 +1,62 @@
+<?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>PreferenceSpecifiers</key>
+ <array>
+ <dict>
+ <key>FooterText</key>
+ <string>This application makes use of the following third party libraries:</string>
+ <key>Title</key>
+ <string>Acknowledgements</string>
+ <key>Type</key>
+ <string>PSGroupSpecifier</string>
+ </dict>
+ <dict>
+ <key>FooterText</key>
+ <string>Copyright (c) 2011 Sam Vermette
+
+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.
+
+A different license may apply to other software included in this package,
+including John Engelhart's JSONKit class. Please consult their
+respective headers for the terms of their individual licenses.</string>
+ <key>Title</key>
+ <string>SVHTTPRequest</string>
+ <key>Type</key>
+ <string>PSGroupSpecifier</string>
+ </dict>
+ <dict>
+ <key>FooterText</key>
+ <string>Generated by CocoaPods - http://cocoapods.org</string>
+ <key>Title</key>
+ <string></string>
+ <key>Type</key>
+ <string>PSGroupSpecifier</string>
+ </dict>
+ </array>
+ <key>StringsTable</key>
+ <string>Acknowledgements</string>
+ <key>Title</key>
+ <string>Acknowledgements</string>
+</dict>
+</plist>
View
3 Pods/Pods-prefix.pch
@@ -0,0 +1,3 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#endif
View
23 Pods/Pods-resources.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+install_resource()
+{
+ case $1 in
+ *.storyboard)
+ echo "ibtool --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename $1 .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
+ ibtool --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename $1 .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
+ ;;
+ *.xib)
+ echo "ibtool --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename $1 .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
+ ibtool --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename $1 .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
+ ;;
+ *.framework)
+ echo "rsync -rp ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+ rsync -rp "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+ ;;
+ *)
+ echo "cp -R ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
+ cp -R "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
+ ;;
+ esac
+}
View
7 Pods/Pods.xcconfig
@@ -0,0 +1,7 @@
+ALWAYS_SEARCH_USER_PATHS = YES
+OTHER_LDFLAGS = -ObjC
+HEADER_SEARCH_PATHS = ${PODS_HEADERS_SEARCH_PATHS}
+PODS_ROOT = ${SRCROOT}/Pods
+PODS_BUILD_HEADERS_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/SVHTTPRequest"
+PODS_PUBLIC_HEADERS_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/SVHTTPRequest"
+PODS_HEADERS_SEARCH_PATHS = ${PODS_PUBLIC_HEADERS_SEARCH_PATHS}
View
585 Pods/Pods.xcodeproj/project.pbxproj
@@ -0,0 +1,585 @@
+<?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>archiveVersion</key>
+ <string>1</string>
+ <key>classes</key>
+ <dict/>
+ <key>objectVersion</key>
+ <string>46</string>
+ <key>objects</key>
+ <dict>
+ <key>02C0F0A64C0047E3AA3B2FC4</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>text.xcconfig</string>
+ <key>name</key>
+ <string>Pods.xcconfig</string>
+ <key>path</key>
+ <string>Pods.xcconfig</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>057C52B28F3645A798E63BBE</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.h</string>
+ <key>name</key>
+ <string>SVHTTPRequest.h</string>
+ <key>path</key>
+ <string>SVHTTPRequest/SVHTTPRequest/SVHTTPRequest.h</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>067BD4A373D94411BE022720</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.objc</string>
+ <key>name</key>
+ <string>PodsDummy_Pods.m</string>
+ <key>path</key>
+ <string>PodsDummy_Pods.m</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>0D5EB0A6A29143F5923ED470</key>
+ <dict>
+ <key>buildConfigurations</key>
+ <array>
+ <string>B22AAFE411B547F1BFECF0C8</string>
+ <string>7605080F675F4B12B38CB36B</string>
+ </array>
+ <key>defaultConfigurationIsVisible</key>
+ <string>0</string>
+ <key>defaultConfigurationName</key>
+ <string>Release</string>
+ <key>isa</key>
+ <string>XCConfigurationList</string>
+ </dict>
+ <key>11D7C329957646A4A68F46CA</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array>
+ <string>AA5258D3721446CDB827C8A3</string>
+ <string>86791B04C9854D91AF275DE3</string>
+ <string>F4A0683582624837889324F7</string>
+ </array>
+ <key>isa</key>
+ <string>PBXSourcesBuildPhase</string>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ </dict>
+ <key>1516988BD62543BEA98E6A37</key>
+ <dict>
+ <key>buildConfigurationList</key>
+ <string>F77E46425C854E31A9E2D23D</string>
+ <key>buildPhases</key>
+ <array>
+ <string>11D7C329957646A4A68F46CA</string>
+ <string>BE3F55E461BB41B8B403AD35</string>
+ <string>6C4C81F6BB39402F95E4FBCF</string>
+ </array>
+ <key>buildRules</key>
+ <array/>
+ <key>dependencies</key>
+ <array/>
+ <key>isa</key>
+ <string>PBXNativeTarget</string>
+ <key>name</key>
+ <string>Pods</string>
+ <key>productName</key>
+ <string>Pods</string>
+ <key>productReference</key>
+ <string>7A9BF246D2E74BAA8DDF0A0E</string>
+ <key>productType</key>
+ <string>com.apple.product-type.library.static</string>
+ </dict>
+ <key>1546B94EC76C4C89915117CA</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.h</string>
+ <key>name</key>
+ <string>SVHTTPClient.h</string>
+ <key>path</key>
+ <string>SVHTTPRequest/SVHTTPRequest/SVHTTPClient.h</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>1CCF667A9D414DEA96D37745</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.objc</string>
+ <key>name</key>
+ <string>SVHTTPClient.m</string>
+ <key>path</key>
+ <string>SVHTTPRequest/SVHTTPRequest/SVHTTPClient.m</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>38BF77B31DBB409EA1F988F5</key>
+ <dict>
+ <key>fileRef</key>
+ <string>057C52B28F3645A798E63BBE</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict>
+ <key>ATTRIBUTES</key>
+ <array>
+ <string>Public</string>
+ </array>
+ </dict>
+ </dict>
+ <key>4072B15955EE460FADA2D8A2</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>6141053C77744381B95A2207</string>
+ <string>89C9C0088CBD467DA21B93A4</string>
+ <string>02C0F0A64C0047E3AA3B2FC4</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Pods</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>5DE9C8F788B54C30B24C18CE</key>
+ <dict>
+ <key>attributes</key>
+ <dict>
+ <key>LastUpgradeCheck</key>
+ <string>0450</string>
+ </dict>
+ <key>buildConfigurationList</key>
+ <string>0D5EB0A6A29143F5923ED470</string>
+ <key>compatibilityVersion</key>
+ <string>Xcode 3.2</string>
+ <key>developmentRegion</key>
+ <string>English</string>
+ <key>hasScannedForEncodings</key>
+ <string>0</string>
+ <key>isa</key>
+ <string>PBXProject</string>
+ <key>knownRegions</key>
+ <array>
+ <string>en</string>
+ </array>
+ <key>mainGroup</key>
+ <string>F1DA469AD4804F33AEE2C7DF</string>
+ <key>productRefGroup</key>
+ <string>F6393C1994DA4EB3B56FD5B7</string>
+ <key>projectReferences</key>
+ <array/>
+ <key>targets</key>
+ <array>
+ <string>1516988BD62543BEA98E6A37</string>
+ </array>
+ </dict>
+ <key>6141053C77744381B95A2207</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>Pods-resources.sh</string>
+ <key>path</key>
+ <string>Pods-resources.sh</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>6C4C81F6BB39402F95E4FBCF</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array>
+ <string>E2ABE8A30C43481B9521B2C4</string>
+ <string>38BF77B31DBB409EA1F988F5</string>
+ </array>
+ <key>isa</key>
+ <string>PBXHeadersBuildPhase</string>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ </dict>
+ <key>71CFAB95E6374D05A7E4BB4E</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>4072B15955EE460FADA2D8A2</string>
+ <string>067BD4A373D94411BE022720</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Targets Support Files</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>75354C647F08419BB419BAE8</key>
+ <dict>
+ <key>baseConfigurationReference</key>
+ <string>02C0F0A64C0047E3AA3B2FC4</string>
+ <key>buildSettings</key>
+ <dict>
+ <key>ALWAYS_SEARCH_USER_PATHS</key>
+ <string>NO</string>
+ <key>ARCHS</key>
+ <string>$(ARCHS_STANDARD_32_BIT)</string>
+ <key>COPY_PHASE_STRIP</key>
+ <string>NO</string>
+ <key>DSTROOT</key>
+ <string>/tmp/xcodeproj.dst</string>
+ <key>GCC_C_LANGUAGE_STANDARD</key>
+ <string>gnu99</string>
+ <key>GCC_DYNAMIC_NO_PIC</key>
+ <string>NO</string>
+ <key>GCC_OPTIMIZATION_LEVEL</key>
+ <string>0</string>
+ <key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+ <string>YES</string>
+ <key>GCC_PREFIX_HEADER</key>
+ <string>Pods-prefix.pch</string>
+ <key>GCC_PREPROCESSOR_DEFINITIONS</key>
+ <array>
+ <string>DEBUG=1</string>
+ <string>$(inherited)</string>
+ </array>
+ <key>GCC_SYMBOLS_PRIVATE_EXTERN</key>
+ <string>NO</string>
+ <key>GCC_VERSION</key>
+ <string>com.apple.compilers.llvm.clang.1_0</string>
+ <key>GCC_WARN_INHIBIT_ALL_WARNINGS</key>
+ <string>NO</string>
+ <key>INSTALL_PATH</key>
+ <string>$(BUILT_PRODUCTS_DIR)</string>
+ <key>IPHONEOS_DEPLOYMENT_TARGET</key>
+ <string>5.1</string>
+ <key>OTHER_LDFLAGS</key>
+ <string></string>
+ <key>PODS_HEADERS_SEARCH_PATHS</key>
+ <string>${PODS_BUILD_HEADERS_SEARCH_PATHS}</string>
+ <key>PODS_ROOT</key>
+ <string>${SRCROOT}</string>
+ <key>PRODUCT_NAME</key>
+ <string>$(TARGET_NAME)</string>
+ <key>PUBLIC_HEADERS_FOLDER_PATH</key>
+ <string>$(TARGET_NAME)</string>
+ <key>SDKROOT</key>
+ <string>iphoneos</string>
+ <key>SKIP_INSTALL</key>
+ <string>YES</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Debug</string>
+ </dict>
+ <key>7605080F675F4B12B38CB36B</key>
+ <dict>
+ <key>buildSettings</key>
+ <dict/>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Debug</string>
+ </dict>
+ <key>798466B721BD4541B16D3602</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>98BB390FEB7343198184E949</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Frameworks</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>7A9BF246D2E74BAA8DDF0A0E</key>
+ <dict>
+ <key>explicitFileType</key>
+ <string>archive.ar</string>
+ <key>includeInIndex</key>
+ <string>0</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>libPods.a</string>
+ <key>path</key>
+ <string>libPods.a</string>
+ <key>sourceTree</key>
+ <string>BUILT_PRODUCTS_DIR</string>
+ </dict>
+ <key>86791B04C9854D91AF275DE3</key>
+ <dict>
+ <key>fileRef</key>
+ <string>BF0D46574056402FBA2D5FDE</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict>
+ <key>COMPILER_FLAGS</key>
+ <string>-fobjc-arc</string>
+ </dict>
+ </dict>
+ <key>89C9C0088CBD467DA21B93A4</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>Pods-prefix.pch</string>
+ <key>path</key>
+ <string>Pods-prefix.pch</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>906F0F18F10E428CB560290D</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>F8CCF36FDC584194AD886426</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Pods</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>92777CB1CD23472EBEE5779F</key>
+ <dict>
+ <key>fileRef</key>
+ <string>98BB390FEB7343198184E949</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict/>
+ </dict>
+ <key>98524909EDE7405DBBB3B43B</key>
+ <dict>
+ <key>baseConfigurationReference</key>
+ <string>02C0F0A64C0047E3AA3B2FC4</string>
+ <key>buildSettings</key>
+ <dict>
+ <key>ALWAYS_SEARCH_USER_PATHS</key>
+ <string>NO</string>
+ <key>ARCHS</key>
+ <string>$(ARCHS_STANDARD_32_BIT)</string>
+ <key>COPY_PHASE_STRIP</key>
+ <string>YES</string>
+ <key>DSTROOT</key>
+ <string>/tmp/xcodeproj.dst</string>
+ <key>GCC_C_LANGUAGE_STANDARD</key>
+ <string>gnu99</string>
+ <key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+ <string>YES</string>
+ <key>GCC_PREFIX_HEADER</key>
+ <string>Pods-prefix.pch</string>
+ <key>GCC_VERSION</key>
+ <string>com.apple.compilers.llvm.clang.1_0</string>
+ <key>GCC_WARN_INHIBIT_ALL_WARNINGS</key>
+ <string>NO</string>
+ <key>INSTALL_PATH</key>
+ <string>$(BUILT_PRODUCTS_DIR)</string>
+ <key>IPHONEOS_DEPLOYMENT_TARGET</key>
+ <string>5.1</string>
+ <key>OTHER_LDFLAGS</key>
+ <string></string>
+ <key>PODS_HEADERS_SEARCH_PATHS</key>
+ <string>${PODS_BUILD_HEADERS_SEARCH_PATHS}</string>
+ <key>PODS_ROOT</key>
+ <string>${SRCROOT}</string>
+ <key>PRODUCT_NAME</key>
+ <string>$(TARGET_NAME)</string>
+ <key>PUBLIC_HEADERS_FOLDER_PATH</key>
+ <string>$(TARGET_NAME)</string>
+ <key>SDKROOT</key>
+ <string>iphoneos</string>
+ <key>SKIP_INSTALL</key>
+ <string>YES</string>
+ <key>VALIDATE_PRODUCT</key>
+ <string>YES</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Release</string>
+ </dict>
+ <key>98BB390FEB7343198184E949</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>wrapper.framework</string>
+ <key>name</key>
+ <string>Foundation.framework</string>
+ <key>path</key>
+ <string>System/Library/Frameworks/Foundation.framework</string>
+ <key>sourceTree</key>
+ <string>SDKROOT</string>
+ </dict>
+ <key>AA5258D3721446CDB827C8A3</key>
+ <dict>
+ <key>fileRef</key>
+ <string>1CCF667A9D414DEA96D37745</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict>
+ <key>COMPILER_FLAGS</key>
+ <string>-fobjc-arc</string>
+ </dict>
+ </dict>
+ <key>B22AAFE411B547F1BFECF0C8</key>
+ <dict>
+ <key>buildSettings</key>
+ <dict/>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Release</string>
+ </dict>
+ <key>BE3F55E461BB41B8B403AD35</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array>
+ <string>92777CB1CD23472EBEE5779F</string>
+ </array>
+ <key>isa</key>
+ <string>PBXFrameworksBuildPhase</string>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ </dict>
+ <key>BF0D46574056402FBA2D5FDE</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.objc</string>
+ <key>name</key>
+ <string>SVHTTPRequest.m</string>
+ <key>path</key>
+ <string>SVHTTPRequest/SVHTTPRequest/SVHTTPRequest.m</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>E2ABE8A30C43481B9521B2C4</key>
+ <dict>
+ <key>fileRef</key>
+ <string>1546B94EC76C4C89915117CA</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict>
+ <key>ATTRIBUTES</key>
+ <array>
+ <string>Public</string>
+ </array>
+ </dict>
+ </dict>
+ <key>F1DA469AD4804F33AEE2C7DF</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>F6393C1994DA4EB3B56FD5B7</string>
+ <string>798466B721BD4541B16D3602</string>
+ <string>906F0F18F10E428CB560290D</string>
+ <string>71CFAB95E6374D05A7E4BB4E</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>F4A0683582624837889324F7</key>
+ <dict>
+ <key>fileRef</key>
+ <string>067BD4A373D94411BE022720</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict/>
+ </dict>
+ <key>F6393C1994DA4EB3B56FD5B7</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>7A9BF246D2E74BAA8DDF0A0E</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Products</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>F77E46425C854E31A9E2D23D</key>
+ <dict>
+ <key>buildConfigurations</key>
+ <array>
+ <string>98524909EDE7405DBBB3B43B</string>
+ <string>75354C647F08419BB419BAE8</string>
+ </array>
+ <key>defaultConfigurationIsVisible</key>
+ <string>0</string>
+ <key>defaultConfigurationName</key>
+ <string>Release</string>
+ <key>isa</key>
+ <string>XCConfigurationList</string>
+ </dict>
+ <key>F8CCF36FDC584194AD886426</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>1546B94EC76C4C89915117CA</string>
+ <string>057C52B28F3645A798E63BBE</string>
+ <string>1CCF667A9D414DEA96D37745</string>
+ <string>BF0D46574056402FBA2D5FDE</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>SVHTTPRequest</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ </dict>
+ <key>rootObject</key>
+ <string>5DE9C8F788B54C30B24C18CE</string>
+</dict>
+</plist>
View
59 Pods/Pods.xcodeproj/xcuserdata/parkerwightman.xcuserdatad/xcschemes/Pods.xcscheme
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0450"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "1516988BD62543BEA98E6A37"
+ BuildableName = "libPods.a"
+ BlueprintName = "Pods"
+ ReferencedContainer = "container:Pods.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
22 Pods/Pods.xcodeproj/xcuserdata/parkerwightman.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+<?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>SchemeUserState</key>
+ <dict>
+ <key>Pods.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>1</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>1516988BD62543BEA98E6A37</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
View
4 Pods/PodsDummy_Pods.m
@@ -0,0 +1,4 @@
+@interface PodsDummy_Pods : NSObject
+@end
+@implementation PodsDummy_Pods
+@end
View
507 Pods/SVHTTPRequest/Demo/Demo.xcodeproj/project.pbxproj
@@ -0,0 +1,507 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 220DF2EE150A7B6800E52072 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 220DF2ED150A7B6800E52072 /* Cocoa.framework */; };
+ 220DF2F8150A7B6800E52072 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 220DF2F6150A7B6800E52072 /* InfoPlist.strings */; };
+ 220DF2FA150A7B6800E52072 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 220DF2F9150A7B6800E52072 /* main.m */; };
+ 220DF2FE150A7B6800E52072 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 220DF2FC150A7B6800E52072 /* Credits.rtf */; };
+ 220DF301150A7B6800E52072 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 220DF300150A7B6800E52072 /* AppDelegate.m */; };
+ 220DF304150A7B6800E52072 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 220DF302150A7B6800E52072 /* MainMenu.xib */; };
+ 220DF309150A7F9500E52072 /* SVHTTPClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 220FDF27149A65BE0021F43D /* SVHTTPClient.m */; };
+ 220DF30A150A7F9800E52072 /* SVHTTPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 225389BF14297B0B00856491 /* SVHTTPRequest.m */; };
+ 220FDF28149A65BE0021F43D /* SVHTTPClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 220FDF27149A65BE0021F43D /* SVHTTPClient.m */; };
+ 220FDF35149AC4880021F43D /* README.textile in Resources */ = {isa = PBXBuildFile; fileRef = 220FDF34149AC4880021F43D /* README.textile */; };
+ 2253899914297AFE00856491 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2253899814297AFE00856491 /* UIKit.framework */; };
+ 2253899B14297AFE00856491 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2253899A14297AFE00856491 /* Foundation.framework */; };
+ 2253899D14297AFE00856491 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2253899C14297AFE00856491 /* CoreGraphics.framework */; };
+ 225389A314297AFE00856491 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 225389A114297AFE00856491 /* InfoPlist.strings */; };
+ 225389A514297AFE00856491 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 225389A414297AFE00856491 /* main.m */; };
+ 225389A914297AFE00856491 /* DemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 225389A814297AFE00856491 /* DemoAppDelegate.m */; };
+ 225389AC14297AFE00856491 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 225389AA14297AFE00856491 /* MainWindow.xib */; };
+ 225389AF14297AFE00856491 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 225389AE14297AFE00856491 /* DemoViewController.m */; };
+ 225389B214297AFE00856491 /* DemoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 225389B014297AFE00856491 /* DemoViewController.xib */; };
+ 225389C314297B0B00856491 /* SVHTTPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 225389BF14297B0B00856491 /* SVHTTPRequest.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 220DF2EB150A7B6800E52072 /* MacDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MacDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 220DF2ED150A7B6800E52072 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; };
+ 220DF2F0150A7B6800E52072 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
+ 220DF2F1150A7B6800E52072 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
+ 220DF2F2150A7B6800E52072 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 220DF2F5150A7B6800E52072 /* MacDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MacDemo-Info.plist"; sourceTree = "<group>"; };
+ 220DF2F7150A7B6800E52072 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 220DF2F9150A7B6800E52072 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ 220DF2FB150A7B6800E52072 /* MacDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MacDemo-Prefix.pch"; sourceTree = "<group>"; };
+ 220DF2FD150A7B6800E52072 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
+ 220DF2FF150A7B6800E52072 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+ 220DF300150A7B6800E52072 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+ 220DF303150A7B6800E52072 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
+ 220FDF26149A65BE0021F43D /* SVHTTPClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVHTTPClient.h; sourceTree = "<group>"; };
+ 220FDF27149A65BE0021F43D /* SVHTTPClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVHTTPClient.m; sourceTree = "<group>"; };
+ 220FDF34149AC4880021F43D /* README.textile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README.textile; path = ../README.textile; sourceTree = "<group>"; };
+ 2253899414297AFE00856491 /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 2253899814297AFE00856491 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 2253899A14297AFE00856491 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 2253899C14297AFE00856491 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ 225389A014297AFE00856491 /* Demo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Demo-Info.plist"; sourceTree = "<group>"; };