Browse Source

Migrating from Parse

v1.2.4
Abhishek Banthia 9 years ago
parent
commit
941c81cde8
  1. 20
      Clocker-Helper/Clocker-Helper.xcodeproj/project.pbxproj
  2. 74
      Clocker.xcodeproj/project.pbxproj
  3. BIN
      Clocker.xcodeproj/project.xcworkspace/xcuserdata/abhishekbanthia.xcuserdatad/UserInterfaceState.xcuserstate
  4. 2
      Clocker.xcodeproj/xcuserdata/abhishekbanthia.xcuserdatad/xcschemes/Clocker.xcscheme
  5. 13
      Clocker/AboutUsWindow/CLAboutUsViewController.m
  6. 4
      Clocker/App Feedback/CLAppFeedbackWindowController.m
  7. 17
      Clocker/ApplicationDelegate.m
  8. 4
      Clocker/Clocker-Info.plist
  9. 4
      Clocker/Model/CLTimezoneData.m
  10. 1
      Clocker/Onboarding/en.lproj/CLOnboardingWindow.xib
  11. 1
      Clocker/Onboarding/ja.lproj/CLOnboardingWindow.xib
  12. 1
      Clocker/Preferences/CLPreferencesViewController.m
  13. BIN
      Frameworks/Firebase.framework/Firebase
  14. 54
      Frameworks/Firebase.framework/Headers/FAuthData.h
  15. 41
      Frameworks/Firebase.framework/Headers/FAuthType.h
  16. 69
      Frameworks/Firebase.framework/Headers/FConfig.h
  17. 154
      Frameworks/Firebase.framework/Headers/FDataSnapshot.h
  18. 43
      Frameworks/Firebase.framework/Headers/FEventType.h
  19. 143
      Frameworks/Firebase.framework/Headers/FMutableData.h
  20. 412
      Frameworks/Firebase.framework/Headers/FQuery.h
  21. 53
      Frameworks/Firebase.framework/Headers/FTransactionResult.h
  22. 1055
      Frameworks/Firebase.framework/Headers/Firebase.h
  23. 34
      Frameworks/Firebase.framework/Headers/FirebaseApp.h
  24. 5
      Frameworks/Firebase.framework/Headers/FirebaseServerValue.h
  25. BIN
      Frameworks/Firebase.framework/Info.plist
  26. 6
      Frameworks/Firebase.framework/Modules/module.modulemap
  27. 47
      Frameworks/Firebase.framework/NOTICE

20
Clocker-Helper/Clocker-Helper.xcodeproj/project.pbxproj

@ -168,7 +168,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; CODE_SIGN_IDENTITY = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
@ -190,7 +190,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.11; MACOSX_DEPLOYMENT_TARGET = 10.11;
MTL_ENABLE_DEBUG_INFO = YES; MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
SDKROOT = macosx; SDKROOT = macosx;
}; };
name = Debug; name = Debug;
@ -212,7 +212,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; CODE_SIGN_IDENTITY = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
@ -227,7 +227,7 @@
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.11; MACOSX_DEPLOYMENT_TARGET = 10.11;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
SDKROOT = macosx; SDKROOT = macosx;
}; };
name = Release; name = Release;
@ -237,14 +237,14 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "Clocker-Helper/Clocker-Helper.entitlements"; CODE_SIGN_ENTITLEMENTS = "Clocker-Helper/Clocker-Helper.entitlements";
CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; CODE_SIGN_IDENTITY = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = "Clocker-Helper/Info.plist"; INFOPLIST_FILE = "Clocker-Helper/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.abhishek.Clocker-Helper"; PRODUCT_BUNDLE_IDENTIFIER = "com.abhishek.Clocker-Helper";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
}; };
name = Debug; name = Debug;
@ -254,14 +254,14 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "Clocker-Helper/Clocker-Helper.entitlements"; CODE_SIGN_ENTITLEMENTS = "Clocker-Helper/Clocker-Helper.entitlements";
CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; CODE_SIGN_IDENTITY = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = "Clocker-Helper/Info.plist"; INFOPLIST_FILE = "Clocker-Helper/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "com.abhishek.Clocker-Helper"; PRODUCT_BUNDLE_IDENTIFIER = "com.abhishek.Clocker-Helper";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
}; };
name = Release; name = Release;

74
Clocker.xcodeproj/project.pbxproj

@ -39,6 +39,8 @@
9A5951F51C1D3D81009C17AA /* CLTimezoneCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A5951F41C1D3D81009C17AA /* CLTimezoneCellView.m */; }; 9A5951F51C1D3D81009C17AA /* CLTimezoneCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A5951F41C1D3D81009C17AA /* CLTimezoneCellView.m */; };
9A5951FA1C1D5214009C17AA /* iVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A5951F91C1D5214009C17AA /* iVersion.m */; }; 9A5951FA1C1D5214009C17AA /* iVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A5951F91C1D5214009C17AA /* iVersion.m */; };
9A5951FD1C1D592D009C17AA /* iVersion.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 9A5951FC1C1D592D009C17AA /* iVersion.bundle */; }; 9A5951FD1C1D592D009C17AA /* iVersion.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 9A5951FC1C1D592D009C17AA /* iVersion.bundle */; };
9A5E6B9E1CAF7199006E7C5C /* Firebase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5E6B9D1CAF7199006E7C5C /* Firebase.framework */; };
9A5E6BA01CAF71C1006E7C5C /* libicucore.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5E6B9F1CAF71C1006E7C5C /* libicucore.tbd */; };
9A63620A1C432F68004AD010 /* CLAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A6362091C432F68004AD010 /* CLAPI.m */; }; 9A63620A1C432F68004AD010 /* CLAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A6362091C432F68004AD010 /* CLAPI.m */; };
9A8605AE1BEC148400A810A4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605AD1BEC148400A810A4 /* main.m */; }; 9A8605AE1BEC148400A810A4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605AD1BEC148400A810A4 /* main.m */; };
9A8605B61BEC14BE00A810A4 /* MenubarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605B41BEC14BE00A810A4 /* MenubarController.m */; }; 9A8605B61BEC14BE00A810A4 /* MenubarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A8605B41BEC14BE00A810A4 /* MenubarController.m */; };
@ -56,14 +58,10 @@
9A87DACA1C358FA800A8CF3B /* DTTimePeriodGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A87DAC11C358FA800A8CF3B /* DTTimePeriodGroup.m */; }; 9A87DACA1C358FA800A8CF3B /* DTTimePeriodGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A87DAC11C358FA800A8CF3B /* DTTimePeriodGroup.m */; };
9A87DACB1C358FA800A8CF3B /* NSDate+DateTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A87DAC31C358FA800A8CF3B /* NSDate+DateTools.m */; }; 9A87DACB1C358FA800A8CF3B /* NSDate+DateTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A87DAC31C358FA800A8CF3B /* NSDate+DateTools.m */; };
9A9E63861C2C673E009A299B /* CLAppFeedbackWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A9E63841C2C673E009A299B /* CLAppFeedbackWindowController.m */; }; 9A9E63861C2C673E009A299B /* CLAppFeedbackWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A9E63841C2C673E009A299B /* CLAppFeedbackWindowController.m */; };
9A9E875A1C1FED1A00A7A2DF /* Parse.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E87581C1FED1A00A7A2DF /* Parse.framework */; };
9A9E875F1C1FED7500A7A2DF /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E87571C1FED1A00A7A2DF /* Bolts.framework */; };
9A9E87621C1FEDB500A7A2DF /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E87611C1FEDB500A7A2DF /* CFNetwork.framework */; }; 9A9E87621C1FEDB500A7A2DF /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E87611C1FEDB500A7A2DF /* CFNetwork.framework */; };
9A9E87681C1FEDD300A7A2DF /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E87671C1FEDD300A7A2DF /* Security.framework */; }; 9A9E87681C1FEDD300A7A2DF /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E87671C1FEDD300A7A2DF /* Security.framework */; };
9A9E876A1C1FEDDB00A7A2DF /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E87691C1FEDDB00A7A2DF /* SystemConfiguration.framework */; }; 9A9E876A1C1FEDDB00A7A2DF /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E87691C1FEDDB00A7A2DF /* SystemConfiguration.framework */; };
9A9E876C1C1FEDE700A7A2DF /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E876B1C1FEDE700A7A2DF /* libsqlite3.tbd */; }; 9A9E876C1C1FEDE700A7A2DF /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A9E876B1C1FEDE700A7A2DF /* libsqlite3.tbd */; };
9A9E876E1C1FEE1800A7A2DF /* Bolts.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9A9E87571C1FED1A00A7A2DF /* Bolts.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9A9E876F1C1FEE1A00A7A2DF /* Parse.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9A9E87581C1FED1A00A7A2DF /* Parse.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9AB9357B1C1AD8F7001285A0 /* CLRatingCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AB9357A1C1AD8F7001285A0 /* CLRatingCellView.m */; }; 9AB9357B1C1AD8F7001285A0 /* CLRatingCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AB9357A1C1AD8F7001285A0 /* CLRatingCellView.m */; };
9ABA2B031C671D49009DC0EF /* CLMainWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ABA2B021C671D49009DC0EF /* CLMainWindowController.m */; }; 9ABA2B031C671D49009DC0EF /* CLMainWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ABA2B021C671D49009DC0EF /* CLMainWindowController.m */; };
9ABF58721C29A80600BD0187 /* CLTimezoneData.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ABF58711C29A80600BD0187 /* CLTimezoneData.m */; }; 9ABF58721C29A80600BD0187 /* CLTimezoneData.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ABF58711C29A80600BD0187 /* CLTimezoneData.m */; };
@ -94,17 +92,6 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
9A9E876D1C1FEE0B00A7A2DF /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
9A9E876F1C1FEE1A00A7A2DF /* Parse.framework in CopyFiles */,
9A9E876E1C1FEE1800A7A2DF /* Bolts.framework in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
@ -162,6 +149,8 @@
9A5951F91C1D5214009C17AA /* iVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iVersion.m; path = "Clocker/Updated Version/iVersion.m"; sourceTree = "<group>"; }; 9A5951F91C1D5214009C17AA /* iVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iVersion.m; path = "Clocker/Updated Version/iVersion.m"; sourceTree = "<group>"; };
9A5951FC1C1D592D009C17AA /* iVersion.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = iVersion.bundle; path = "Clocker/Updated Version/iVersion.bundle"; sourceTree = "<group>"; }; 9A5951FC1C1D592D009C17AA /* iVersion.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = iVersion.bundle; path = "Clocker/Updated Version/iVersion.bundle"; sourceTree = "<group>"; };
9A5B1A8D1BECDFB700A77C68 /* Clocker.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = Clocker.entitlements; path = Clocker/Clocker.entitlements; sourceTree = "<group>"; }; 9A5B1A8D1BECDFB700A77C68 /* Clocker.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = Clocker.entitlements; path = Clocker/Clocker.entitlements; sourceTree = "<group>"; };
9A5E6B9D1CAF7199006E7C5C /* Firebase.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Firebase.framework; path = Frameworks/Firebase.framework; sourceTree = "<group>"; };
9A5E6B9F1CAF71C1006E7C5C /* libicucore.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libicucore.tbd; path = usr/lib/libicucore.tbd; sourceTree = SDKROOT; };
9A6362081C432F68004AD010 /* CLAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLAPI.h; path = Clocker/API/CLAPI.h; sourceTree = "<group>"; }; 9A6362081C432F68004AD010 /* CLAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLAPI.h; path = Clocker/API/CLAPI.h; sourceTree = "<group>"; };
9A6362091C432F68004AD010 /* CLAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLAPI.m; path = Clocker/API/CLAPI.m; sourceTree = "<group>"; }; 9A6362091C432F68004AD010 /* CLAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLAPI.m; path = Clocker/API/CLAPI.m; sourceTree = "<group>"; };
9A8605AD1BEC148400A810A4 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Clocker/main.m; sourceTree = "<group>"; }; 9A8605AD1BEC148400A810A4 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Clocker/main.m; sourceTree = "<group>"; };
@ -197,8 +186,6 @@
9A87DAC31C358FA800A8CF3B /* NSDate+DateTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSDate+DateTools.m"; path = "Clocker/Date Tools/DateTools-master/DateTools/NSDate+DateTools.m"; sourceTree = "<group>"; }; 9A87DAC31C358FA800A8CF3B /* NSDate+DateTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSDate+DateTools.m"; path = "Clocker/Date Tools/DateTools-master/DateTools/NSDate+DateTools.m"; sourceTree = "<group>"; };
9A9E63831C2C673E009A299B /* CLAppFeedbackWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLAppFeedbackWindowController.h; path = "Clocker/App Feedback/CLAppFeedbackWindowController.h"; sourceTree = "<group>"; }; 9A9E63831C2C673E009A299B /* CLAppFeedbackWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLAppFeedbackWindowController.h; path = "Clocker/App Feedback/CLAppFeedbackWindowController.h"; sourceTree = "<group>"; };
9A9E63841C2C673E009A299B /* CLAppFeedbackWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLAppFeedbackWindowController.m; path = "Clocker/App Feedback/CLAppFeedbackWindowController.m"; sourceTree = "<group>"; }; 9A9E63841C2C673E009A299B /* CLAppFeedbackWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLAppFeedbackWindowController.m; path = "Clocker/App Feedback/CLAppFeedbackWindowController.m"; sourceTree = "<group>"; };
9A9E87571C1FED1A00A7A2DF /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Bolts.framework; path = Clocker/Parse/Bolts.framework; sourceTree = "<group>"; };
9A9E87581C1FED1A00A7A2DF /* Parse.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Parse.framework; path = Clocker/Parse/Parse.framework; sourceTree = "<group>"; };
9A9E87611C1FEDB500A7A2DF /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; 9A9E87611C1FEDB500A7A2DF /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
9A9E87631C1FEDBD00A7A2DF /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 9A9E87631C1FEDBD00A7A2DF /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
9A9E87651C1FEDC500A7A2DF /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; 9A9E87651C1FEDC500A7A2DF /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
@ -225,21 +212,21 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
9A9E876A1C1FEDDB00A7A2DF /* SystemConfiguration.framework in Frameworks */,
9A9E87621C1FEDB500A7A2DF /* CFNetwork.framework in Frameworks */,
9A5E6BA01CAF71C1006E7C5C /* libicucore.tbd in Frameworks */,
9ABFB3801CA6882000E10745 /* ApplicationServices.framework in Frameworks */, 9ABFB3801CA6882000E10745 /* ApplicationServices.framework in Frameworks */,
9A20A0701C4E804D00FB45AB /* ServiceManagement.framework in Frameworks */, 9A20A0701C4E804D00FB45AB /* ServiceManagement.framework in Frameworks */,
9A20A04B1C4DEED200FB45AB /* IOKit.framework in Frameworks */, 9A20A04B1C4DEED200FB45AB /* IOKit.framework in Frameworks */,
9A43792C1BEC231100F4E27F /* libz.tbd in Frameworks */, 9A43792C1BEC231100F4E27F /* libz.tbd in Frameworks */,
9A9E876C1C1FEDE700A7A2DF /* libsqlite3.tbd in Frameworks */, 9A9E876C1C1FEDE700A7A2DF /* libsqlite3.tbd in Frameworks */,
9A9E876A1C1FEDDB00A7A2DF /* SystemConfiguration.framework in Frameworks */,
9A9E87681C1FEDD300A7A2DF /* Security.framework in Frameworks */, 9A9E87681C1FEDD300A7A2DF /* Security.framework in Frameworks */,
9AC678E41C1ABAB9003B4F6B /* QuartzCore.framework in Frameworks */, 9AC678E41C1ABAB9003B4F6B /* QuartzCore.framework in Frameworks */,
9A9E87621C1FEDB500A7A2DF /* CFNetwork.framework in Frameworks */,
9A9E875A1C1FED1A00A7A2DF /* Parse.framework in Frameworks */,
9A5951BA1C1D0A22009C17AA /* Crashlytics.framework in Frameworks */, 9A5951BA1C1D0A22009C17AA /* Crashlytics.framework in Frameworks */,
9A5E6B9E1CAF7199006E7C5C /* Firebase.framework in Frameworks */,
9A43792A1BEC230A00F4E27F /* libc++.tbd in Frameworks */, 9A43792A1BEC230A00F4E27F /* libc++.tbd in Frameworks */,
9A4379251BEC223900F4E27F /* Security.framework in Frameworks */, 9A4379251BEC223900F4E27F /* Security.framework in Frameworks */,
DD4F7C0913C30F9F00825C6E /* Cocoa.framework in Frameworks */, DD4F7C0913C30F9F00825C6E /* Cocoa.framework in Frameworks */,
9A9E875F1C1FED7500A7A2DF /* Bolts.framework in Frameworks */,
9A4379271BEC223900F4E27F /* Fabric.framework in Frameworks */, 9A4379271BEC223900F4E27F /* Fabric.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
@ -312,6 +299,14 @@
name = "Check for Updated Version"; name = "Check for Updated Version";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
9A5E6B9C1CAF7174006E7C5C /* Firebase */ = {
isa = PBXGroup;
children = (
9A5E6B9D1CAF7199006E7C5C /* Firebase.framework */,
);
name = Firebase;
sourceTree = "<group>";
};
9A8605E01BEC15F400A810A4 /* XIB */ = { 9A8605E01BEC15F400A810A4 /* XIB */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -405,15 +400,6 @@
name = "Date Tools"; name = "Date Tools";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
9A9E875B1C1FED1E00A7A2DF /* Parse */ = {
isa = PBXGroup;
children = (
9A9E87571C1FED1A00A7A2DF /* Bolts.framework */,
9A9E87581C1FED1A00A7A2DF /* Parse.framework */,
);
name = Parse;
sourceTree = "<group>";
};
9ABF586F1C29A7EB00BD0187 /* Model */ = { 9ABF586F1C29A7EB00BD0187 /* Model */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -435,10 +421,10 @@
DD4F7BF913C30F9F00825C6E = { DD4F7BF913C30F9F00825C6E = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9A5E6B9C1CAF7174006E7C5C /* Firebase */,
9A87DA4F1C358F8200A8CF3B /* Date Tools */, 9A87DA4F1C358F8200A8CF3B /* Date Tools */,
9ABF586F1C29A7EB00BD0187 /* Model */, 9ABF586F1C29A7EB00BD0187 /* Model */,
9AF9A1681C250AA300EE7C2A /* Reachability */, 9AF9A1681C250AA300EE7C2A /* Reachability */,
9A9E875B1C1FED1E00A7A2DF /* Parse */,
9A5B1A8D1BECDFB700A77C68 /* Clocker.entitlements */, 9A5B1A8D1BECDFB700A77C68 /* Clocker.entitlements */,
9A43792D1BEC256200F4E27F /* Media.xcassets */, 9A43792D1BEC256200F4E27F /* Media.xcassets */,
9A2000C61BFBCEF6002BFDE8 /* Utilties */, 9A2000C61BFBCEF6002BFDE8 /* Utilties */,
@ -468,6 +454,7 @@
DD4F7C0713C30F9F00825C6E /* Frameworks */ = { DD4F7C0713C30F9F00825C6E /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9A5E6B9F1CAF71C1006E7C5C /* libicucore.tbd */,
9ABFB37F1CA6882000E10745 /* ApplicationServices.framework */, 9ABFB37F1CA6882000E10745 /* ApplicationServices.framework */,
9A20A06F1C4E804D00FB45AB /* ServiceManagement.framework */, 9A20A06F1C4E804D00FB45AB /* ServiceManagement.framework */,
9A20A04A1C4DEED200FB45AB /* IOKit.framework */, 9A20A04A1C4DEED200FB45AB /* IOKit.framework */,
@ -501,7 +488,6 @@
DD4F7C0113C30F9F00825C6E /* Frameworks */, DD4F7C0113C30F9F00825C6E /* Frameworks */,
DD4F7C0213C30F9F00825C6E /* Resources */, DD4F7C0213C30F9F00825C6E /* Resources */,
9A4379201BEC220200F4E27F /* ShellScript */, 9A4379201BEC220200F4E27F /* ShellScript */,
9A9E876D1C1FEE0B00A7A2DF /* CopyFiles */,
9A20A0711C4E808500FB45AB /* CopyFiles */, 9A20A0711C4E808500FB45AB /* CopyFiles */,
); );
buildRules = ( buildRules = (
@ -772,7 +758,7 @@
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET = 10.10;
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
SDKROOT = macosx; SDKROOT = macosx;
}; };
name = Distribution; name = Distribution;
@ -783,8 +769,8 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CODE_SIGN_ENTITLEMENTS = Clocker/Clocker.entitlements; CODE_SIGN_ENTITLEMENTS = Clocker/Clocker.entitlements;
CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; CODE_SIGN_IDENTITY = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -801,7 +787,7 @@
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = com.abhishek.Clocker; PRODUCT_BUNDLE_IDENTIFIER = com.abhishek.Clocker;
PRODUCT_NAME = Clocker; PRODUCT_NAME = Clocker;
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
WRAPPER_EXTENSION = app; WRAPPER_EXTENSION = app;
}; };
name = Distribution; name = Distribution;
@ -841,7 +827,7 @@
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET = 10.10;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
SDKROOT = macosx; SDKROOT = macosx;
}; };
name = Debug; name = Debug;
@ -873,7 +859,7 @@
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET = 10.10;
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
SDKROOT = macosx; SDKROOT = macosx;
}; };
name = Release; name = Release;
@ -884,8 +870,8 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CODE_SIGN_ENTITLEMENTS = Clocker/Clocker.entitlements; CODE_SIGN_ENTITLEMENTS = Clocker/Clocker.entitlements;
CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; CODE_SIGN_IDENTITY = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@ -904,7 +890,7 @@
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = com.abhishek.Clocker; PRODUCT_BUNDLE_IDENTIFIER = com.abhishek.Clocker;
PRODUCT_NAME = Clocker; PRODUCT_NAME = Clocker;
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
WRAPPER_EXTENSION = app; WRAPPER_EXTENSION = app;
}; };
name = Debug; name = Debug;
@ -915,8 +901,8 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CODE_SIGN_ENTITLEMENTS = Clocker/Clocker.entitlements; CODE_SIGN_ENTITLEMENTS = Clocker/Clocker.entitlements;
CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; CODE_SIGN_IDENTITY = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application: Abhishek Banthia (AJS5SNW8EY)"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer: Abhishek Banthia (75WFZYE9LW)";
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -933,7 +919,7 @@
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = com.abhishek.Clocker; PRODUCT_BUNDLE_IDENTIFIER = com.abhishek.Clocker;
PRODUCT_NAME = Clocker; PRODUCT_NAME = Clocker;
PROVISIONING_PROFILE = "cf78c9d1-4fcf-48d9-8f73-e61c3c403976"; PROVISIONING_PROFILE = "";
WRAPPER_EXTENSION = app; WRAPPER_EXTENSION = app;
}; };
name = Release; name = Release;

BIN
Clocker.xcodeproj/project.xcworkspace/xcuserdata/abhishekbanthia.xcuserdatad/UserInterfaceState.xcuserstate generated

Binary file not shown.

2
Clocker.xcodeproj/xcuserdata/abhishekbanthia.xcuserdatad/xcschemes/Clocker.xcscheme

@ -42,7 +42,7 @@
</AdditionalOptions> </AdditionalOptions>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Release" buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0" launchStyle = "0"

13
Clocker/AboutUsWindow/CLAboutUsViewController.m

@ -7,7 +7,6 @@
// //
#import "CLAboutUsViewController.h" #import "CLAboutUsViewController.h"
#import <Parse/Parse.h>
@interface CLAboutUsViewController () @interface CLAboutUsViewController ()
@ -39,18 +38,10 @@ NSString *const CLFacebookPageURL = @"https://www.facebook.com/ClockerMenubarClo
- (IBAction)viewSource:(id)sender - (IBAction)viewSource:(id)sender
{ {
PFObject *aboutView = [PFObject objectWithClassName:@"CLAboutViews"];
aboutView[@"GitHub"] = @"YES";
aboutView[@"UniqueID"] = [self getSerialNumber];
[aboutView saveEventually];
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLGitHubURL]]; [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLGitHubURL]];
} }
- (IBAction)reportIssue:(id)sender - (IBAction)reportIssue:(id)sender
{ {
PFObject *aboutView = [PFObject objectWithClassName:@"CLAboutViews"];
aboutView[@"ReportIssue"] = @"YES";
aboutView[@"UniqueID"] = [self getSerialNumber];
[aboutView saveEventually];
self.feedbackWindow = [CLAppFeedbackWindowController sharedWindow]; self.feedbackWindow = [CLAppFeedbackWindowController sharedWindow];
[self.feedbackWindow showWindow:nil]; [self.feedbackWindow showWindow:nil];
[NSApp activateIgnoringOtherApps:YES]; [NSApp activateIgnoringOtherApps:YES];
@ -59,10 +50,6 @@ NSString *const CLFacebookPageURL = @"https://www.facebook.com/ClockerMenubarClo
- (IBAction)openFacebookPage:(id)sender - (IBAction)openFacebookPage:(id)sender
{ {
PFObject *aboutView = [PFObject objectWithClassName:@"CLAboutViews"];
aboutView[@"FacebookPage"] = @"YES";
aboutView[@"UniqueID"] = [self getSerialNumber];
[aboutView saveEventually];
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLFacebookPageURL]]; [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:CLFacebookPageURL]];
} }

4
Clocker/App Feedback/CLAppFeedbackWindowController.m

@ -7,7 +7,6 @@
// //
#import "CLAppFeedbackWindowController.h" #import "CLAppFeedbackWindowController.h"
#import <Parse/Parse.h>
#import "CLOneWindowController.h" #import "CLOneWindowController.h"
#import "CommonStrings.h" #import "CommonStrings.h"
@ -89,6 +88,7 @@ static CLAppFeedbackWindowController *sharedFeedbackWindow = nil;
return; return;
} }
/*
PFObject *feedbackObject = [PFObject objectWithClassName:CLParseAppFeedbackClassIdentifier]; PFObject *feedbackObject = [PFObject objectWithClassName:CLParseAppFeedbackClassIdentifier];
feedbackObject[CLParseAppFeedbackNameProperty] = (self.nameField.stringValue.length > 0) ? feedbackObject[CLParseAppFeedbackNameProperty] = (self.nameField.stringValue.length > 0) ?
self.nameField.stringValue : CLParseAppFeedbackNoResponseString; self.nameField.stringValue : CLParseAppFeedbackNoResponseString;
@ -120,7 +120,7 @@ static CLAppFeedbackWindowController *sharedFeedbackWindow = nil;
}]; }];
*/
} }
- (void)cleanUp - (void)cleanUp

17
Clocker/ApplicationDelegate.m

@ -31,12 +31,9 @@
#import "iRate.h" #import "iRate.h"
#import "CommonStrings.h" #import "CommonStrings.h"
#import "iVersion.h" #import "iVersion.h"
#import <Parse/Parse.h>
#import "CLOnboardingWindowController.h" #import "CLOnboardingWindowController.h"
#define helperAppBundleIdentifier @"com.abhishek.Clocker-Helper" // change as appropriate to help app bundle identifier #define helperAppBundleIdentifier @"com.abhishek.Clocker-Helper" // change as appropriate to help app bundle identifier
NSString *const CLParseApplicationID = @"F2ahd8J6sfjQMCc5z3xSy9kVK94PmKmH6hV2UsUK";
NSString *const CLParseClientID = @"vfnqDtinvmwUBkcifznYHzYTetxN5iMvt8Ey8StD";
#define terminateNotification @"TerminateHelper" #define terminateNotification @"TerminateHelper"
@implementation ApplicationDelegate @implementation ApplicationDelegate
@ -138,18 +135,18 @@ void *kContextActivePanel = &kContextActivePanel;
[self.menubarController setInitialTimezoneData]; [self.menubarController setInitialTimezoneData];
} }
CLOnboardingWindowController *windowController = [CLOnboardingWindowController sharedWindow];
[windowController showWindow:nil];
[NSApp activateIgnoringOtherApps:YES];
[[NSUserDefaults standardUserDefaults] setObject:@"OnboardingDone" forKey:@"initialLaunch"];
[self.menubarController setInitialTimezoneData];
[[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"NSApplicationCrashOnExceptions": @YES }]; [[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"NSApplicationCrashOnExceptions": @YES }];
[[Crashlytics sharedInstance] setDebugMode:NO]; [[Crashlytics sharedInstance] setDebugMode:NO];
[Fabric with:@[[Crashlytics class]]]; [Fabric with:@[[Crashlytics class]]];
//Setting up Parse
[Parse setApplicationId:CLParseApplicationID
clientKey:CLParseClientID];
// [Optional] Track statistics around application opens.
[PFAnalytics trackAppOpenedWithLaunchOptions:nil];
} }

4
Clocker/Clocker-Info.plist

@ -13,11 +13,11 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.2.3</string> <string>1.2.4</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>21</string> <string>22</string>
<key>Fabric</key> <key>Fabric</key>
<dict> <dict>
<key>APIKey</key> <key>APIKey</key>

4
Clocker/Model/CLTimezoneData.m

@ -11,7 +11,6 @@
#import "CommonStrings.h" #import "CommonStrings.h"
#import "DateTools.h" #import "DateTools.h"
#import "PanelController.h" #import "PanelController.h"
#import <Parse/Parse.h>
#include <CoreFoundation/CoreFoundation.h> #include <CoreFoundation/CoreFoundation.h>
#include <IOKit/IOKitLib.h> #include <IOKit/IOKitLib.h>
@ -432,12 +431,13 @@
uniqueIdentifier = @"N/A"; uniqueIdentifier = @"N/A";
} }
/*
PFObject *feedbackObject = [PFObject objectWithClassName:@"CLTimezoneData"]; PFObject *feedbackObject = [PFObject objectWithClassName:@"CLTimezoneData"];
feedbackObject[@"formattedAddress"] = self.formattedAddress; feedbackObject[@"formattedAddress"] = self.formattedAddress;
feedbackObject[@"timezoneID"] = self.timezoneID; feedbackObject[@"timezoneID"] = self.timezoneID;
feedbackObject[@"uniqueID"] = uniqueIdentifier; feedbackObject[@"uniqueID"] = uniqueIdentifier;
[feedbackObject saveEventually]; [feedbackObject saveEventually];*/
} }

1
Clocker/Onboarding/en.lproj/CLOnboardingWindow.xib

@ -6,7 +6,6 @@
<objects> <objects>
<customObject id="-2" userLabel="File's Owner" customClass="CLOnboardingWindowController"> <customObject id="-2" userLabel="File's Owner" customClass="CLOnboardingWindowController">
<connections> <connections>
<outlet property="titleLabel" destination="oiI-iN-JcW" id="QZa-pU-xDz"/>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/> <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections> </connections>
</customObject> </customObject>

1
Clocker/Onboarding/ja.lproj/CLOnboardingWindow.xib

@ -6,7 +6,6 @@
<objects> <objects>
<customObject id="-2" userLabel="File's Owner" customClass="CLOnboardingWindowController"> <customObject id="-2" userLabel="File's Owner" customClass="CLOnboardingWindowController">
<connections> <connections>
<outlet property="titleLabel" destination="oiI-iN-JcW" id="QZa-pU-xDz"/>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/> <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections> </connections>
</customObject> </customObject>

1
Clocker/Preferences/CLPreferencesViewController.m

@ -13,7 +13,6 @@
#import <QuartzCore/QuartzCore.h> #import <QuartzCore/QuartzCore.h>
#import "CommonStrings.h" #import "CommonStrings.h"
#import "CLTimezoneData.h" #import "CLTimezoneData.h"
#import <Parse/Parse.h>
#import "CLAPI.h" #import "CLAPI.h"
//#import <Answers/Answers.h> //#import <Answers/Answers.h>
#import <ServiceManagement/ServiceManagement.h> #import <ServiceManagement/ServiceManagement.h>

BIN
Frameworks/Firebase.framework/Firebase

Binary file not shown.

54
Frameworks/Firebase.framework/Headers/FAuthData.h

@ -0,0 +1,54 @@
//
// FAuthData.h
// Firebase
//
// Created by Katherine Fang on 7/30/14.
//
#import "FAuthType.h"
/**
* The FAuthData class is a wrapper around the user metadata returned from the Firebase auth server.
* It includes the provider authenticated against, a uid (with the possible exception of authenticating against a custom
* backend), and a token used to authenticate with Firebase.
*
* It may include other metadata about the user, depending on the provider used to do the authentication.
*/
@interface FAuthData : NSObject
/**
* @return Raw authentication token payload returned by the server
*/
@property (nonatomic, strong, readonly) NSDictionary *auth;
/**
* @return Authentication token expiration timestamp (seconds since epoch) returned by the server
*/
@property (nonatomic, strong, readonly) NSNumber *expires;
/**
* @return A uid for this user. It is unique across all auth providers.
*/
@property (nonatomic, strong, readonly) NSString *uid;
/**
* @return The provider that authenticated this user
*/
@property (nonatomic, readonly) NSString *provider;
/**
* @return The token that was used to authenticate this user with Firebase
*/
@property (nonatomic, strong, readonly) NSString *token;
/**
* @return Provider data keyed by provider. Includes cached data from third-party providers
*/
@property (nonatomic, strong, readonly) NSDictionary *providerData;
@end

41
Frameworks/Firebase.framework/Headers/FAuthType.h

@ -0,0 +1,41 @@
//
// FAuthType.h
// Firebase
//
// Created by Katherine Fang on 7/30/14.
//
// All public-facing auth enums.
//
#ifndef Firebase_FAuthenticationTypes_h
#define Firebase_FAuthenticationTypes_h
typedef NS_ENUM(NSInteger, FAuthenticationError) {
// Developer / Config Errors
FAuthenticationErrorProviderDisabled = -1,
FAuthenticationErrorInvalidConfiguration = -2,
FAuthenticationErrorInvalidOrigin = -3,
FAuthenticationErrorInvalidProvider = -4,
// User Errors (Email / Password)
FAuthenticationErrorInvalidEmail = -5,
FAuthenticationErrorInvalidPassword = -6,
FAuthenticationErrorInvalidToken = -7,
FAuthenticationErrorUserDoesNotExist = -8,
FAuthenticationErrorEmailTaken = -9,
// User Errors (Facebook / Twitter / Github / Google)
FAuthenticationErrorDeniedByUser = -10,
FAuthenticationErrorInvalidCredentials = -11,
FAuthenticationErrorInvalidArguments = -12,
FAuthenticationErrorProviderError = -13,
FAuthenticationErrorLimitsExceeded = -14,
// Client side errors
FAuthenticationErrorNetworkError = -15,
FAuthenticationErrorPreempted = -16,
FAuthenticationErrorUnknown = -9999
};
#endif

69
Frameworks/Firebase.framework/Headers/FConfig.h

@ -0,0 +1,69 @@
/*
* Firebase iOS Client Library
*
* Copyright © 2015 Firebase - All Rights Reserved
* https://www.firebase.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binaryform 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.
*
* THIS SOFTWARE IS PROVIDED BY FIREBASE 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 FIREBASE 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/Foundation.h>
/**
* Configuration object for Firebase. You can get the default FConfig object via
* `[Firebase defaultConfig]` and modify it. You must make all changes to it before
* you create your first Firebase instance.
*/
@interface FConfig : NSObject
/**
* By default the Firebase client will keep data in memory while your application is running, but not
* when it is restarted. By setting this value to YES, the data will be persisted to on-device (disk)
* storage and will thus be available again when the app is restarted (even when there is no network
* connectivity at that time). Note that this property must be set before creating your first Firebase
* reference and only needs to be called once per application.
*
* If your app uses Firebase Authentication, the client will automatically persist the user's authentication
* token across restarts, even without persistence enabled. But if the auth token expired while offline and
* you've enabled persistence, the client will pause write operations until you successfully re-authenticate
* (or explicitly unauthenticate) to prevent your writes from being sent unauthenticated and failing due to
* security rules.
*/
@property (nonatomic) BOOL persistenceEnabled;
/**
* By default Firebase will use up to 10MB of disk space to cache data. If the cache grows beyond this size,
* Firebase will start removing data that hasn't been recently used. If you find that your application caches too
* little or too much data, call this method to change the cache size. This property must be set before creating
* your first Firebase reference and only needs to be called once per application.
*
* Note that the specified cache size is only an approximation and the size on disk may temporarily exceed it
* at times.
*/
@property (nonatomic) NSUInteger persistenceCacheSizeBytes;
/**
* Sets the dispatch queue on which all events are raised. The default queue is the main queue.
*/
@property (nonatomic, strong) dispatch_queue_t callbackQueue;
@end

154
Frameworks/Firebase.framework/Headers/FDataSnapshot.h

@ -0,0 +1,154 @@
/*
* Firebase iOS Client Library
*
* Copyright © 2013 Firebase - All Rights Reserved
* https://www.firebase.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binaryform 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.
*
* THIS SOFTWARE IS PROVIDED BY FIREBASE 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 FIREBASE 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/Foundation.h>
@class Firebase;
/**
* An FDataSnapshot contains data from a Firebase location. Any time you read
* Firebase data, you receive the data as an FDataSnapshot.
*
* FDataSnapshots are passed to the blocks you attach with observeEventType:withBlock: or observeSingleEvent:withBlock:.
* They are efficiently-generated immutable copies of the data at a Firebase location.
* They can't be modified and will never change. To modify data at a location,
* use a Firebase reference (e.g. with setValue:).
*/
@interface FDataSnapshot : NSObject
/** @name Navigating and inspecting a snapshot */
/**
* Get an FDataSnapshot for the location at the specified relative path.
* The relative path can either be a simple child key (e.g. 'fred')
* or a deeper slash-separated path (e.g. 'fred/name/first'). If the child
* location has no data, an empty FDataSnapshot is returned.
*
* @param childPathString A relative path to the location of child data.
* @return The FDataSnapshot for the child location.
*/
- (FDataSnapshot *) childSnapshotForPath:(NSString *)childPathString;
/**
* Return YES if the specified child exists.
*
* @param childPathString A relative path to the location of a potential child.
* @return YES if data exists at the specified childPathString, else false.
*/
- (BOOL) hasChild:(NSString *)childPathString;
/**
* Return YES if the DataSnapshot has any children.
*
* @return YES if this snapshot has any children, else NO.
*/
- (BOOL) hasChildren;
/**
* Return YES if the DataSnapshot contains a non-null value.
*
* @return YES if this snapshot contains a non-null value, otherwise NO.
*/
- (BOOL) exists;
/** @name Data export */
/**
* Returns the raw value at this location, coupled with any metadata, such as priority.
*
* Priorities, where they exist, are accessible under the ".priority" key in instances of NSDictionary.
* For leaf locations with priorities, the value will be under the ".value" key.
*/
- (id) valueInExportFormat;
/** @name Properties */
/**
* Returns the contents of this data snapshot as native types.
*
* Data types returned:
* * NSDictionary
* * NSArray
* * NSNumber (also includes booleans)
* * NSString
*
* @return The data as a native object.
*/
@property (strong, readonly, nonatomic) id value;
/**
* Get the number of children for this DataSnapshot.
*
* @return An integer indicating the number of children.
*/
@property (readonly, nonatomic) NSUInteger childrenCount;
/**
* Get a Firebase reference for the location that this data came from
*
* @return A Firebase instance for the location of this data
*/
@property (nonatomic, readonly, strong) Firebase* ref;
/**
* The key of the location that generated this FDataSnapshot.
*
* @return An NSString containing the key for the location of this FDataSnapshot.
*/
@property (strong, readonly, nonatomic) NSString* key;
/**
* An iterator for snapshots of the child nodes in this snapshot.
* You can use the native for..in syntax:
*
* for (FDataSnapshot* child in snapshot.children) {
* ...
* }
*
* @return An NSEnumerator of the children
*/
@property (strong, readonly, nonatomic) NSEnumerator* children;
/**
* The priority of the data in this FDataSnapshot.
*
* @return The priority as a string, or nil if no priority was set.
*/
@property (strong, readonly, nonatomic) id priority;
@end

43
Frameworks/Firebase.framework/Headers/FEventType.h

@ -0,0 +1,43 @@
/*
* Firebase iOS Client Library
*
* Copyright © 2013 Firebase - All Rights Reserved
* https://www.firebase.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binaryform 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.
*
* THIS SOFTWARE IS PROVIDED BY FIREBASE 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 FIREBASE 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.
*/
#ifndef Firebase_FEventType_h
#define Firebase_FEventType_h
/**
* This enum is the set of events that you can observe at a Firebase location.
*/
typedef NS_ENUM(NSInteger, FEventType) {
FEventTypeChildAdded, // 0, fired when a new child node is added to a location
FEventTypeChildRemoved, // 1, fired when a child node is removed from a location
FEventTypeChildChanged, // 2, fired when a child node at a location changes
FEventTypeChildMoved, // 3, fired when a child node moves relative to the other child nodes at a location
FEventTypeValue // 4, fired when any data changes at a location and, recursively, any children
};
#endif

143
Frameworks/Firebase.framework/Headers/FMutableData.h

@ -0,0 +1,143 @@
/*
* Firebase iOS Client Library
*
* Copyright © 2013 Firebase - All Rights Reserved
* https://www.firebase.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binaryform 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.
*
* THIS SOFTWARE IS PROVIDED BY FIREBASE 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 FIREBASE 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/Foundation.h>
/**
* An FMutableData instance is populated with data from a Firebase location.
* When you are using runTransactionBlock:, you will be given an instance containing the current
* data at that location. Your block will be responsible for updating that instance to the data
* you wish to save at that location, and then returning using [FTransactionResult successWithValue:].
*
* To modify the data, set its value property to any of the native types support by Firebase:
* * NSNumber (includes BOOL)
* * NSDictionary
* * NSArray
* * NSString
* * nil / NSNull to remove the data
*
* Note that changes made to a child FMutableData instance will be visible to the parent.
*/
@interface FMutableData : NSObject
/** @name Inspecting and navigating the data */
/**
* Returns boolean indicating whether this mutable data has children.
*
* @return YES if this data contains child nodes.
*/
- (BOOL) hasChildren;
/**
* Indicates whether this mutable data has a child at the given path.
*
* @param path A path string, consisting either of a single segment, like 'child', or multiple segments, 'a/deeper/child'
* @return YES if this data contains a child at the specified relative path
*/
- (BOOL) hasChildAtPath:(NSString *)path;
/**
* Used to obtain an FMutableData instance that encapsulates the data at the given relative path.
* Note that changes made to the child will be visible to the parent.
*
* @param path A path string, consisting either of a single segment, like 'child', or multiple segments, 'a/deeper/child'
* @return An FMutableData instance containing the data at the given path
*/
- (FMutableData *) childDataByAppendingPath:(NSString *)path;
/** @name Properties */
/**
* This method is deprecated.
*
* @return An FMutableData instance containing the data at the parent location, or nil if this is the top-most location
*/
@property (strong, readonly, nonatomic) FMutableData* parent __attribute__((deprecated("Deprecated. Do not use.")));;
/**
* To modify the data contained by this instance of FMutableData, set this to any of the native types support by Firebase:
*
* * NSNumber (includes BOOL)
* * NSDictionary
* * NSArray
* * NSString
* * nil / NSNull to remove the data
*
* Note that setting the value will override the priority at this location.
*
* @return The current data at this location as a native object
*/
@property (strong, nonatomic) id value;
/**
* Set this property to update the priority of the data at this location. Can be set to the following types:
*
* * NSNumber
* * NSString
* * nil / NSNull to remove the priority
*
* @return The priority of the data at this location
*/
@property (strong, nonatomic) id priority;
/**
* @return The number of child nodes at this location
*/
@property (readonly, nonatomic) NSUInteger childrenCount;
/**
* Used to iterate over the children at this location. You can use the native for .. in syntax:
*
* for (FMutableData* child in data.children) {
* ...
* }
*
* Note that this enumerator operates on an immutable copy of the child list. So, you can modify the instance
* during iteration, but the new additions will not be visible until you get a new enumerator.
*/
@property (readonly, nonatomic, strong) NSEnumerator* children;
/**
* @return The key name of this node, or nil if it is the top-most location
*/
@property (readonly, nonatomic, strong) NSString* key;
@end

412
Frameworks/Firebase.framework/Headers/FQuery.h

@ -0,0 +1,412 @@
/*
* Firebase iOS Client Library
*
* Copyright © 2013 Firebase - All Rights Reserved
* https://www.firebase.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binaryform 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.
*
* THIS SOFTWARE IS PROVIDED BY FIREBASE 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 FIREBASE 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/Foundation.h>
#import "FEventType.h"
#import "FDataSnapshot.h"
typedef NSUInteger FirebaseHandle;
/**
* An FQuery instance represents a query over the data at a particular location.
*
* You create one by calling one of the query methods (queryStartingAtPriority:, queryEndingAtPriority:, etc.)
* on a Firebase reference. The query methods can be chained to further specify the data you are interested in
* observing
*/
@interface FQuery : NSObject
/** @name Attaching observers to read data */
/**
* observeEventType:withBlock: is used to listen for data changes at a particular location.
* This is the primary way to read data from Firebase. Your block will be triggered
* for the initial data and again whenever the data changes.
*
* Use removeObserverWithHandle: to stop receiving updates.
* @param eventType The type of event to listen for.
* @param block The block that should be called with initial data and updates. It is passed the data as an FDataSnapshot.
* @return A handle used to unregister this block later using removeObserverWithHandle:
*/
- (FirebaseHandle) observeEventType:(FEventType)eventType withBlock:(void (^)(FDataSnapshot* snapshot))block;
/**
* observeEventType:andPreviousSiblingKeyWithBlock: is used to listen for data changes at a particular location.
* This is the primary way to read data from Firebase. Your block will be triggered
* for the initial data and again whenever the data changes. In addition, for FEventTypeChildAdded, FEventTypeChildMoved, and
* FEventTypeChildChanged events, your block will be passed the key of the previous node by priority order.
*
* Use removeObserverWithHandle: to stop receiving updates.
*
* @param eventType The type of event to listen for.
* @param block The block that should be called with initial data and updates. It is passed the data as an FDataSnapshot
* and the previous child's key.
* @return A handle used to unregister this block later using removeObserverWithHandle:
*/
- (FirebaseHandle) observeEventType:(FEventType)eventType andPreviousSiblingKeyWithBlock:(void (^)(FDataSnapshot* snapshot, NSString* prevKey))block;
/**
* observeEventType:withBlock: is used to listen for data changes at a particular location.
* This is the primary way to read data from Firebase. Your block will be triggered
* for the initial data and again whenever the data changes.
*
* The cancelBlock will be called if you will no longer receive new events due to no longer having permission.
*
* Use removeObserverWithHandle: to stop receiving updates.
*
* @param eventType The type of event to listen for.
* @param block The block that should be called with initial data and updates. It is passed the data as an FDataSnapshot.
* @param cancelBlock The block that should be called if this client no longer has permission to receive these events
* @return A handle used to unregister this block later using removeObserverWithHandle:
*/
- (FirebaseHandle) observeEventType:(FEventType)eventType withBlock:(void (^)(FDataSnapshot* snapshot))block withCancelBlock:(void (^)(NSError* error))cancelBlock;
/**
* observeEventType:andPreviousSiblingKeyWithBlock: is used to listen for data changes at a particular location.
* This is the primary way to read data from Firebase. Your block will be triggered
* for the initial data and again whenever the data changes. In addition, for FEventTypeChildAdded, FEventTypeChildMoved, and
* FEventTypeChildChanged events, your block will be passed the key of the previous node by priority order.
*
* The cancelBlock will be called if you will no longer receive new events due to no longer having permission.
*
* Use removeObserverWithHandle: to stop receiving updates.
*
* @param eventType The type of event to listen for.
* @param block The block that should be called with initial data and updates. It is passed the data as an FDataSnapshot
* and the previous child's key.
* @param cancelBlock The block that should be called if this client no longer has permission to receive these events
* @return A handle used to unregister this block later using removeObserverWithHandle:
*/
- (FirebaseHandle) observeEventType:(FEventType)eventType andPreviousSiblingKeyWithBlock:(void (^)(FDataSnapshot* snapshot, NSString* prevKey))block withCancelBlock:(void (^)(NSError* error))cancelBlock;
/**
* This is equivalent to observeEventType:withBlock:, except the block is immediately canceled after the initial data is returned.
*
* @param eventType The type of event to listen for.
* @param block The block that should be called. It is passed the data as an FDataSnapshot.
*/
- (void) observeSingleEventOfType:(FEventType)eventType withBlock:(void (^)(FDataSnapshot* snapshot))block;
/**
* This is equivalent to observeEventType:withBlock:, except the block is immediately canceled after the initial data is returned. In addition, for FEventTypeChildAdded, FEventTypeChildMoved, and
* FEventTypeChildChanged events, your block will be passed the key of the previous node by priority order.
*
* @param eventType The type of event to listen for.
* @param block The block that should be called. It is passed the data as an FDataSnapshot and the previous child's key.
*/
- (void) observeSingleEventOfType:(FEventType)eventType andPreviousSiblingKeyWithBlock:(void (^)(FDataSnapshot* snapshot, NSString* prevKey))block;
/**
* This is equivalent to observeEventType:withBlock:, except the block is immediately canceled after the initial data is returned.
*
* The cancelBlock will be called if you do not have permission to read data at this location.
*
* @param eventType The type of event to listen for.
* @param block The block that should be called. It is passed the data as an FDataSnapshot.
* @param cancelBlock The block that will be called if you don't have permission to access this data
*/
- (void) observeSingleEventOfType:(FEventType)eventType withBlock:(void (^)(FDataSnapshot* snapshot))block withCancelBlock:(void (^)(NSError* error))cancelBlock;
/**
* This is equivalent to observeEventType:withBlock:, except the block is immediately canceled after the initial data is returned. In addition, for FEventTypeChildAdded, FEventTypeChildMoved, and
* FEventTypeChildChanged events, your block will be passed the key of the previous node by priority order.
*
* The cancelBlock will be called if you do not have permission to read data at this location.
*
* @param eventType The type of event to listen for.
* @param block The block that should be called. It is passed the data as an FDataSnapshot and the previous child's key.
* @param cancelBlock The block that will be called if you don't have permission to access this data
*/
- (void) observeSingleEventOfType:(FEventType)eventType andPreviousSiblingKeyWithBlock:(void (^)(FDataSnapshot* snapshot, NSString* prevKey))block withCancelBlock:(void (^)(NSError* error))cancelBlock;
/** @name Detaching observers */
/**
* Detach a block previously attached with observeEventType:withBlock:.
*
* @param handle The handle returned by the call to observeEventType:withBlock: which we are trying to remove.
*/
- (void) removeObserverWithHandle:(FirebaseHandle)handle;
/**
* Detach all blocks previously attached to this Firebase location with observeEventType:withBlock:
*/
- (void) removeAllObservers;
/**
* By calling `keepSynced:YES` on a location, the data for that location will automatically be downloaded and
* kept in sync, even when no listeners are attached for that location. Additionally, while a location is kept
* synced, it will not be evicted from the persistent disk cache.
*
* @param keepSynced Pass YES to keep this location synchronized, pass NO to stop synchronization.
*/
- (void) keepSynced:(BOOL)keepSynced;
/** @name Querying and limiting */
/**
* This method is deprecated in favor of using queryStartingAtValue:. This can be used with queryOrderedByPriority
* to query by priority.
*
* queryStartingAtPriority: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryStartingAtPriority: will respond to events at nodes with a priority
* greater than or equal to startPriority
*
* @param startPriority The lower bound, inclusive, for the priority of data visible to the returned FQuery
* @return An FQuery instance, limited to data with priority greater than or equal to startPriority
*/
- (FQuery *) queryStartingAtPriority:(id)startPriority __attribute__((deprecated("Use [[FQuery queryOrderedByPriority] queryStartingAtValue:] instead")));
/**
* This method is deprecated in favor of using queryStartingAtValue:childKey:. This can be used with queryOrderedByPriority
* to query by priority.
*
* queryStartingAtPriority:andChildName: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryStartingAtPriority:andChildName will respond to events at nodes with a priority
* greater than startPriority, or equal to startPriority and with a name greater than or equal to childName
*
* @param startPriority The lower bound, inclusive, for the priority of data visible to the returned FQuery
* @param childName The lower bound, inclusive, for the name of nodes with priority equal to startPriority
* @return An FQuery instance, limited to data with priority greater than or equal to startPriority
*/
- (FQuery *) queryStartingAtPriority:(id)startPriority andChildName:(NSString *)childName __attribute__((deprecated("Use [[FQuery queryOrderedByPriority] queryStartingAtValue:childKey:] instead")));
/**
* This method is deprecated in favor of using queryEndingAtValue:. This can be used with queryOrderedByPriority
* to query by priority.
*
* queryEndingAtPriority: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryEndingAtPriority: will respond to events at nodes with a priority
* less than or equal to startPriority and with a name greater than or equal to childName
*
* @param endPriority The upper bound, inclusive, for the priority of data visible to the returned FQuery
* @return An FQuery instance, limited to data with priority less than or equal to endPriority
*/
- (FQuery *) queryEndingAtPriority:(id)endPriority __attribute__((deprecated("Use [[FQuery queryOrderedByPriority] queryEndingAtValue:] instead")));
/**
* This method is deprecated in favor of using queryEndingAtValue:childKey:. This can be used with queryOrderedByPriority
* to query by priority.
*
* queryEndingAtPriority:andChildName: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryEndingAtPriority:andChildName will respond to events at nodes with a priority
* less than endPriority, or equal to endPriority and with a name less than or equal to childName
*
* @param endPriority The upper bound, inclusive, for the priority of data visible to the returned FQuery
* @param childName The upper bound, inclusive, for the name of nodes with priority equal to endPriority
* @return An FQuery instance, limited to data with priority less than endPriority or equal to endPriority and with a name less than or equal to childName
*/
- (FQuery *) queryEndingAtPriority:(id)endPriority andChildName:(NSString *)childName __attribute__((deprecated("Use [[FQuery queryOrderedByPriority] queryEndingAtValue:childKey:] instead")));
/**
* This method is deprecated in favor of using queryEqualToValue:. This can be used with queryOrderedByPriority
* to query by priority.
*
* queryEqualToPriority: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryEqualToPriority: will respond to events at nodes with a priority equal to
* supplied argument.
*
* @param priority The priority that the data returned by this FQuery will have
* @return An Fquery instance, limited to data with the supplied priority.
*/
- (FQuery *) queryEqualToPriority:(id)priority __attribute__((deprecated("Use [[FQuery queryOrderedByPriority] queryEqualToValue:] instead")));
/**
* This method is deprecated in favor of using queryEqualAtValue:childKey:. This can be used with queryOrderedByPriority
* to query by priority.
*
* queryEqualToPriority:andChildName: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryEqualToPriority:andChildName will respond to events at nodes with a priority
* equal to the supplied argument with a name equal to childName. There will be at most one node that matches because
* child names are unique.
*
* @param priority The priority that the data returned by this FQuery will have
* @param childName The name of nodes with the right priority
* @return An FQuery instance, limited to data with the supplied priority and the name.
*/
- (FQuery *) queryEqualToPriority:(id)priority andChildName:(NSString *)childName __attribute__((deprecated("Use [[FQuery queryOrderedByPriority] queryEqualToValue:childKey:] instead")));
/**
* This method is deprecated in favor of using queryLimitedToFirst:limit or queryLimitedToLast:limit instead.
*
* queryLimitedToNumberOfChildren: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryLimitedToNumberOfChildren: will respond to events from at most limit child nodes.
*
* @param limit The upper bound, inclusive, for the number of child nodes to receive events for
* @return An FQuery instance, limited to at most limit child nodes.
*/
- (FQuery *) queryLimitedToNumberOfChildren:(NSUInteger)limit __attribute__((deprecated("Use [FQuery queryLimitedToFirst:limit] or [FQuery queryLimitedToLast:limit] instead")));
/**
* queryLimitedToFirst: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryLimitedToFirst: will respond to at most the first limit child nodes.
*
* @param limit The upper bound, inclusive, for the number of child nodes to receive events for
* @return An FQuery instance, limited to at most limit child nodes.
*/
- (FQuery *) queryLimitedToFirst:(NSUInteger)limit;
/**
* queryLimitedToLast: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryLimitedToLast: will respond to at most the last limit child nodes.
*
* @param limit The upper bound, inclusive, for the number of child nodes to receive events for
* @return An FQuery instance, limited to at most limit child nodes.
*/
- (FQuery *) queryLimitedToLast:(NSUInteger)limit;
/**
* queryOrderBy: is used to generate a reference to a view of the data that's been sorted by the values of
* a particular child key. This method is intended to be used in combination with queryStartingAtValue:,
* queryEndingAtValue:, or queryEqualToValue:.
*
* @param key The child key to use in ordering data visible to the returned FQuery
* @return An FQuery instance, ordered by the values of the specified child key.
*/
- (FQuery *) queryOrderedByChild:(NSString *)key;
/**
* queryOrderedByKey: is used to generate a reference to a view of the data that's been sorted by child key.
* This method is intended to be used in combination with queryStartingAtValue:, queryEndingAtValue:,
* or queryEqualToValue:.
*
* @return An FQuery instance, ordered by child keys.
*/
- (FQuery *) queryOrderedByKey;
/**
* queryOrderedByValue: is used to generate a reference to a view of the data that's been sorted by child value.
* This method is intended to be used in combination with queryStartingAtValue:, queryEndingAtValue:,
* or queryEqualToValue:.
*
* @return An FQuery instance, ordered by child value.
*/
- (FQuery *) queryOrderedByValue;
/**
* queryOrderedByPriority: is used to generate a reference to a view of the data that's been sorted by child
* priority. This method is intended to be used in combination with queryStartingAtValue:, queryEndingAtValue:,
* or queryEqualToValue:.
*
* @return An FQuery instance, ordered by child priorities.
*/
- (FQuery *) queryOrderedByPriority;
/**
* queryStartingAtValue: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryStartingAtValue: will respond to events at nodes with a value
* greater than or equal to startValue.
*
* @param startValue The lower bound, inclusive, for the value of data visible to the returned FQuery
* @return An FQuery instance, limited to data with value greater than or equal to startValue
*/
- (FQuery *) queryStartingAtValue:(id)startValue;
/**
* queryStartingAtValue:childKey: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryStartingAtValue:childKey will respond to events at nodes with a value
* greater than startValue, or equal to startValue and with a key greater than or equal to childKey.
*
* @param startValue The lower bound, inclusive, for the value of data visible to the returned FQuery
* @param childKey The lower bound, inclusive, for the key of nodes with value equal to startValue
* @return An FQuery instance, limited to data with value greater than or equal to startValue
*/
- (FQuery *) queryStartingAtValue:(id)startValue childKey:(NSString *)childKey;
/**
* queryEndingAtValue: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryEndingAtValue: will respond to events at nodes with a value
* less than or equal to endValue.
*
* @param endValue The upper bound, inclusive, for the value of data visible to the returned FQuery
* @return An FQuery instance, limited to data with value less than or equal to endValue
*/
- (FQuery *) queryEndingAtValue:(id)endValue;
/**
* queryEndingAtValue:childKey: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryEndingAtValue:childKey will respond to events at nodes with a value
* less than endValue, or equal to endValue and with a key less than or equal to childKey.
*
* @param endValue The upper bound, inclusive, for the value of data visible to the returned FQuery
* @param childKey The upper bound, inclusive, for the key of nodes with value equal to endValue
* @return An FQuery instance, limited to data with value less than or equal to endValue
*/
- (FQuery *) queryEndingAtValue:(id)endValue childKey:(NSString *)childKey;
/**
* queryEqualToValue: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryEqualToValue: will respond to events at nodes with a value equal
* to the supplied argument.
*
* @param value The value that the data returned by this FQuery will have
* @return An Fquery instance, limited to data with the supplied value.
*/
- (FQuery *) queryEqualToValue:(id)value;
/**
* queryEqualToValue:childKey: is used to generate a reference to a limited view of the data at this location.
* The FQuery instance returned by queryEqualToValue:childKey will respond to events at nodes with a value
* equal to the supplied argument with a name equal to childKey. There will be at most one node that matches because
* child keys are unique.
*
* @param value The value that the data returned by this FQuery will have
* @param childKey The name of nodes with the right value
* @return An FQuery instance, limited to data with the supplied value and the key.
*/
- (FQuery *) queryEqualToValue:(id)value childKey:(NSString *)childKey;
/** @name Properties */
/**
* Get a Firebase reference for the location of this query.
*
* @return A Firebase instance for the location of this query.
*/
@property (nonatomic, readonly, strong) Firebase* ref;
@end

53
Frameworks/Firebase.framework/Headers/FTransactionResult.h

@ -0,0 +1,53 @@
/*
* Firebase iOS Client Library
*
* Copyright © 2013 Firebase - All Rights Reserved
* https://www.firebase.com
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binaryform 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.
*
* THIS SOFTWARE IS PROVIDED BY FIREBASE 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 FIREBASE 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/Foundation.h>
#import "FMutableData.h"
/**
* Used for runTransactionBlock:. An FTransactionResult instance is a container for the results of the transaction.
*/
@interface FTransactionResult : NSObject
/**
* Used for runTransactionBlock:. Indicates that the new value should be saved at this location
*
* @param value An FMutableData instance containing the new value to be set
* @return An FTransactionResult instance that can be used as a return value from the block given to runTransactionBlock:
*/
+ (FTransactionResult *) successWithValue:(FMutableData *)value;
/**
* Used for runTransactionBlock:. Indicates that the current transaction should no longer proceed.
*
* @return An FTransactionResult instance that can be used as a return value from the block given to runTransactionBlock:
*/
+ (FTransactionResult *) abort;
@end

1055
Frameworks/Firebase.framework/Headers/Firebase.h

File diff suppressed because it is too large Load Diff

34
Frameworks/Firebase.framework/Headers/FirebaseApp.h

@ -0,0 +1,34 @@
#import <Foundation/Foundation.h>
/**
* All Firebase references to the same database share a connection, persistent cache, etc. FirebaseApp
* represents this shared state and can be accessed from any reference via its `app` property.
* It has methods for managing your Firebase connection, etc.
*
* There is a one-to-one relationship between a FirebaseApp instance and a connection to Firebase.
*/
@interface FirebaseApp : NSObject
/**
* The Firebase client automatically queues writes and sends them to the server at the earliest opportunity,
* depending on network connectivity. In some cases (e.g. offline usage) there may be a large number of writes
* waiting to be sent. Calling this method will purge all outstanding writes so they are abandoned.
*
* All writes will be purged, including transactions and {@link Firebase#onDisconnect} writes. The writes will
* be rolled back locally, perhaps triggering events for affected event listeners, and the client will not
* (re-)send them to the Firebase backend.
*/
- (void)purgeOutstandingWrites;
/**
* Shuts down our connection to the Firebase backend until goOnline is called.
*/
- (void)goOffline;
/**
* Resumes our connection to the Firebase backend after a previous goOffline call.
*/
- (void)goOnline;
@end

5
Frameworks/Firebase.framework/Headers/FirebaseServerValue.h

@ -0,0 +1,5 @@
@interface FirebaseServerValue : NSObject
+ (NSDictionary *) timestamp;
@end

BIN
Frameworks/Firebase.framework/Info.plist

Binary file not shown.

6
Frameworks/Firebase.framework/Modules/module.modulemap

@ -0,0 +1,6 @@
framework module Firebase {
umbrella header "Firebase.h"
export *
module * { export * }
}

47
Frameworks/Firebase.framework/NOTICE

@ -0,0 +1,47 @@
Google LevelDB
Copyright (c) 2011 The LevelDB Authors. 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 Google Inc. 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 OWNER 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.
--
Square Socket Rocket
Copyright 2012 Square Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
--
APLevelDB
Created by Adam Preble on 1/23/12.
Copyright (c) 2012 Adam Preble. 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.
Loading…
Cancel
Save