diff --git a/.gitmodules b/.gitmodules index bccf3f8b..9681f30f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,6 @@ [submodule "External/RHStatusItemView"] path = External/RHStatusItemView url = git://github.com/lhunath/RHStatusItemView.git +[submodule "External/DCIntrospect"] + path = External/DCIntrospect + url = https://github.com/domesticcatsoftware/DCIntrospect.git diff --git a/External/Crashlytics.framework/run b/External/Crashlytics.framework/run old mode 100755 new mode 100644 diff --git a/External/DCIntrospect b/External/DCIntrospect new file mode 160000 index 00000000..9555122e --- /dev/null +++ b/External/DCIntrospect @@ -0,0 +1 @@ +Subproject commit 9555122e94e0f61375e5b375b906b81d6d5b1e6e diff --git a/External/GoogleOpenSource.framework b/External/GoogleOpenSource.framework new file mode 120000 index 00000000..c8c85aaa --- /dev/null +++ b/External/GoogleOpenSource.framework @@ -0,0 +1 @@ +google-plus-ios-sdk/GoogleOpenSource.framework \ No newline at end of file diff --git a/External/GooglePlus.framework b/External/GooglePlus.framework new file mode 120000 index 00000000..42537e6f --- /dev/null +++ b/External/GooglePlus.framework @@ -0,0 +1 @@ +google-plus-ios-sdk/GooglePlus.framework \ No newline at end of file diff --git a/External/Localytics/LICENSE b/External/Localytics/LICENSE old mode 100755 new mode 100644 diff --git a/External/Pearl b/External/Pearl index 836df986..0d5d7597 160000 --- a/External/Pearl +++ b/External/Pearl @@ -1 +1 @@ -Subproject commit 836df9864b37f3802d66c1f02a5609d9b4a8e10a +Subproject commit 0d5d75971a79b4ba8df6acf81eb07577d9612870 diff --git a/External/GoogleOpenSource.framework/Headers b/External/Reveal.framework/Headers similarity index 100% rename from External/GoogleOpenSource.framework/Headers rename to External/Reveal.framework/Headers diff --git a/External/Reveal.framework/Reveal b/External/Reveal.framework/Reveal new file mode 120000 index 00000000..a8953206 --- /dev/null +++ b/External/Reveal.framework/Reveal @@ -0,0 +1 @@ +Versions/Current/Reveal \ No newline at end of file diff --git a/External/Reveal.framework/Versions/A/Headers/IBARevealLoader.h b/External/Reveal.framework/Versions/A/Headers/IBARevealLoader.h new file mode 100644 index 00000000..fc8de7c5 --- /dev/null +++ b/External/Reveal.framework/Versions/A/Headers/IBARevealLoader.h @@ -0,0 +1,17 @@ +// +// Copyright (c) 2013 Itty Bitty Apps. All rights reserved. + +#import + +extern NSString * const IBARevealLoaderRequestStartNotification; +extern NSString * const IBARevealLoaderRequestStopNotification; + +extern NSString * const IBARevealLoaderSetOptionsNotification; +extern NSString * const IBARevealLoaderOptionsLogLevelMaskKey; + +@interface IBARevealLoader : NSObject + ++ (void)startServer; ++ (void)stopServer; + +@end diff --git a/External/Reveal.framework/Versions/A/Headers/IBARevealLogger.h b/External/Reveal.framework/Versions/A/Headers/IBARevealLogger.h new file mode 100644 index 00000000..92193c71 --- /dev/null +++ b/External/Reveal.framework/Versions/A/Headers/IBARevealLogger.h @@ -0,0 +1,57 @@ +// Copyright (c) 2013 Itty Bitty Apps Pty Ltd. All rights reserved. +// + +#import + +CF_EXTERN_C_BEGIN + +/*! + \brief The Reveal Log level bit flags. + \discussion These flags are addative. Ie, you should bitwise OR them together. + + \seealso IBARevealLoggerSetLevelMask + \seealso IBARevealLoggerGetLevelMask + + Example: + + // Enable Error, Warning and Info logger levels. + IBARevealLoggerSetLevelMask(IBARevealLogLevelError|IBARevealLogLevelWarn|IBARevealLogLevelInfo); + + */ +typedef NS_OPTIONS(int32_t, IBARevealLogLevel) +{ + IBARevealLogLevelNone = 0, + IBARevealLogLevelDebug = (1 << 0), + IBARevealLogLevelInfo = (1 << 1), + IBARevealLogLevelWarn = (1 << 2), + IBARevealLogLevelError = (1 << 3) +}; + +/*! + \brief Set the Reveal logger level mask. + \param mask A bit mask which is a combination of the IBARevealLogLevel enum options. + + \discussion If you do not wish to see log messages from Reveal you should call this function with an appropriate level mask as early in your application's lifecycle as possible. For example in your application's main() function. + + Example: + + // Enable Error, Warning and Info logger levels. + IBARevealLoggerSetLevelMask(IBARevealLogLevelError|IBARevealLogLevelWarn|IBARevealLogLevelInfo); + + */ +CF_EXPORT void IBARevealLoggerSetLevelMask(int32_t mask); + +/*! + \brief Get the current Reveal logger level mask. + \return A bit mask representing the levels at which Reveal is currently logging. + \discussion The default Reveal Logger level mask is IBARevealLogLevelError|IBARevealLogLevelWarn|IBARevealLogLevelInfo. + + Example: + + // Turn off the Info log level. + IBARevealLoggerSetLevelMask(IBARevealLoggerGetLevelMask() & ~IBARevealLogLevelInfo); + + */ +CF_EXPORT int32_t IBARevealLoggerGetLevelMask(void); + +CF_EXTERN_C_END diff --git a/External/Reveal.framework/Versions/A/Headers/Reveal.h b/External/Reveal.framework/Versions/A/Headers/Reveal.h new file mode 100644 index 00000000..5d03f6c7 --- /dev/null +++ b/External/Reveal.framework/Versions/A/Headers/Reveal.h @@ -0,0 +1,5 @@ +// Copyright (c) 2013 Itty Bitty Apps Pty Ltd. All rights reserved. +// + +#import "IBARevealLogger.h" +#import "IBARevealLoader.h" \ No newline at end of file diff --git a/External/Reveal.framework/Versions/A/Reveal b/External/Reveal.framework/Versions/A/Reveal new file mode 100644 index 00000000..0ae41f5e Binary files /dev/null and b/External/Reveal.framework/Versions/A/Reveal differ diff --git a/External/GoogleOpenSource.framework/Versions/Current b/External/Reveal.framework/Versions/Current similarity index 100% rename from External/GoogleOpenSource.framework/Versions/Current rename to External/Reveal.framework/Versions/Current diff --git a/External/GoogleOpenSource.framework/GoogleOpenSource b/External/google-plus-ios-sdk/GoogleOpenSource.framework/GoogleOpenSource similarity index 100% rename from External/GoogleOpenSource.framework/GoogleOpenSource rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/GoogleOpenSource diff --git a/External/GooglePlus.framework/Headers b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Headers similarity index 100% rename from External/GooglePlus.framework/Headers rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Headers diff --git a/External/GoogleOpenSource.framework/Versions/A/GoogleOpenSource b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/GoogleOpenSource similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/GoogleOpenSource rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/GoogleOpenSource diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLBase64.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLBase64.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLBase64.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLBase64.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLBatchQuery.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLBatchQuery.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLBatchQuery.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLBatchQuery.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLBatchResult.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLBatchResult.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLBatchResult.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLBatchResult.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLDateTime.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLDateTime.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLDateTime.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLDateTime.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLDefines.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLDefines.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLDefines.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLDefines.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLErrorObject.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLErrorObject.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLErrorObject.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLErrorObject.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLFramework.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLFramework.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLFramework.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLFramework.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLJSONParser.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLJSONParser.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLJSONParser.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLJSONParser.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLObject.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLObject.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLObject.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLObject.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlus.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlus.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlus.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlus.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusAcl.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusAcl.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusAcl.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusAcl.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusAclentryResource.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusAclentryResource.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusAclentryResource.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusAclentryResource.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusActivity.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusActivity.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusActivity.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusActivity.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusActivityFeed.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusActivityFeed.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusActivityFeed.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusActivityFeed.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusComment.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusComment.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusComment.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusComment.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusCommentFeed.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusCommentFeed.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusCommentFeed.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusCommentFeed.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusConstants.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusConstants.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusConstants.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusConstants.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusItemScope.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusItemScope.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusItemScope.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusItemScope.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusMoment.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusMoment.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusMoment.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusMoment.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusMomentsFeed.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusMomentsFeed.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusMomentsFeed.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusMomentsFeed.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusPeopleFeed.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusPeopleFeed.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusPeopleFeed.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusPeopleFeed.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusPerson.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusPerson.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusPerson.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLPlusPerson.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLQuery.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLQuery.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLQuery.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLQuery.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLQueryPlus.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLQueryPlus.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLQueryPlus.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLQueryPlus.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLRuntimeCommon.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLRuntimeCommon.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLRuntimeCommon.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLRuntimeCommon.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLService.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLService.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLService.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLService.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLServicePlus.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLServicePlus.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLServicePlus.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLServicePlus.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLTargetNamespace.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLTargetNamespace.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLTargetNamespace.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLTargetNamespace.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLUploadParameters.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLUploadParameters.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLUploadParameters.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLUploadParameters.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTLUtilities.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLUtilities.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTLUtilities.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTLUtilities.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMDefines.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMDefines.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMDefines.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMDefines.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMGarbageCollection.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMGarbageCollection.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMGarbageCollection.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMGarbageCollection.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetchHistory.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetchHistory.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetchHistory.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetchHistory.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetcher.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetcher.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetcher.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetcher.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetcherService.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetcherService.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetcherService.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMHTTPFetcherService.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMLogger.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMLogger.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMLogger.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMLogger.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMMethodCheck.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMMethodCheck.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMMethodCheck.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMMethodCheck.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMNSDictionary+URLArguments.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMNSDictionary+URLArguments.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMNSDictionary+URLArguments.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMNSDictionary+URLArguments.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMNSString+URLArguments.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMNSString+URLArguments.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMNSString+URLArguments.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMNSString+URLArguments.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2Authentication.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2Authentication.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2Authentication.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2Authentication.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2SignIn.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2SignIn.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2SignIn.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2SignIn.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2ViewControllerTouch.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2ViewControllerTouch.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2ViewControllerTouch.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMOAuth2ViewControllerTouch.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GTMObjC2Runtime.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMObjC2Runtime.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GTMObjC2Runtime.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GTMObjC2Runtime.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/GoogleOpenSource.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GoogleOpenSource.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/GoogleOpenSource.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/GoogleOpenSource.h diff --git a/External/GoogleOpenSource.framework/Versions/A/Headers/OpenInChromeController.h b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/OpenInChromeController.h similarity index 100% rename from External/GoogleOpenSource.framework/Versions/A/Headers/OpenInChromeController.h rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/A/Headers/OpenInChromeController.h diff --git a/External/GooglePlus.framework/Versions/Current b/External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/Current similarity index 100% rename from External/GooglePlus.framework/Versions/Current rename to External/google-plus-ios-sdk/GoogleOpenSource.framework/Versions/Current diff --git a/External/GooglePlus.framework/GooglePlus b/External/google-plus-ios-sdk/GooglePlus.framework/GooglePlus similarity index 100% rename from External/GooglePlus.framework/GooglePlus rename to External/google-plus-ios-sdk/GooglePlus.framework/GooglePlus diff --git a/External/google-plus-ios-sdk/GooglePlus.framework/Headers b/External/google-plus-ios-sdk/GooglePlus.framework/Headers new file mode 120000 index 00000000..a177d2a6 --- /dev/null +++ b/External/google-plus-ios-sdk/GooglePlus.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/External/GooglePlus.framework/Versions/A/GooglePlus b/External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/GooglePlus similarity index 100% rename from External/GooglePlus.framework/Versions/A/GooglePlus rename to External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/GooglePlus diff --git a/External/GooglePlus.framework/Versions/A/Headers/GPPDeepLink.h b/External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPDeepLink.h similarity index 100% rename from External/GooglePlus.framework/Versions/A/Headers/GPPDeepLink.h rename to External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPDeepLink.h diff --git a/External/GooglePlus.framework/Versions/A/Headers/GPPShare.h b/External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPShare.h similarity index 100% rename from External/GooglePlus.framework/Versions/A/Headers/GPPShare.h rename to External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPShare.h diff --git a/External/GooglePlus.framework/Versions/A/Headers/GPPSignIn.h b/External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPSignIn.h similarity index 100% rename from External/GooglePlus.framework/Versions/A/Headers/GPPSignIn.h rename to External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPSignIn.h diff --git a/External/GooglePlus.framework/Versions/A/Headers/GPPSignInButton.h b/External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPSignInButton.h similarity index 100% rename from External/GooglePlus.framework/Versions/A/Headers/GPPSignInButton.h rename to External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPSignInButton.h diff --git a/External/GooglePlus.framework/Versions/A/Headers/GPPURLHandler.h b/External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPURLHandler.h similarity index 100% rename from External/GooglePlus.framework/Versions/A/Headers/GPPURLHandler.h rename to External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GPPURLHandler.h diff --git a/External/GooglePlus.framework/Versions/A/Headers/GooglePlus.h b/External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GooglePlus.h similarity index 100% rename from External/GooglePlus.framework/Versions/A/Headers/GooglePlus.h rename to External/google-plus-ios-sdk/GooglePlus.framework/Versions/A/Headers/GooglePlus.h diff --git a/External/google-plus-ios-sdk/GooglePlus.framework/Versions/Current b/External/google-plus-ios-sdk/GooglePlus.framework/Versions/Current new file mode 120000 index 00000000..8c7e5a66 --- /dev/null +++ b/External/google-plus-ios-sdk/GooglePlus.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/External/google-plus-ios-sdk/OpenSource/GTMHTTPFetcherLogging.h b/External/google-plus-ios-sdk/OpenSource/GTMHTTPFetcherLogging.h deleted file mode 100644 index d1dacdf3..00000000 --- a/External/google-plus-ios-sdk/OpenSource/GTMHTTPFetcherLogging.h +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (c) 2010 Google 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. - */ - -#import "GTMHTTPFetcher.h" - -// GTM HTTP Logging -// -// All traffic using GTMHTTPFetcher can be easily logged. Call -// -// [GTMHTTPFetcher setLoggingEnabled:YES]; -// -// to begin generating log files. -// -// Log files are put into a folder on the desktop called "GTMHTTPDebugLogs" -// unless another directory is specified with +setLoggingDirectory. -// -// In the iPhone simulator, the default logs location is the user's home -// directory in ~/Library/Application Support. On the iPhone device, the -// default logs location is the application's documents directory on the device. -// -// Tip: use the Finder's "Sort By Date" to find the most recent logs. -// -// Each run of an application gets a separate set of log files. An html -// file is generated to simplify browsing the run's http transactions. -// The html file includes javascript links for inline viewing of uploaded -// and downloaded data. -// -// A symlink is created in the logs folder to simplify finding the html file -// for the latest run of the application; the symlink is called -// -// AppName_http_log_newest.html -// -// For better viewing of XML logs, use Camino or Firefox rather than Safari. -// -// Each fetcher may be given a comment to be inserted as a label in the logs, -// such as -// [fetcher setCommentWithFormat:@"retrieve item %@", itemName]; -// -// Projects may define STRIP_GTM_FETCH_LOGGING to remove logging code. - -#if !STRIP_GTM_FETCH_LOGGING - -@interface GTMHTTPFetcher (GTMHTTPFetcherLogging) - -// Note: the default logs directory is ~/Desktop/GTMHTTPDebugLogs; it will be -// created as needed. If a custom directory is set, the directory should -// already exist. -+ (void)setLoggingDirectory:(NSString *)path; -+ (NSString *)loggingDirectory; - -// client apps can turn logging on and off -+ (void)setLoggingEnabled:(BOOL)flag; -+ (BOOL)isLoggingEnabled; - -// client apps can turn off logging to a file if they want to only check -// the fetcher's log property -+ (void)setLoggingToFileEnabled:(BOOL)flag; -+ (BOOL)isLoggingToFileEnabled; - -// client apps can optionally specify process name and date string used in -// log file names -+ (void)setLoggingProcessName:(NSString *)str; -+ (NSString *)loggingProcessName; - -+ (void)setLoggingDateStamp:(NSString *)str; -+ (NSString *)loggingDateStamp; - -// internal; called by fetcher -- (void)logFetchWithError:(NSError *)error; -- (BOOL)logCapturePostStream; - -// Applications may provide alternative body strings to be displayed in the -// log, such as for binary requests or responses. If deferring is turned -// on, the response log will not be sent until deferring is turned off, -// allowing the application to write the response body after the response -// data has been parsed. -- (void)setLogRequestBody:(NSString *)bodyString; -- (NSString *)logRequestBody; -- (void)setLogResponseBody:(NSString *)bodyString; -- (NSString *)logResponseBody; -- (void)setShouldDeferResponseBodyLogging:(BOOL)flag; -- (BOOL)shouldDeferResponseBodyLogging; - -@end - -#endif // !STRIP_GTM_FETCH_LOGGING diff --git a/External/google-plus-ios-sdk/OpenSource/GTMHTTPFetcherLogging.m b/External/google-plus-ios-sdk/OpenSource/GTMHTTPFetcherLogging.m deleted file mode 100644 index d583c09d..00000000 --- a/External/google-plus-ios-sdk/OpenSource/GTMHTTPFetcherLogging.m +++ /dev/null @@ -1,1101 +0,0 @@ -/* Copyright (c) 2010 Google 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. - */ - -#if !STRIP_GTM_FETCH_LOGGING - -#include -#include - -#import "GTMHTTPFetcherLogging.h" - -// Sensitive credential strings are replaced in logs with _snip_ -// -// Apps that must see the contents of sensitive tokens can set this to 1 -#ifndef SKIP_GTM_FETCH_LOGGING_SNIPPING -#define SKIP_GTM_FETCH_LOGGING_SNIPPING 0 -#endif - -// If GTMReadMonitorInputStream is available, it can be used for -// capturing uploaded streams of data -// -// We locally declare methods of GTMReadMonitorInputStream so we -// do not need to import the header, as some projects may not have it available -@interface GTMReadMonitorInputStream : NSInputStream -+ (id)inputStreamWithStream:(NSInputStream *)input; -@property (assign) id readDelegate; -@property (assign) SEL readSelector; -@property (retain) NSArray *runLoopModes; -@end - -// If GTMNSJSONSerialization is available, it is used for formatting JSON -#if (TARGET_OS_MAC && !TARGET_OS_IPHONE && (MAC_OS_X_VERSION_MAX_ALLOWED < 1070)) || \ - (TARGET_OS_IPHONE && (__IPHONE_OS_VERSION_MAX_ALLOWED < 50000)) -@interface GTMNSJSONSerialization : NSObject -+ (NSData *)dataWithJSONObject:(id)obj options:(NSUInteger)opt error:(NSError **)error; -+ (id)JSONObjectWithData:(NSData *)data options:(NSUInteger)opt error:(NSError **)error; -@end -#endif - -// Otherwise, if SBJSON is available, it is used for formatting JSON -@interface GTMFetcherSBJSON -- (void)setHumanReadable:(BOOL)flag; -- (NSString*)stringWithObject:(id)value error:(NSError**)error; -- (id)objectWithString:(NSString*)jsonrep error:(NSError**)error; -@end - -@interface GTMHTTPFetcher (GTMHTTPFetcherLoggingUtilities) -+ (NSString *)headersStringForDictionary:(NSDictionary *)dict; - -- (void)inputStream:(GTMReadMonitorInputStream *)stream - readIntoBuffer:(void *)buffer - length:(NSUInteger)length; - -// internal file utilities for logging -+ (BOOL)fileOrDirExistsAtPath:(NSString *)path; -+ (BOOL)makeDirectoryUpToPath:(NSString *)path; -+ (BOOL)removeItemAtPath:(NSString *)path; -+ (BOOL)createSymbolicLinkAtPath:(NSString *)newPath - withDestinationPath:(NSString *)targetPath; - -+ (NSString *)snipSubstringOfString:(NSString *)originalStr - betweenStartString:(NSString *)startStr - endString:(NSString *)endStr; - -+ (id)JSONObjectWithData:(NSData *)data; -+ (id)stringWithJSONObject:(id)obj; -@end - -@implementation GTMHTTPFetcher (GTMHTTPFetcherLogging) - -// fetchers come and fetchers go, but statics are forever -static BOOL gIsLoggingEnabled = NO; -static BOOL gIsLoggingToFile = YES; -static NSString *gLoggingDirectoryPath = nil; -static NSString *gLoggingDateStamp = nil; -static NSString* gLoggingProcessName = nil; - -+ (void)setLoggingDirectory:(NSString *)path { - [gLoggingDirectoryPath autorelease]; - gLoggingDirectoryPath = [path copy]; -} - -+ (NSString *)loggingDirectory { - - if (!gLoggingDirectoryPath) { - NSArray *arr = nil; -#if GTM_IPHONE && TARGET_IPHONE_SIMULATOR - // default to a directory called GTMHTTPDebugLogs into a sandbox-safe - // directory that a developer can find easily, the application home - arr = [NSArray arrayWithObject:NSHomeDirectory()]; -#elif GTM_IPHONE - // Neither ~/Desktop nor ~/Home is writable on an actual iPhone device. - // Put it in ~/Documents. - arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, - NSUserDomainMask, YES); -#else - // default to a directory called GTMHTTPDebugLogs in the desktop folder - arr = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, - NSUserDomainMask, YES); -#endif - - if ([arr count] > 0) { - NSString *const kGTMLogFolderName = @"GTMHTTPDebugLogs"; - - NSString *desktopPath = [arr objectAtIndex:0]; - NSString *logsFolderPath = [desktopPath stringByAppendingPathComponent:kGTMLogFolderName]; - - BOOL doesFolderExist = [[self class] fileOrDirExistsAtPath:logsFolderPath]; - - if (!doesFolderExist) { - // make the directory - doesFolderExist = [self makeDirectoryUpToPath:logsFolderPath]; - } - - if (doesFolderExist) { - // it's there; store it in the global - gLoggingDirectoryPath = [logsFolderPath copy]; - } - } - } - return gLoggingDirectoryPath; -} - -+ (void)setLoggingEnabled:(BOOL)flag { - gIsLoggingEnabled = flag; -} - -+ (BOOL)isLoggingEnabled { - return gIsLoggingEnabled; -} - -+ (void)setLoggingToFileEnabled:(BOOL)flag { - gIsLoggingToFile = flag; -} - -+ (BOOL)isLoggingToFileEnabled { - return gIsLoggingToFile; -} - -+ (void)setLoggingProcessName:(NSString *)str { - [gLoggingProcessName release]; - gLoggingProcessName = [str copy]; -} - -+ (NSString *)loggingProcessName { - - // get the process name (once per run) replacing spaces with underscores - if (!gLoggingProcessName) { - - NSString *procName = [[NSProcessInfo processInfo] processName]; - NSMutableString *loggingProcessName; - loggingProcessName = [[NSMutableString alloc] initWithString:procName]; - - [loggingProcessName replaceOccurrencesOfString:@" " - withString:@"_" - options:0 - range:NSMakeRange(0, [gLoggingProcessName length])]; - gLoggingProcessName = loggingProcessName; - } - return gLoggingProcessName; -} - -+ (void)setLoggingDateStamp:(NSString *)str { - [gLoggingDateStamp release]; - gLoggingDateStamp = [str copy]; -} - -+ (NSString *)loggingDateStamp { - // we'll pick one date stamp per run, so a run that starts at a later second - // will get a unique results html file - if (!gLoggingDateStamp) { - // produce a string like 08-21_01-41-23PM - - NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; - [formatter setFormatterBehavior:NSDateFormatterBehavior10_4]; - [formatter setDateFormat:@"M-dd_hh-mm-ssa"]; - - gLoggingDateStamp = [[formatter stringFromDate:[NSDate date]] retain] ; - } - return gLoggingDateStamp; -} - -// formattedStringFromData returns a prettyprinted string for XML or JSON input, -// and a plain string for other input data -- (NSString *)formattedStringFromData:(NSData *)inputData - contentType:(NSString *)contentType - JSON:(NSDictionary **)outJSON { - if (inputData == nil) return nil; - - // if the content type is JSON and we have the parsing class available, - // use that - if ([contentType hasPrefix:@"application/json"] - && [inputData length] > 5) { - // convert from JSON string to NSObjects and back to a formatted string - NSMutableDictionary *obj = [[self class] JSONObjectWithData:inputData]; - if (obj) { - if (outJSON) *outJSON = obj; - if ([obj isKindOfClass:[NSMutableDictionary class]]) { - // for security and privacy, omit OAuth 2 response access and refresh - // tokens - if ([obj valueForKey:@"refresh_token"] != nil) { - [obj setObject:@"_snip_" forKey:@"refresh_token"]; - } - if ([obj valueForKey:@"access_token"] != nil) { - [obj setObject:@"_snip_" forKey:@"access_token"]; - } - } - NSString *formatted = [[self class] stringWithJSONObject:obj]; - if (formatted) return formatted; - } - } - -#if !GTM_FOUNDATION_ONLY && !GTM_SKIP_LOG_XMLFORMAT - // verify that this data starts with the bytes indicating XML - - NSString *const kXMLLintPath = @"/usr/bin/xmllint"; - static BOOL hasCheckedAvailability = NO; - static BOOL isXMLLintAvailable; - - if (!hasCheckedAvailability) { - isXMLLintAvailable = [[self class] fileOrDirExistsAtPath:kXMLLintPath]; - hasCheckedAvailability = YES; - } - - if (isXMLLintAvailable - && [inputData length] > 5 - && strncmp([inputData bytes], " 0) { - // success - inputData = formattedData; - } - } -#else - // we can't call external tasks on the iPhone; leave the XML unformatted -#endif - - NSString *dataStr = [[[NSString alloc] initWithData:inputData - encoding:NSUTF8StringEncoding] autorelease]; - return dataStr; -} - -- (void)setupStreamLogging { - // if logging is enabled, it needs a buffer to accumulate data from any - // NSInputStream used for uploading. Logging will wrap the input - // stream with a stream that lets us keep a copy the data being read. - if ([GTMHTTPFetcher isLoggingEnabled] - && loggedStreamData_ == nil - && postStream_ != nil) { - loggedStreamData_ = [[NSMutableData alloc] init]; - - BOOL didCapture = [self logCapturePostStream]; - if (!didCapture) { - // upload stream logging requires the class - // GTMReadMonitorInputStream be available - NSString const *str = @"<>"; - [loggedStreamData_ setData:[str dataUsingEncoding:NSUTF8StringEncoding]]; - } - } -} - -- (void)setLogRequestBody:(NSString *)bodyString { - @synchronized(self) { - [logRequestBody_ release]; - logRequestBody_ = [bodyString copy]; - } -} - -- (NSString *)logRequestBody { - @synchronized(self) { - return logRequestBody_; - } -} - -- (void)setLogResponseBody:(NSString *)bodyString { - @synchronized(self) { - [logResponseBody_ release]; - logResponseBody_ = [bodyString copy]; - } -} - -- (NSString *)logResponseBody { - @synchronized(self) { - return logResponseBody_; - } -} - -- (void)setShouldDeferResponseBodyLogging:(BOOL)flag { - @synchronized(self) { - if (flag != shouldDeferResponseBodyLogging_) { - shouldDeferResponseBodyLogging_ = flag; - if (!flag) { - [self performSelectorOnMainThread:@selector(logFetchWithError:) - withObject:nil - waitUntilDone:NO]; - } - } - } -} - -- (BOOL)shouldDeferResponseBodyLogging { - @synchronized(self) { - return shouldDeferResponseBodyLogging_; - } -} - -// stringFromStreamData creates a string given the supplied data -// -// If NSString can create a UTF-8 string from the data, then that is returned. -// -// Otherwise, this routine tries to find a MIME boundary at the beginning of -// the data block, and uses that to break up the data into parts. Each part -// will be used to try to make a UTF-8 string. For parts that fail, a -// replacement string showing the part header and <> is supplied -// in place of the binary data. - -- (NSString *)stringFromStreamData:(NSData *)data - contentType:(NSString *)contentType { - - if (data == nil) return nil; - - // optimistically, see if the whole data block is UTF-8 - NSString *streamDataStr = [self formattedStringFromData:data - contentType:contentType - JSON:NULL]; - if (streamDataStr) return streamDataStr; - - // Munge a buffer by replacing non-ASCII bytes with underscores, - // and turn that munged buffer an NSString. That gives us a string - // we can use with NSScanner. - NSMutableData *mutableData = [NSMutableData dataWithData:data]; - unsigned char *bytes = [mutableData mutableBytes]; - - for (unsigned int idx = 0; idx < [mutableData length]; idx++) { - if (bytes[idx] > 0x7F || bytes[idx] == 0) { - bytes[idx] = '_'; - } - } - - NSString *mungedStr = [[[NSString alloc] initWithData:mutableData - encoding:NSUTF8StringEncoding] autorelease]; - if (mungedStr != nil) { - - // scan for the boundary string - NSString *boundary = nil; - NSScanner *scanner = [NSScanner scannerWithString:mungedStr]; - - if ([scanner scanUpToString:@"\r\n" intoString:&boundary] - && [boundary hasPrefix:@"--"]) { - - // we found a boundary string; use it to divide the string into parts - NSArray *mungedParts = [mungedStr componentsSeparatedByString:boundary]; - - // look at each of the munged parts in the original string, and try to - // convert those into UTF-8 - NSMutableArray *origParts = [NSMutableArray array]; - NSUInteger offset = 0; - for (NSString *mungedPart in mungedParts) { - NSUInteger partSize = [mungedPart length]; - - NSRange range = NSMakeRange(offset, partSize); - NSData *origPartData = [data subdataWithRange:range]; - - NSString *origPartStr = [[[NSString alloc] initWithData:origPartData - encoding:NSUTF8StringEncoding] autorelease]; - if (origPartStr) { - // we could make this original part into UTF-8; use the string - [origParts addObject:origPartStr]; - } else { - // this part can't be made into UTF-8; scan the header, if we can - NSString *header = nil; - NSScanner *headerScanner = [NSScanner scannerWithString:mungedPart]; - if (![headerScanner scanUpToString:@"\r\n\r\n" intoString:&header]) { - // we couldn't find a header - header = @""; - } - - // make a part string with the header and <> - NSString *binStr = [NSString stringWithFormat:@"\r%@\r<<%lu bytes>>\r", - header, (long)(partSize - [header length])]; - [origParts addObject:binStr]; - } - offset += partSize + [boundary length]; - } - - // rejoin the original parts - streamDataStr = [origParts componentsJoinedByString:boundary]; - } - } - - if (!streamDataStr) { - // give up; just make a string showing the uploaded bytes - streamDataStr = [NSString stringWithFormat:@"<<%u bytes>>", - (unsigned int)[data length]]; - } - return streamDataStr; -} - -// logFetchWithError is called following a successful or failed fetch attempt -// -// This method does all the work for appending to and creating log files - -- (void)logFetchWithError:(NSError *)error { - - if (![[self class] isLoggingEnabled]) return; - - // TODO: (grobbins) add Javascript to display response data formatted in hex - - NSString *parentDir = [[self class] loggingDirectory]; - NSString *processName = [[self class] loggingProcessName]; - NSString *dateStamp = [[self class] loggingDateStamp]; - - // make a directory for this run's logs, like - // SyncProto_logs_10-16_01-56-58PM - NSString *dirName = [NSString stringWithFormat:@"%@_log_%@", - processName, dateStamp]; - NSString *logDirectory = [parentDir stringByAppendingPathComponent:dirName]; - - if (gIsLoggingToFile) { - // be sure that the first time this app runs, it's not writing to - // a preexisting folder - static BOOL shouldReuseFolder = NO; - if (!shouldReuseFolder) { - shouldReuseFolder = YES; - NSString *origLogDir = logDirectory; - for (int ctr = 2; ctr < 20; ctr++) { - if (![[self class] fileOrDirExistsAtPath:logDirectory]) break; - - // append a digit - logDirectory = [origLogDir stringByAppendingFormat:@"_%d", ctr]; - } - } - if (![[self class] makeDirectoryUpToPath:logDirectory]) return; - } - // each response's NSData goes into its own xml or txt file, though all - // responses for this run of the app share a main html file. This - // counter tracks all fetch responses for this run of the app. - // - // we'll use a local variable since this routine may be reentered while - // waiting for XML formatting to be completed by an external task - static int zResponseCounter = 0; - int responseCounter = ++zResponseCounter; - - // file name for an image data file - NSString *responseDataFileName = nil; - NSUInteger responseDataLength; - if (downloadFileHandle_) { - responseDataLength = (NSUInteger) [downloadFileHandle_ offsetInFile]; - } else { - responseDataLength = [downloadedData_ length]; - } - - NSURLResponse *response = [self response]; - NSDictionary *responseHeaders = [self responseHeaders]; - - NSString *responseBaseName = nil; - NSString *responseDataStr = nil; - NSDictionary *responseJSON = nil; - - // if there's response data, decide what kind of file to put it in based - // on the first bytes of the file or on the mime type supplied by the server - NSString *responseMIMEType = [response MIMEType]; - BOOL isResponseImage = NO; - NSData *dataToWrite = nil; - - if (responseDataLength > 0) { - NSString *responseDataExtn = nil; - - // generate a response file base name like - responseBaseName = [NSString stringWithFormat:@"fetch_%d_response", - responseCounter]; - - NSString *responseType = [responseHeaders valueForKey:@"Content-Type"]; - responseDataStr = [self formattedStringFromData:downloadedData_ - contentType:responseType - JSON:&responseJSON]; - if (responseDataStr) { - // we were able to make a UTF-8 string from the response data - if ([responseMIMEType isEqual:@"application/atom+xml"] - || [responseMIMEType hasSuffix:@"/xml"]) { - responseDataExtn = @"xml"; - dataToWrite = [responseDataStr dataUsingEncoding:NSUTF8StringEncoding]; - } - } else if ([responseMIMEType isEqual:@"image/jpeg"]) { - responseDataExtn = @"jpg"; - dataToWrite = downloadedData_; - isResponseImage = YES; - } else if ([responseMIMEType isEqual:@"image/gif"]) { - responseDataExtn = @"gif"; - dataToWrite = downloadedData_; - isResponseImage = YES; - } else if ([responseMIMEType isEqual:@"image/png"]) { - responseDataExtn = @"png"; - dataToWrite = downloadedData_; - isResponseImage = YES; - } else { - // add more non-text types here - } - - // if we have an extension, save the raw data in a file with that - // extension - if (responseDataExtn && dataToWrite) { - responseDataFileName = [responseBaseName stringByAppendingPathExtension:responseDataExtn]; - NSString *responseDataFilePath = [logDirectory stringByAppendingPathComponent:responseDataFileName]; - - NSError *downloadedError = nil; - if (gIsLoggingToFile - && ![dataToWrite writeToFile:responseDataFilePath - options:0 - error:&downloadedError]) { - NSLog(@"%@ logging write error:%@ (%@)", - [self class], downloadedError, responseDataFileName); - } - } - } - - // we'll have one main html file per run of the app - NSString *htmlName = @"aperçu_http_log.html"; - NSString *htmlPath =[logDirectory stringByAppendingPathComponent:htmlName]; - - // if the html file exists (from logging previous fetches) we don't need - // to re-write the header or the scripts - BOOL didFileExist = [[self class] fileOrDirExistsAtPath:htmlPath]; - - NSMutableString* outputHTML = [NSMutableString string]; - NSURLRequest *request = [self mutableRequest]; - - // we need a header to say we'll have UTF-8 text - if (!didFileExist) { - [outputHTML appendFormat:@"%@ HTTP fetch log %@", - processName, dateStamp]; - } - - // now write the visible html elements - NSString *copyableFileName = [NSString stringWithFormat:@"fetch_%d.txt", - responseCounter]; - - // write the date & time, the comment, and the link to the plain-text - // (copyable) log - NSString *const dateLineFormat = @"%@      "; - [outputHTML appendFormat:dateLineFormat, [NSDate date]]; - - NSString *comment = [self comment]; - if (comment) { - NSString *const commentFormat = @"%@      "; - [outputHTML appendFormat:commentFormat, comment]; - } - - NSString *const reqRespFormat = @"request/response log
"; - [outputHTML appendFormat:reqRespFormat, copyableFileName]; - - // write the request URL - NSString *requestMethod = [request HTTPMethod]; - NSURL *requestURL = [request URL]; - [outputHTML appendFormat:@"request: %@ %@
\n", - requestMethod, requestURL]; - - // write the request headers - NSDictionary *requestHeaders = [request allHTTPHeaderFields]; - NSUInteger numberOfRequestHeaders = [requestHeaders count]; - if (numberOfRequestHeaders > 0) { - // Indicate if the request is authorized; warn if the request is - // authorized but non-SSL - NSString *auth = [requestHeaders objectForKey:@"Authorization"]; - NSString *headerDetails = @""; - if (auth) { - headerDetails = @"   authorized"; - BOOL isInsecure = [[requestURL scheme] isEqual:@"http"]; - if (isInsecure) { - headerDetails = @"   authorized, non-SSL" - " "; // 26A0 = ⚠ - } - } - NSString *cookiesHdr = [requestHeaders objectForKey:@"Cookie"]; - if (cookiesHdr) { - headerDetails = [headerDetails stringByAppendingString: - @"   cookies"]; - } - NSString *matchHdr = [requestHeaders objectForKey:@"If-Match"]; - if (matchHdr) { - headerDetails = [headerDetails stringByAppendingString: - @"   if-match"]; - } - matchHdr = [requestHeaders objectForKey:@"If-None-Match"]; - if (matchHdr) { - headerDetails = [headerDetails stringByAppendingString: - @"   if-none-match"]; - } - [outputHTML appendFormat:@"   headers: %d %@
", - (int)numberOfRequestHeaders, headerDetails]; - } else { - [outputHTML appendFormat:@"   headers: none
"]; - } - - // write the request post data, toggleable - NSData *postData; - if (loggedStreamData_) { - postData = loggedStreamData_; - } else if (postData_) { - postData = postData_; - } else { - postData = [request_ HTTPBody]; - } - - NSString *postDataStr = nil; - NSUInteger postDataLength = [postData length]; - NSString *postType = [requestHeaders valueForKey:@"Content-Type"]; - - if (postDataLength > 0) { - [outputHTML appendFormat:@"   data: %d bytes, %@
\n", - (int)postDataLength, postType ? postType : @""]; - - if (logRequestBody_) { - postDataStr = [[logRequestBody_ copy] autorelease]; - [logRequestBody_ release]; - logRequestBody_ = nil; - } else { - postDataStr = [self stringFromStreamData:postData - contentType:postType]; - if (postDataStr) { - // remove OAuth 2 client secret and refresh token - postDataStr = [[self class] snipSubstringOfString:postDataStr - betweenStartString:@"client_secret=" - endString:@"&"]; - - postDataStr = [[self class] snipSubstringOfString:postDataStr - betweenStartString:@"refresh_token=" - endString:@"&"]; - - // remove ClientLogin password - postDataStr = [[self class] snipSubstringOfString:postDataStr - betweenStartString:@"&Passwd=" - endString:@"&"]; - } - } - } else { - // no post data - } - - // write the response status, MIME type, URL - NSInteger status = [self statusCode]; - if (response) { - NSString *statusString = @""; - if (status != 0) { - if (status == 200 || status == 201) { - statusString = [NSString stringWithFormat:@"%ld", (long)status]; - - // report any JSON-RPC error - if ([responseJSON isKindOfClass:[NSDictionary class]]) { - NSDictionary *jsonError = [responseJSON objectForKey:@"error"]; - if ([jsonError isKindOfClass:[NSDictionary class]]) { - NSString *jsonCode = [[jsonError valueForKey:@"code"] description]; - NSString *jsonMessage = [jsonError valueForKey:@"message"]; - if (jsonCode || jsonMessage) { - NSString *const jsonErrFmt = @"   JSON error: %@ %@  ⚑"; // 2691 = ⚑ - statusString = [statusString stringByAppendingFormat:jsonErrFmt, - jsonCode ? jsonCode : @"", - jsonMessage ? jsonMessage : @""]; - } - } - } - } else { - // purple for anything other than 200 or 201 - NSString *flag = (status >= 400 ? @" ⚑" : @""); // 2691 = ⚑ - NSString *const statusFormat = @"%ld %@"; - statusString = [NSString stringWithFormat:statusFormat, - (long)status, flag]; - } - } - - // show the response URL only if it's different from the request URL - NSString *responseURLStr = @""; - NSURL *responseURL = [response URL]; - - if (responseURL && ![responseURL isEqual:[request URL]]) { - NSString *const responseURLFormat = @"response URL:" - " %@
\n"; - responseURLStr = [NSString stringWithFormat:responseURLFormat, - [responseURL absoluteString]]; - } - - [outputHTML appendFormat:@"response:  status %@
\n%@", - statusString, responseURLStr]; - - // Write the response headers - NSUInteger numberOfResponseHeaders = [responseHeaders count]; - if (numberOfResponseHeaders > 0) { - // Indicate if the server is setting cookies - NSString *cookiesSet = [responseHeaders valueForKey:@"Set-Cookie"]; - NSString *cookiesStr = (cookiesSet ? @"  " - "sets cookies" : @""); - // Indicate if the server is redirecting - NSString *location = [responseHeaders valueForKey:@"Location"]; - BOOL isRedirect = (status >= 300 && status <= 399 && location != nil); - NSString *redirectsStr = (isRedirect ? @"  " - "redirects" : @""); - - [outputHTML appendFormat:@"   headers: %d %@ %@
\n", - (int)numberOfResponseHeaders, cookiesStr, redirectsStr]; - } else { - [outputHTML appendString:@"   headers: none
\n"]; - } - } - - // error - if (error) { - [outputHTML appendFormat:@"Error: %@
\n", [error description]]; - } - - // Write the response data - if (responseDataFileName) { - NSString *escapedResponseFile = [responseDataFileName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; - if (isResponseImage) { - // Make a small inline image that links to the full image file - [outputHTML appendFormat:@"   data: %d bytes, %@
", - (int)responseDataLength, responseMIMEType]; - NSString *const fmt = @"image\n"; - [outputHTML appendFormat:fmt, - escapedResponseFile, escapedResponseFile]; - } else { - // The response data was XML; link to the xml file - NSString *const fmt = @"   data: %d bytes, " - "%@   %@\n"; - [outputHTML appendFormat:fmt, - (int)responseDataLength, responseMIMEType, - escapedResponseFile, [escapedResponseFile pathExtension]]; - } - } else { - // The response data was not an image; just show the length and MIME type - [outputHTML appendFormat:@"   data: %d bytes, %@\n", - (int)responseDataLength, responseMIMEType]; - } - - // Make a single string of the request and response, suitable for copying - // to the clipboard and pasting into a bug report - NSMutableString *copyable = [NSMutableString string]; - if (comment) { - [copyable appendFormat:@"%@\n\n", comment]; - } - [copyable appendFormat:@"%@\n", [NSDate date]]; - [copyable appendFormat:@"Request: %@ %@\n", requestMethod, requestURL]; - if ([requestHeaders count] > 0) { - [copyable appendFormat:@"Request headers:\n%@\n", - [[self class] headersStringForDictionary:requestHeaders]]; - } - - if (postDataLength > 0) { - [copyable appendFormat:@"Request body: (%u bytes)\n", - (unsigned int) postDataLength]; - if (postDataStr) { - [copyable appendFormat:@"%@\n", postDataStr]; - } - [copyable appendString:@"\n"]; - } - - if (response) { - [copyable appendFormat:@"Response: status %d\n", (int) status]; - [copyable appendFormat:@"Response headers:\n%@\n", - [[self class] headersStringForDictionary:responseHeaders]]; - [copyable appendFormat:@"Response body: (%u bytes)\n", - (unsigned int) responseDataLength]; - if (responseDataLength > 0) { - if (logResponseBody_) { - responseDataStr = [[logResponseBody_ copy] autorelease]; - [logResponseBody_ release]; - logResponseBody_ = nil; - } - if (responseDataStr != nil) { - [copyable appendFormat:@"%@\n", responseDataStr]; - } else if (status >= 400 && [temporaryDownloadPath_ length] > 0) { - // Try to read in the saved data, which is probably a server error - // message - NSStringEncoding enc; - responseDataStr = [NSString stringWithContentsOfFile:temporaryDownloadPath_ - usedEncoding:&enc - error:NULL]; - if ([responseDataStr length] > 0) { - [copyable appendFormat:@"%@\n", responseDataStr]; - } else { - [copyable appendFormat:@"<<%u bytes to file>>\n", - (unsigned int) responseDataLength]; - } - } else { - // Even though it's redundant, we'll put in text to indicate that all - // the bytes are binary - [copyable appendFormat:@"<<%u bytes>>\n", - (unsigned int) responseDataLength]; - } - } - } - - if (error) { - [copyable appendFormat:@"Error: %@\n", error]; - } - - // Save to log property before adding the separator - self.log = copyable; - - [copyable appendString:@"-----------------------------------------------------------\n"]; - - - // Write the copyable version to another file (linked to at the top of the - // html file, above) - // - // Ideally, something to just copy this to the clipboard like - // Copy here." - // would work everywhere, but it only works in Safari as of 8/2010 - if (gIsLoggingToFile) { - NSString *copyablePath = [logDirectory stringByAppendingPathComponent:copyableFileName]; - NSError *copyableError = nil; - if (![copyable writeToFile:copyablePath - atomically:NO - encoding:NSUTF8StringEncoding - error:©ableError]) { - // Error writing to file - NSLog(@"%@ logging write error:%@ (%@)", - [self class], copyableError, copyablePath); - } - - [outputHTML appendString:@"

"]; - - // Append the HTML to the main output file - const char* htmlBytes = [outputHTML UTF8String]; - NSOutputStream *stream = [NSOutputStream outputStreamToFileAtPath:htmlPath - append:YES]; - [stream open]; - [stream write:(const uint8_t *) htmlBytes maxLength:strlen(htmlBytes)]; - [stream close]; - - // Make a symlink to the latest html - NSString *symlinkName = [NSString stringWithFormat:@"%@_log_newest.html", - processName]; - NSString *symlinkPath = [parentDir stringByAppendingPathComponent:symlinkName]; - - [[self class] removeItemAtPath:symlinkPath]; - [[self class] createSymbolicLinkAtPath:symlinkPath - withDestinationPath:htmlPath]; - -#if GTM_IPHONE - static BOOL gReportedLoggingPath = NO; - if (!gReportedLoggingPath) { - gReportedLoggingPath = YES; - NSLog(@"GTMHTTPFetcher logging to \"%@\"", parentDir); - } -#endif - } -} - -- (BOOL)logCapturePostStream { - // This is called when beginning a fetch. The caller should have already - // verified that logging is enabled, and should have allocated - // loggedStreamData_ as a mutable object. - - // If the class GTMReadMonitorInputStream is not available, bail now, since - // we cannot capture this upload stream - Class monitorClass = NSClassFromString(@"GTMReadMonitorInputStream"); - if (!monitorClass) return NO; - - // If we're logging, we need to wrap the upload stream with our monitor - // stream that will call us back with the bytes being read from the stream - - // Our wrapper will retain the old post stream - [postStream_ autorelease]; - - postStream_ = [monitorClass inputStreamWithStream:postStream_]; - [postStream_ retain]; - - [(GTMReadMonitorInputStream *)postStream_ setReadDelegate:self]; - [(GTMReadMonitorInputStream *)postStream_ setRunLoopModes:[self runLoopModes]]; - - SEL readSel = @selector(inputStream:readIntoBuffer:length:); - [(GTMReadMonitorInputStream *)postStream_ setReadSelector:readSel]; - - return YES; -} - -@end - -@implementation GTMHTTPFetcher (GTMHTTPFetcherLoggingUtilities) - -- (void)inputStream:(GTMReadMonitorInputStream *)stream - readIntoBuffer:(void *)buffer - length:(NSUInteger)length { - // append the captured data - [loggedStreamData_ appendBytes:buffer length:length]; -} - -#pragma mark Internal file routines - -// We implement plain Unix versions of NSFileManager methods to avoid -// NSFileManager's issues with being used from multiple threads - -+ (BOOL)fileOrDirExistsAtPath:(NSString *)path { - struct stat buffer; - int result = stat([path fileSystemRepresentation], &buffer); - return (result == 0); -} - -+ (BOOL)makeDirectoryUpToPath:(NSString *)path { - int result = 0; - - // Recursively create the parent directory of the requested path - NSString *parent = [path stringByDeletingLastPathComponent]; - if (![self fileOrDirExistsAtPath:parent]) { - result = [self makeDirectoryUpToPath:parent]; - } - - // Make the leaf directory - if (result == 0 && ![self fileOrDirExistsAtPath:path]) { - result = mkdir([path fileSystemRepresentation], S_IRWXU); // RWX for owner - } - return (result == 0); -} - -+ (BOOL)removeItemAtPath:(NSString *)path { - int result = unlink([path fileSystemRepresentation]); - return (result == 0); -} - -+ (BOOL)createSymbolicLinkAtPath:(NSString *)newPath - withDestinationPath:(NSString *)targetPath { - int result = symlink([targetPath fileSystemRepresentation], - [newPath fileSystemRepresentation]); - return (result == 0); -} - -#pragma mark Fomatting Utilities - -+ (NSString *)snipSubstringOfString:(NSString *)originalStr - betweenStartString:(NSString *)startStr - endString:(NSString *)endStr { -#if SKIP_GTM_FETCH_LOGGING_SNIPPING - return originalStr; -#else - if (originalStr == nil) return nil; - - // Find the start string, and replace everything between it - // and the end string (or the end of the original string) with "_snip_" - NSRange startRange = [originalStr rangeOfString:startStr]; - if (startRange.location == NSNotFound) return originalStr; - - // We found the start string - NSUInteger originalLength = [originalStr length]; - NSUInteger startOfTarget = NSMaxRange(startRange); - NSRange targetAndRest = NSMakeRange(startOfTarget, - originalLength - startOfTarget); - NSRange endRange = [originalStr rangeOfString:endStr - options:0 - range:targetAndRest]; - NSRange replaceRange; - if (endRange.location == NSNotFound) { - // Found no end marker so replace to end of string - replaceRange = targetAndRest; - } else { - // Replace up to the endStr - replaceRange = NSMakeRange(startOfTarget, - endRange.location - startOfTarget); - } - - NSString *result = [originalStr stringByReplacingCharactersInRange:replaceRange - withString:@"_snip_"]; - return result; -#endif // SKIP_GTM_FETCH_LOGGING_SNIPPING -} - -+ (NSString *)headersStringForDictionary:(NSDictionary *)dict { - // Format the dictionary in http header style, like - // Accept: application/json - // Cache-Control: no-cache - // Content-Type: application/json; charset=utf-8 - // - // Pad the key names, but not beyond 16 chars, since long custom header - // keys just create too much whitespace - NSArray *keys = [[dict allKeys] sortedArrayUsingSelector:@selector(compare:)]; - - NSMutableString *str = [NSMutableString string]; - for (NSString *key in keys) { - NSString *value = [dict valueForKey:key]; - if ([key isEqual:@"Authorization"]) { - // Remove OAuth 1 token - value = [[self class] snipSubstringOfString:value - betweenStartString:@"oauth_token=\"" - endString:@"\""]; - - // Remove OAuth 2 bearer token (draft 16, and older form) - value = [[self class] snipSubstringOfString:value - betweenStartString:@"Bearer " - endString:@"\n"]; - value = [[self class] snipSubstringOfString:value - betweenStartString:@"OAuth " - endString:@"\n"]; - - // Remove Google ClientLogin - value = [[self class] snipSubstringOfString:value - betweenStartString:@"GoogleLogin auth=" - endString:@"\n"]; - } - [str appendFormat:@" %@: %@\n", key, value]; - } - return str; -} - -+ (id)JSONObjectWithData:(NSData *)data { - Class serializer = NSClassFromString(@"NSJSONSerialization"); - if (serializer) { - const NSUInteger kOpts = (1UL << 0); // NSJSONReadingMutableContainers - NSMutableDictionary *obj; - obj = [serializer JSONObjectWithData:data - options:kOpts - error:NULL]; - return obj; - } else { - // Try SBJsonParser or SBJSON - Class jsonParseClass = NSClassFromString(@"SBJsonParser"); - if (!jsonParseClass) { - jsonParseClass = NSClassFromString(@"SBJSON"); - } - if (jsonParseClass) { - GTMFetcherSBJSON *parser = [[[jsonParseClass alloc] init] autorelease]; - NSString *jsonStr = [[[NSString alloc] initWithData:data - encoding:NSUTF8StringEncoding] autorelease]; - if (jsonStr) { - NSMutableDictionary *obj = [parser objectWithString:jsonStr error:NULL]; - return obj; - } - } - } - return nil; -} - -+ (id)stringWithJSONObject:(id)obj { - Class serializer = NSClassFromString(@"NSJSONSerialization"); - if (serializer) { - const NSUInteger kOpts = (1UL << 0); // NSJSONWritingPrettyPrinted - NSData *data; - data = [serializer dataWithJSONObject:obj - options:kOpts - error:NULL]; - if (data) { - NSString *jsonStr = [[[NSString alloc] initWithData:data - encoding:NSUTF8StringEncoding] autorelease]; - return jsonStr; - } - } else { - // Try SBJsonParser or SBJSON - Class jsonWriterClass = NSClassFromString(@"SBJsonWriter"); - if (!jsonWriterClass) { - jsonWriterClass = NSClassFromString(@"SBJSON"); - } - if (jsonWriterClass) { - GTMFetcherSBJSON *writer = [[[jsonWriterClass alloc] init] autorelease]; - [writer setHumanReadable:YES]; - NSString *jsonStr = [writer stringWithObject:obj error:NULL]; - return jsonStr; - } - } - return nil; -} - -@end - -#endif // !STRIP_GTM_FETCH_LOGGING diff --git a/External/google-plus-ios-sdk/OpenSource/GTMOAuth2ViewTouch.xib b/External/google-plus-ios-sdk/OpenSource/GTMOAuth2ViewTouch.xib deleted file mode 100644 index 4f91fa4a..00000000 --- a/External/google-plus-ios-sdk/OpenSource/GTMOAuth2ViewTouch.xib +++ /dev/null @@ -1,494 +0,0 @@ - - - - 1024 - 12C60 - 2840 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1926 - - - YES - IBProxyObject - IBUIActivityIndicatorView - IBUIBarButtonItem - IBUIButton - IBUINavigationItem - IBUIView - IBUIWebView - - - YES - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - YES - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - OAuth - IBCocoaTouchFramework - - - IBCocoaTouchFramework - 1 - - - - 292 - - YES - - - 292 - {30, 30} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - {0, -2} - - - 3 - MQA - - - 2 - MC41OTYwNzg0NiAwLjY4NjI3NDUzIDAuOTUyOTQxMjQgMC42MDAwMDAwMgA - - - - 3 - MC41AA - - - Helvetica-Bold - Helvetica - 2 - 24 - - - Helvetica-Bold - 24 - 16 - - - - - 292 - {{30, 0}, {30, 30}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - {0, -2} - - - - 2 - MC41ODQzMTM3NSAwLjY3NDUwOTgyIDAuOTUyOTQxMjQgMC42MDAwMDAwMgA - - - - - - - - {60, 30} - - - - - 3 - MSAwAA - - NO - NO - - 3 - 3 - - IBCocoaTouchFramework - - - - 274 - - YES - - - 274 - {320, 460} - - - - - 1 - MSAxIDEAA - - YES - YES - IBCocoaTouchFramework - 1 - YES - - - - 301 - {{150, 115}, {20, 20}} - - - - _NS:9 - NO - IBCocoaTouchFramework - NO - YES - 2 - - - {320, 460} - - - - - 3 - MQA - - 2 - - - IBCocoaTouchFramework - - - - - YES - - - rightBarButtonItem - - - - 20 - - - - navButtonsView - - - - 22 - - - - backButton - - - - 25 - - - - forwardButton - - - - 26 - - - - view - - - - 28 - - - - webView - - - - 29 - - - - initialActivityIndicator - - - - 33 - - - - delegate - - - - 9 - - - - rightBarButtonItem - - - - 14 - - - - goBack - - - 7 - - 18 - - - - goForward - - - 7 - - 19 - - - - - YES - - 0 - - YES - - - - - - -1 - - - File's Owner - - - -2 - - - - - 6 - - - YES - - - - - 10 - - - - - 15 - - - YES - - - - - - - 16 - - - - - 17 - - - - - 27 - - - YES - - - - - - - 4 - - - - - 31 - - - - - - - YES - - YES - -1.CustomClassName - -1.IBPluginDependency - -2.CustomClassName - -2.IBPluginDependency - 10.IBPluginDependency - 15.IBPluginDependency - 16.IBPluginDependency - 17.IBPluginDependency - 27.IBPluginDependency - 31.IBPluginDependency - 4.IBPluginDependency - 6.IBPluginDependency - - - YES - GTMOAuth2ViewControllerTouch - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - YES - - - - - - YES - - - - - 33 - - - - YES - - GTMOAuth2ViewControllerTouch - UIViewController - - YES - - YES - backButton - forwardButton - initialActivityIndicator - navButtonsView - rightBarButtonItem - webView - - - YES - UIButton - UIButton - UIActivityIndicatorView - UIView - UIBarButtonItem - UIWebView - - - - YES - - YES - backButton - forwardButton - initialActivityIndicator - navButtonsView - rightBarButtonItem - webView - - - YES - - backButton - UIButton - - - forwardButton - UIButton - - - initialActivityIndicator - UIActivityIndicatorView - - - navButtonsView - UIView - - - rightBarButtonItem - UIBarButtonItem - - - webView - UIWebView - - - - - IBProjectSource - ./Classes/GTMOAuth2ViewControllerTouch.h - - - - - 0 - IBCocoaTouchFramework - - com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - - - - com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - - - - com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 - - - YES - 3 - 1926 - - diff --git a/External/google-plus-ios-sdk/Resources/af.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/af.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 305f87d3..00000000 --- a/External/google-plus-ios-sdk/Resources/af.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Meld aan"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Meld aan met Google"; diff --git a/External/google-plus-ios-sdk/Resources/am.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/am.lproj/GooglePlusPlatform.strings deleted file mode 100644 index a7748e7f..00000000 --- a/External/google-plus-ios-sdk/Resources/am.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "ይግቡ"; - -/* Long form sign-in button text */ -"Sign in with Google" = "በGoogle ይግቡ"; diff --git a/External/google-plus-ios-sdk/Resources/ar.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/ar.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 266ae223..00000000 --- a/External/google-plus-ios-sdk/Resources/ar.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "تسجيل الدخول"; - -/* Long form sign-in button text */ -"Sign in with Google" = "تسجيل الدخول باستخدام Google"; diff --git a/External/google-plus-ios-sdk/Resources/be.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/be.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 09710892..00000000 --- a/External/google-plus-ios-sdk/Resources/be.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Увайсцi"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Увайсці ў Google"; diff --git a/External/google-plus-ios-sdk/Resources/bg.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/bg.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 8a7edddc..00000000 --- a/External/google-plus-ios-sdk/Resources/bg.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Вход"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Вход с Google"; diff --git a/External/google-plus-ios-sdk/Resources/ca.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/ca.lproj/GooglePlusPlatform.strings deleted file mode 100644 index f4a3d04c..00000000 --- a/External/google-plus-ios-sdk/Resources/ca.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "In. sess."; - -/* Long form sign-in button text */ -"Sign in with Google" = "Inicia la sessió amb Google"; diff --git a/External/google-plus-ios-sdk/Resources/cs.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/cs.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 29e3ad44..00000000 --- a/External/google-plus-ios-sdk/Resources/cs.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Přihlásit se"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Přihlásit se k účtu Google"; diff --git a/External/google-plus-ios-sdk/Resources/da.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/da.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 336e602f..00000000 --- a/External/google-plus-ios-sdk/Resources/da.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Log ind"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Log ind med Google"; diff --git a/External/google-plus-ios-sdk/Resources/de.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/de.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 2ad7bd1c..00000000 --- a/External/google-plus-ios-sdk/Resources/de.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Anmelden"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Über Google anmelden"; diff --git a/External/google-plus-ios-sdk/Resources/de_AT.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/de_AT.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 2ad7bd1c..00000000 --- a/External/google-plus-ios-sdk/Resources/de_AT.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Anmelden"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Über Google anmelden"; diff --git a/External/google-plus-ios-sdk/Resources/de_CH.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/de_CH.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 2ad7bd1c..00000000 --- a/External/google-plus-ios-sdk/Resources/de_CH.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Anmelden"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Über Google anmelden"; diff --git a/External/google-plus-ios-sdk/Resources/el.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/el.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 7d1dbdd6..00000000 --- a/External/google-plus-ios-sdk/Resources/el.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Σύνδεση"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Συνδεθείτε στο Google"; diff --git a/External/google-plus-ios-sdk/Resources/en.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/en.lproj/GooglePlusPlatform.strings deleted file mode 100644 index ac7cbeed..00000000 --- a/External/google-plus-ios-sdk/Resources/en.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Sign in"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Sign in with Google"; diff --git a/External/google-plus-ios-sdk/Resources/en_GB.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/en_GB.lproj/GooglePlusPlatform.strings deleted file mode 100644 index ac7cbeed..00000000 --- a/External/google-plus-ios-sdk/Resources/en_GB.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Sign in"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Sign in with Google"; diff --git a/External/google-plus-ios-sdk/Resources/en_IE.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/en_IE.lproj/GooglePlusPlatform.strings deleted file mode 100644 index ac7cbeed..00000000 --- a/External/google-plus-ios-sdk/Resources/en_IE.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Sign in"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Sign in with Google"; diff --git a/External/google-plus-ios-sdk/Resources/en_IN.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/en_IN.lproj/GooglePlusPlatform.strings deleted file mode 100644 index ac7cbeed..00000000 --- a/External/google-plus-ios-sdk/Resources/en_IN.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Sign in"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Sign in with Google"; diff --git a/External/google-plus-ios-sdk/Resources/en_SG.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/en_SG.lproj/GooglePlusPlatform.strings deleted file mode 100644 index ac7cbeed..00000000 --- a/External/google-plus-ios-sdk/Resources/en_SG.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Sign in"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Sign in with Google"; diff --git a/External/google-plus-ios-sdk/Resources/en_ZA.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/en_ZA.lproj/GooglePlusPlatform.strings deleted file mode 100644 index ac7cbeed..00000000 --- a/External/google-plus-ios-sdk/Resources/en_ZA.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Sign in"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Sign in with Google"; diff --git a/External/google-plus-ios-sdk/Resources/es.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es.lproj/GooglePlusPlatform.strings deleted file mode 100644 index b8cfdea2..00000000 --- a/External/google-plus-ios-sdk/Resources/es.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Iniciar sesión"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Iniciar sesión con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_419.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_419.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_419.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_AR.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_AR.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_AR.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_BO.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_BO.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_BO.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_CL.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_CL.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_CL.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_CO.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_CO.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_CO.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_CR.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_CR.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_CR.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_DO.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_DO.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_DO.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_EC.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_EC.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_EC.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_GT.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_GT.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_GT.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_HN.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_HN.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_HN.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_MX.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_MX.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_MX.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_NI.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_NI.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_NI.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_PA.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_PA.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_PA.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_PE.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_PE.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_PE.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_PR.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_PR.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_PR.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_PY.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_PY.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_PY.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_SV.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_SV.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_SV.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_US.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_US.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_US.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_UY.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_UY.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_UY.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/es_VE.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/es_VE.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 32e9604b..00000000 --- a/External/google-plus-ios-sdk/Resources/es_VE.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Acceder"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Acceder con Google"; diff --git a/External/google-plus-ios-sdk/Resources/et.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/et.lproj/GooglePlusPlatform.strings deleted file mode 100644 index cfa7d74b..00000000 --- a/External/google-plus-ios-sdk/Resources/et.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Logi sisse"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Logi sisse Google'iga"; diff --git a/External/google-plus-ios-sdk/Resources/fa.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/fa.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 0779216a..00000000 --- a/External/google-plus-ios-sdk/Resources/fa.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "ورود به سیستم"; - -/* Long form sign-in button text */ -"Sign in with Google" = "ورود به سیستم با Google‎"; diff --git a/External/google-plus-ios-sdk/Resources/fi.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/fi.lproj/GooglePlusPlatform.strings deleted file mode 100644 index b40f9e41..00000000 --- a/External/google-plus-ios-sdk/Resources/fi.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Kirjaudu"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Kirjaudu Google-tiliin"; diff --git a/External/google-plus-ios-sdk/Resources/fil.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/fil.lproj/GooglePlusPlatform.strings deleted file mode 100644 index e4851964..00000000 --- a/External/google-plus-ios-sdk/Resources/fil.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Sign in"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Mag-sign in sa Google"; diff --git a/External/google-plus-ios-sdk/Resources/fr.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/fr.lproj/GooglePlusPlatform.strings deleted file mode 100644 index c1863b97..00000000 --- a/External/google-plus-ios-sdk/Resources/fr.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Connexion"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Se connecter via Google"; diff --git a/External/google-plus-ios-sdk/Resources/fr_CH.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/fr_CH.lproj/GooglePlusPlatform.strings deleted file mode 100644 index c1863b97..00000000 --- a/External/google-plus-ios-sdk/Resources/fr_CH.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Connexion"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Se connecter via Google"; diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_disabled.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_disabled.png deleted file mode 100644 index 30d03737..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_disabled.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_disabled@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_disabled@2x.png deleted file mode 100644 index 87760880..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_disabled@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_normal.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_normal.png deleted file mode 100644 index 273577be..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_normal.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_normal@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_normal@2x.png deleted file mode 100644 index 7254d8c7..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_normal@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_pressed.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_pressed.png deleted file mode 100644 index 57b6fbc1..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_pressed.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_pressed@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_pressed@2x.png deleted file mode 100644 index d0c4e6d2..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_button_pressed@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_disabled.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_disabled.png deleted file mode 100644 index a70dfee0..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_disabled.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_disabled@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_disabled@2x.png deleted file mode 100644 index 124a19f2..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_disabled@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_normal.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_normal.png deleted file mode 100644 index 3a72c0e3..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_normal.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_normal@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_normal@2x.png deleted file mode 100644 index 30628599..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_normal@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_pressed.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_pressed.png deleted file mode 100644 index c5de5cff..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_pressed.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_pressed@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_pressed@2x.png deleted file mode 100644 index 76f21817..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_dark_icon_pressed@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_disabled.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_disabled.png deleted file mode 100644 index a02e0354..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_disabled.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_disabled@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_disabled@2x.png deleted file mode 100644 index 3123fe12..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_disabled@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_normal.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_normal.png deleted file mode 100644 index e36bdedb..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_normal.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_normal@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_normal@2x.png deleted file mode 100644 index fd760871..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_normal@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_pressed.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_pressed.png deleted file mode 100644 index 5cc69560..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_pressed.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_pressed@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_pressed@2x.png deleted file mode 100644 index dc73c96b..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_button_pressed@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_disabled.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_disabled.png deleted file mode 100644 index 4da3ab93..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_disabled.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_disabled@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_disabled@2x.png deleted file mode 100644 index 462c84c3..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_disabled@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_normal.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_normal.png deleted file mode 100644 index b5c8f9a9..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_normal.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_normal@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_normal@2x.png deleted file mode 100644 index 87a82718..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_normal@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_pressed.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_pressed.png deleted file mode 100644 index 249441c5..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_pressed.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_pressed@2x.png b/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_pressed@2x.png deleted file mode 100644 index 3ad8e9a9..00000000 Binary files a/External/google-plus-ios-sdk/Resources/gpp_sign_in_light_icon_pressed@2x.png and /dev/null differ diff --git a/External/google-plus-ios-sdk/Resources/gsw.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/gsw.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 2ad7bd1c..00000000 --- a/External/google-plus-ios-sdk/Resources/gsw.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Anmelden"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Über Google anmelden"; diff --git a/External/google-plus-ios-sdk/Resources/he.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/he.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 0b0d8bfa..00000000 --- a/External/google-plus-ios-sdk/Resources/he.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "היכנס"; - -/* Long form sign-in button text */ -"Sign in with Google" = "היכנס באמצעות Google"; diff --git a/External/google-plus-ios-sdk/Resources/hi.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/hi.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 615f8d1a..00000000 --- a/External/google-plus-ios-sdk/Resources/hi.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "साइन इन करें"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Google से साइन इन करें"; diff --git a/External/google-plus-ios-sdk/Resources/hr.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/hr.lproj/GooglePlusPlatform.strings deleted file mode 100644 index e0ddbba9..00000000 --- a/External/google-plus-ios-sdk/Resources/hr.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Prijava"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Prijava uslugom Google"; diff --git a/External/google-plus-ios-sdk/Resources/hu.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/hu.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 4ac31219..00000000 --- a/External/google-plus-ios-sdk/Resources/hu.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Belépés"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Google-bejelentkezés"; diff --git a/External/google-plus-ios-sdk/Resources/id.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/id.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 7454d61d..00000000 --- a/External/google-plus-ios-sdk/Resources/id.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Masuk"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Masuk dengan Google"; diff --git a/External/google-plus-ios-sdk/Resources/in.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/in.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 7454d61d..00000000 --- a/External/google-plus-ios-sdk/Resources/in.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Masuk"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Masuk dengan Google"; diff --git a/External/google-plus-ios-sdk/Resources/it.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/it.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 9a8c5adb..00000000 --- a/External/google-plus-ios-sdk/Resources/it.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Accedi"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Accedi con Google"; diff --git a/External/google-plus-ios-sdk/Resources/iw.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/iw.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 0b0d8bfa..00000000 --- a/External/google-plus-ios-sdk/Resources/iw.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "היכנס"; - -/* Long form sign-in button text */ -"Sign in with Google" = "היכנס באמצעות Google"; diff --git a/External/google-plus-ios-sdk/Resources/ja.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/ja.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 4abb7c73..00000000 --- a/External/google-plus-ios-sdk/Resources/ja.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "ログイン"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Googleでログイン"; diff --git a/External/google-plus-ios-sdk/Resources/ko.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/ko.lproj/GooglePlusPlatform.strings deleted file mode 100644 index f92b412a..00000000 --- a/External/google-plus-ios-sdk/Resources/ko.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "로그인"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Google 계정으로 로그인"; diff --git a/External/google-plus-ios-sdk/Resources/ln.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/ln.lproj/GooglePlusPlatform.strings deleted file mode 100644 index c1863b97..00000000 --- a/External/google-plus-ios-sdk/Resources/ln.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Connexion"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Se connecter via Google"; diff --git a/External/google-plus-ios-sdk/Resources/lt.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/lt.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 5af809d8..00000000 --- a/External/google-plus-ios-sdk/Resources/lt.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Prisij."; - -/* Long form sign-in button text */ -"Sign in with Google" = "Prisij. naud. „Google“"; diff --git a/External/google-plus-ios-sdk/Resources/lv.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/lv.lproj/GooglePlusPlatform.strings deleted file mode 100644 index afe04fa2..00000000 --- a/External/google-plus-ios-sdk/Resources/lv.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Pierakst."; - -/* Long form sign-in button text */ -"Sign in with Google" = "Pierakstīties Google"; diff --git a/External/google-plus-ios-sdk/Resources/mo.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/mo.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 88b632e8..00000000 --- a/External/google-plus-ios-sdk/Resources/mo.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Conectați"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Conectați-vă cu Google"; diff --git a/External/google-plus-ios-sdk/Resources/ms.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/ms.lproj/GooglePlusPlatform.strings deleted file mode 100644 index cf5d137b..00000000 --- a/External/google-plus-ios-sdk/Resources/ms.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Log masuk"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Log masuk dengan Google"; diff --git a/External/google-plus-ios-sdk/Resources/nb.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/nb.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 5607cfb5..00000000 --- a/External/google-plus-ios-sdk/Resources/nb.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Logg på"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Logg på med Google"; diff --git a/External/google-plus-ios-sdk/Resources/nl.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/nl.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 73322837..00000000 --- a/External/google-plus-ios-sdk/Resources/nl.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Aanmelden"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Aanmelden met Google"; diff --git a/External/google-plus-ios-sdk/Resources/no.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/no.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 5607cfb5..00000000 --- a/External/google-plus-ios-sdk/Resources/no.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Logg på"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Logg på med Google"; diff --git a/External/google-plus-ios-sdk/Resources/pl.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/pl.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 4af38ce3..00000000 --- a/External/google-plus-ios-sdk/Resources/pl.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Zaloguj się"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Zaloguj się przez Google"; diff --git a/External/google-plus-ios-sdk/Resources/pt.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/pt.lproj/GooglePlusPlatform.strings deleted file mode 100644 index eafe542c..00000000 --- a/External/google-plus-ios-sdk/Resources/pt.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Login"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Fazer login com o Google"; diff --git a/External/google-plus-ios-sdk/Resources/pt_BR.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/pt_BR.lproj/GooglePlusPlatform.strings deleted file mode 100644 index eafe542c..00000000 --- a/External/google-plus-ios-sdk/Resources/pt_BR.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Login"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Fazer login com o Google"; diff --git a/External/google-plus-ios-sdk/Resources/pt_PT.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/pt_PT.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 2feb1278..00000000 --- a/External/google-plus-ios-sdk/Resources/pt_PT.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Inic. ses."; - -/* Long form sign-in button text */ -"Sign in with Google" = "Inic. sessão com o Google"; diff --git a/External/google-plus-ios-sdk/Resources/ro.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/ro.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 88b632e8..00000000 --- a/External/google-plus-ios-sdk/Resources/ro.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Conectați"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Conectați-vă cu Google"; diff --git a/External/google-plus-ios-sdk/Resources/ru.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/ru.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 82be16f2..00000000 --- a/External/google-plus-ios-sdk/Resources/ru.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Войти"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Войти в аккаунт Google"; diff --git a/External/google-plus-ios-sdk/Resources/sk.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/sk.lproj/GooglePlusPlatform.strings deleted file mode 100644 index e5e05f1a..00000000 --- a/External/google-plus-ios-sdk/Resources/sk.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Prihlásiť sa"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Prihlásiť sa do účtu Google"; diff --git a/External/google-plus-ios-sdk/Resources/sl.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/sl.lproj/GooglePlusPlatform.strings deleted file mode 100644 index ef953954..00000000 --- a/External/google-plus-ios-sdk/Resources/sl.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Prijava"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Prijavite se v Google"; diff --git a/External/google-plus-ios-sdk/Resources/sr.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/sr.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 15189ad1..00000000 --- a/External/google-plus-ios-sdk/Resources/sr.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Пријави ме"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Пријави ме преко Google-а"; diff --git a/External/google-plus-ios-sdk/Resources/sv.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/sv.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 83cf97a2..00000000 --- a/External/google-plus-ios-sdk/Resources/sv.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Logga in"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Logga in med Google"; diff --git a/External/google-plus-ios-sdk/Resources/sw.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/sw.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 91384343..00000000 --- a/External/google-plus-ios-sdk/Resources/sw.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Ingia"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Ingia ukitumia Google"; diff --git a/External/google-plus-ios-sdk/Resources/th.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/th.lproj/GooglePlusPlatform.strings deleted file mode 100644 index cf39dd0b..00000000 --- a/External/google-plus-ios-sdk/Resources/th.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "ลงชื่อใช้"; - -/* Long form sign-in button text */ -"Sign in with Google" = "ลงชื่อเข้าใช้ด้วย Google"; diff --git a/External/google-plus-ios-sdk/Resources/tl.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/tl.lproj/GooglePlusPlatform.strings deleted file mode 100644 index e4851964..00000000 --- a/External/google-plus-ios-sdk/Resources/tl.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Sign in"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Mag-sign in sa Google"; diff --git a/External/google-plus-ios-sdk/Resources/tr.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/tr.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 1d68b7df..00000000 --- a/External/google-plus-ios-sdk/Resources/tr.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Oturum aç"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Google'da oturum aç"; diff --git a/External/google-plus-ios-sdk/Resources/uk.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/uk.lproj/GooglePlusPlatform.strings deleted file mode 100644 index d7593526..00000000 --- a/External/google-plus-ios-sdk/Resources/uk.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Увійти"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Увійти в обл.запис Google"; diff --git a/External/google-plus-ios-sdk/Resources/vi.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/vi.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 6875c1ce..00000000 --- a/External/google-plus-ios-sdk/Resources/vi.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Đăng nhập"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Đăng nhập bằng Google"; diff --git a/External/google-plus-ios-sdk/Resources/zh.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/zh.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 59fd869a..00000000 --- a/External/google-plus-ios-sdk/Resources/zh.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "登录"; - -/* Long form sign-in button text */ -"Sign in with Google" = "使用 Google 帐户登录"; diff --git a/External/google-plus-ios-sdk/Resources/zh_CN.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/zh_CN.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 59fd869a..00000000 --- a/External/google-plus-ios-sdk/Resources/zh_CN.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "登录"; - -/* Long form sign-in button text */ -"Sign in with Google" = "使用 Google 帐户登录"; diff --git a/External/google-plus-ios-sdk/Resources/zh_HK.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/zh_HK.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 42889a04..00000000 --- a/External/google-plus-ios-sdk/Resources/zh_HK.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "登入"; - -/* Long form sign-in button text */ -"Sign in with Google" = "登入 Google"; diff --git a/External/google-plus-ios-sdk/Resources/zh_TW.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/zh_TW.lproj/GooglePlusPlatform.strings deleted file mode 100644 index dde1fdc2..00000000 --- a/External/google-plus-ios-sdk/Resources/zh_TW.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "登入"; - -/* Long form sign-in button text */ -"Sign in with Google" = "使用 Google 帳戶登入"; diff --git a/External/google-plus-ios-sdk/Resources/zu.lproj/GooglePlusPlatform.strings b/External/google-plus-ios-sdk/Resources/zu.lproj/GooglePlusPlatform.strings deleted file mode 100644 index 71a88362..00000000 --- a/External/google-plus-ios-sdk/Resources/zu.lproj/GooglePlusPlatform.strings +++ /dev/null @@ -1,5 +0,0 @@ -/* Sign-in button text */ -"Sign in" = "Ngena ngemvume"; - -/* Long form sign-in button text */ -"Sign in with Google" = "Ngena ngemvume nge-Google"; diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleAppDelegate.h b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleAppDelegate.h deleted file mode 100644 index 28703dd6..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleAppDelegate.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// GooglePlusSampleAppDelegate.h -// -// Copyright 2012 Google 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. -// - -#import - -#import "GPPDeepLink.h" - -@class GTMOAuth2Authentication; - -@interface GooglePlusSampleAppDelegate : UIResponder< - UIApplicationDelegate, GPPDeepLinkDelegate> - -// The sample app's |UIWindow|. -@property (retain, nonatomic) UIWindow *window; -// The navigation controller. -@property (retain, nonatomic) UINavigationController *navigationController; - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleAppDelegate.m b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleAppDelegate.m deleted file mode 100644 index 6eba6c53..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleAppDelegate.m +++ /dev/null @@ -1,88 +0,0 @@ -// -// GooglePlusSampleAppDelegate.m -// -// Copyright 2012 Google 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. -// - -#import "GooglePlusSampleAppDelegate.h" - -#import "GooglePlusSampleMasterViewController.h" -#import "GPPSignIn.h" -#import "GPPURLHandler.h" - -@implementation GooglePlusSampleAppDelegate - -@synthesize window = window_; -@synthesize navigationController = navigationController_; - -// DO NOT USE THIS CLIENT ID. IT WILL NOT WORK FOR YOUR APP. -// Please use the client ID created for you by Google. -static NSString * const kClientID = - @"452265719636.apps.googleusercontent.com"; - -#pragma mark Object life-cycle. - -- (void)dealloc { - [window_ release]; - [navigationController_ release]; - [super dealloc]; -} - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - // Set app's client ID for |GPPSignIn| and |GPPShare|. - [GPPSignIn sharedInstance].clientID = kClientID; - - self.window = [[[UIWindow alloc] - initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; - GooglePlusSampleMasterViewController *masterViewController = - [[[GooglePlusSampleMasterViewController alloc] - initWithNibName:@"GooglePlusSampleMasterViewController" - bundle:nil] autorelease]; - self.navigationController = - [[[UINavigationController alloc] - initWithRootViewController:masterViewController] autorelease]; - self.window.rootViewController = self.navigationController; - [self.window makeKeyAndVisible]; - - // Read Google+ deep-link data. - [GPPDeepLink setDelegate:self]; - [GPPDeepLink readDeepLinkAfterInstall]; - return YES; -} - -- (BOOL)application:(UIApplication *)application - openURL:(NSURL *)url - sourceApplication:(NSString *)sourceApplication - annotation:(id)annotation { - return [GPPURLHandler handleURL:url - sourceApplication:sourceApplication - annotation:annotation]; -} - -#pragma mark - GPPDeepLinkDelegate - -- (void)didReceiveDeepLink:(GPPDeepLink *)deepLink { - // An example to handle the deep link data. - UIAlertView *alert = [[[UIAlertView alloc] - initWithTitle:@"Deep-link Data" - message:[deepLink deepLinkID] - delegate:nil - cancelButtonTitle:@"OK" - otherButtonTitles:nil] autorelease]; - [alert show]; -} - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListMomentsViewController.h b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListMomentsViewController.h deleted file mode 100644 index 6349390c..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListMomentsViewController.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// GooglePlusSampleListMomentsViewController.h -// -// Copyright 2012 Google 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. -// - -#import - -@class GTLPlusMoment; - -@interface GooglePlusSampleListMomentsViewController : UIViewController< - UITableViewDelegate, - UITableViewDataSource> { - // A map from activities to verbs used for display. - NSDictionary *verbMap_; - // An array of |GTLPlusMoment|, as the data source. - NSMutableArray *momentsData_; - // Currently selected moment in the |momentsData_| array. - GTLPlusMoment *selectedMoment_; -} - -// The table that displays the list of moments for the user. -@property (retain, nonatomic) IBOutlet UITableView *momentsTable; -// A label to display the status of selected moment, or general status. -@property (retain, nonatomic) IBOutlet UILabel *momentStatus; -// A label to display the target of selected moment. -@property (retain, nonatomic) IBOutlet UILabel *momentTarget; -// A label to display the time of selected moment. -@property (retain, nonatomic) IBOutlet UILabel *momentTime; -// A button to remove selected moment. -@property (retain, nonatomic) IBOutlet UIButton *momentRemoval; - -// Called when the remove button is pressed. -- (IBAction)removeMoment:(id)sender; - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListMomentsViewController.m b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListMomentsViewController.m deleted file mode 100644 index 58d48929..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListMomentsViewController.m +++ /dev/null @@ -1,229 +0,0 @@ -// -// GooglePlusSampleListMomentsViewController.m -// -// Copyright 2012 Google 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. -// - -#import "GooglePlusSampleListMomentsViewController.h" - -#import "GPPSignIn.h" -#import "GTLPlus.h" -#import "GTMLogger.h" -#import "GTMOAuth2Authentication.h" - -@interface GooglePlusSampleListMomentsViewController () -- (void)clearSelectedMoment; -- (void)refreshData; -- (NSString *)textForMoment:(GTLPlusMoment *)moment; -@end - -#pragma mark - View lifecycle - -@implementation GooglePlusSampleListMomentsViewController - -@synthesize momentsTable = momentsTable_; -@synthesize momentStatus = momentStatus_; -@synthesize momentTarget = momentTarget_; -@synthesize momentTime = momentTime_; -@synthesize momentRemoval = momentsRemoval_; - -#pragma mark - Object lifecycle - -- (id)initWithNibName:(NSString *)nibNameOrNil - bundle:(NSBundle *)nibBundleOrNil { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - verbMap_ = [[NSDictionary dictionaryWithObjectsAndKeys: - @"Added", @"http://schemas.google.com/AddActivity", - @"Bought", @"http://schemas.google.com/BuyActivity", - @"Checked in", @"http://schemas.google.com/CheckInActivity", - @"Commented on", @"http://schemas.google.com/CommentActivity", - @"Created", @"http://schemas.google.com/CreateActivity", - @"Listened to", @"http://schemas.google.com/ListenActivity", - @"Made a reservation at", @"http://schemas.google.com/ReserveActivity", - @"Reviewed", @"http://schemas.google.com/ReviewActivity", - nil] retain]; - } - return self; -} - -- (void)dealloc { - [verbMap_ release]; - [momentsData_ release]; - [selectedMoment_ release]; - [momentsTable_ release]; - [momentStatus_ release]; - [momentTarget_ release]; - [momentTime_ release]; - [super dealloc]; -} - -#pragma mark - View lifecycle - -- (void)viewDidLoad { - [super viewDidLoad]; - [self refreshData]; -} - -#pragma mark - UITableViewDelegate/UITableViewDataSource - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView - numberOfRowsInSection:(NSInteger)section { - return momentsData_.count; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView - cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString * const kCellIdentifier = @"Cell"; - UITableViewCell *cell = - [tableView dequeueReusableCellWithIdentifier:kCellIdentifier]; - if (cell == nil) { - cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault - reuseIdentifier:kCellIdentifier] - autorelease]; - cell.accessoryType = UITableViewCellAccessoryNone; - } - - // Configure the cell. - GTLPlusMoment *moment = momentsData_[indexPath.row]; - cell.textLabel.text = [self textForMoment:moment]; - return cell; -} - -- (void)tableView:(UITableView *)tableView - didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - GTLPlusMoment *moment = momentsData_[indexPath.row]; - [selectedMoment_ autorelease]; - selectedMoment_ = [moment retain]; - momentStatus_.text = [NSString stringWithFormat:@"Target for \"%@\":", - [self textForMoment:moment]]; - momentTarget_.text = moment.target.url; - momentTime_.text = [NSString stringWithFormat:@"Start time: %@", - [NSDateFormatter localizedStringFromDate:moment.startDate.date - dateStyle:kCFDateFormatterMediumStyle - timeStyle:kCFDateFormatterMediumStyle]]; - momentsRemoval_.hidden = NO; -} - -- (void)tableView:(UITableView *)tableView - didDeselectRowAtIndexPath:(NSIndexPath *)indexPath { - [self clearSelectedMoment]; -} - -#pragma mark - IBActions - -- (IBAction)removeMoment:(id)sender { - if (!selectedMoment_) { - return; - } - - // Here is an example of removing a moment from Google+: - // 1. Create a |GTLServicePlus| instance to send a request to Google+. - GTLServicePlus* plusService = [[[GTLServicePlus alloc] init] autorelease]; - plusService.retryEnabled = YES; - - // 2. Set a valid |GTMOAuth2Authentication| object as the authorizer. - GTMOAuth2Authentication *auth = [GPPSignIn sharedInstance].authentication; - [plusService setAuthorizer:auth]; - - // 3. Create a |GTLQuery| object to remove the moment. - GTLQueryPlus *query = [GTLQueryPlus - queryForMomentsRemoveWithIdentifier:selectedMoment_.identifier]; - [plusService executeQuery:query - completionHandler:^(GTLServiceTicket *ticket, - id object, - NSError *error) { - if (error) { - momentStatus_.text = - [NSString stringWithFormat:@"Error: %@", error]; - GTMLoggerError(@"Status: Error: %@", error); - } else { - [momentsData_ removeObject:selectedMoment_]; - [self clearSelectedMoment]; - [momentsTable_ reloadData]; - } - }]; -} - -#pragma mark - Helper methods - -- (void)clearSelectedMoment { - [selectedMoment_ autorelease]; - selectedMoment_ = nil; - momentStatus_.text = @""; - momentTarget_.text = @""; - momentTime_.text = @""; - momentsRemoval_.hidden = YES; -} - -- (void)refreshData { - GTMOAuth2Authentication *auth = [GPPSignIn sharedInstance].authentication; - if (!auth) { - // To authenticate, use Google+ sign-in button. - momentStatus_.text = @"Status: Not authenticated"; - return; - } - // Clear old moments data. - [momentsData_ autorelease]; - momentsData_ = nil; - [momentsTable_ reloadData]; - [self clearSelectedMoment]; - momentStatus_.text = @"Status: Loading"; - - // Here is an example of reading list of moments from Google+: - // 1. Create a |GTLServicePlus| instance to send a request to Google+. - GTLServicePlus* plusService = [[[GTLServicePlus alloc] init] autorelease]; - plusService.retryEnabled = YES; - - // 2. Set a valid |GTMOAuth2Authentication| object as the authorizer. - [plusService setAuthorizer:auth]; - - // 3. Create a |GTLQuery| object to list moments. - GTLQueryPlus *query = - [GTLQueryPlus queryForMomentsListWithUserId:@"me" - collection:kGTLPlusCollectionVault]; - [plusService executeQuery:query - completionHandler:^(GTLServiceTicket *ticket, - id object, - NSError *error) { - if (error) { - momentStatus_.text = - [NSString stringWithFormat:@"Error: %@", error]; - GTMLoggerError(@"Status: Error: %@", error); - } else { - GTLPlusMomentsFeed *moments = (GTLPlusMomentsFeed *)object; - momentsData_ = - [[NSMutableArray arrayWithArray:moments.items] retain]; - momentStatus_.text = [NSString stringWithFormat: - @"Status: Loaded %d moment(s)", momentsData_.count]; - [momentsTable_ reloadData]; - } - }]; -} - -- (NSString *)textForMoment:(GTLPlusMoment *)moment { - NSString *verb = [verbMap_ objectForKey:moment.type]; - if (!verb) { - // Fallback for verbs we don't recognize. - verb = [moment.type lastPathComponent]; - } - return [NSString stringWithFormat:@"%@ %@", verb, moment.target.name]; -} - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListMomentsViewController.xib b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListMomentsViewController.xib deleted file mode 100644 index 44105817..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListMomentsViewController.xib +++ /dev/null @@ -1,429 +0,0 @@ - - - - 1552 - 12C60 - 3084 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 2083 - - - IBProxyObject - IBUIButton - IBUILabel - IBUITableView - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - - - - 292 - {{15, 240}, {285, 42}} - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - - - 1 - MCAwIDAAA - darkTextColor - - - 0 - 2 - - 1 - 17 - - - Helvetica - 17 - 16 - - NO - 285 - - - - 292 - {{15, 359}, {89, 44}} - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - 1 - Remove - - 3 - MQA - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - 3 - MC41AA - - - 2 - 15 - - - Helvetica-Bold - 15 - 16 - - - - - 292 - - - - 274 - {{20, 20}, {320, 238}} - - - - _NS:9 - - YES - IBCocoaTouchFramework - YES - 1 - 0 - YES - 44 - 22 - 22 - - - {{-20, -20}, {360, 258}} - - - - _NS:10 - - 3 - MQA - - 2 - - - IBCocoaTouchFramework - - - - 292 - {{15, 284}, {285, 42}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - - - - 0 - 2 - - - NO - 285 - - - - 292 - {{15, 330}, {285, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - - - - 0 - - - NO - - - {{0, 20}, {320, 460}} - - - - - 3 - MQA - - - - IBCocoaTouchFramework - - - - - - - view - - - - 3 - - - - momentRemoval - - - - 61 - - - - momentsTable - - - - 33 - - - - momentStatus - - - - 76 - - - - momentTarget - - - - 101 - - - - momentTime - - - - 107 - - - - delegate - - - - 35 - - - - dataSource - - - - 34 - - - - removeMoment: - - - 7 - - 62 - - - - - - 0 - - - - - - 1 - - - - - - - - - - - - -1 - - - File's Owner - - - -2 - - - - - 14 - - - - - - 56 - - - - - - 66 - - - - - - - - 4 - - - - - - 93 - - - - - - 103 - - - - - - - - GooglePlusSampleListMomentsViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 151 - - - - - GooglePlusSampleListMomentsViewController - UIViewController - - removeMoment: - id - - - removeMoment: - - removeMoment: - id - - - - UIButton - UILabel - UILabel - UILabel - UITableView - - - - momentRemoval - UIButton - - - momentStatus - UILabel - - - momentTarget - UILabel - - - momentTime - UILabel - - - momentsTable - UITableView - - - - IBProjectSource - ./Classes/GooglePlusSampleListMomentsViewController.h - - - - - 0 - IBCocoaTouchFramework - YES - 3 - 2083 - - diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListPeopleViewController.h b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListPeopleViewController.h deleted file mode 100644 index 2cd99d80..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListPeopleViewController.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// GooglePlusSamplePeopleListViewController.h -// -// Copyright 2012 Google 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. -// - -#import - -// A view controller for listing people that are visible to this sample app. -// The open-source GTLPlus libraries are required. -@interface GooglePlusSampleListPeopleViewController : UIViewController< - UITableViewDelegate, - UITableViewDataSource> - -// A label to display the result of the listing people action. -@property (retain, nonatomic) IBOutlet UILabel *peopleStatus; -// The table that displays a list of people that is visible to this sample app. -@property (retain, nonatomic) IBOutlet UITableView *peopleTable; - -// A list of people that is visible to this sample app. -@property (retain, nonatomic) NSArray *peopleList; -// A list of people profile images that we will prefetch that is -// visible to this sample app. -@property (retain, nonatomic) NSMutableArray *peopleImageList; - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListPeopleViewController.m b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListPeopleViewController.m deleted file mode 100644 index c6436ec2..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListPeopleViewController.m +++ /dev/null @@ -1,190 +0,0 @@ -// -// GooglePlusSampleListPeopleViewController.m -// -// Copyright 2012 Google 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. -// - -#import "GooglePlusSampleListPeopleViewController.h" - -#import "GPPSignIn.h" -#import "GTLPlus.h" -#import "GTMLogger.h" -#import "GTMOAuth2Authentication.h" - -@interface GooglePlusSampleListPeopleViewController() -- (void)listPeople:(NSString *)collection; -- (void)reportAuthStatus; -- (void)fetchPeopleImages; -@end - -@implementation GooglePlusSampleListPeopleViewController - -@synthesize peopleTable = peopleTable_; -@synthesize peopleList = peopleList_; -@synthesize peopleStatus = peopleStatus_; -@synthesize peopleImageList = peopleImageList_; - -#pragma mark - Object lifecycle - -- (void)dealloc { - [peopleStatus_ release]; - [super dealloc]; -} - -#pragma mark - View lifecycle - -- (void)viewDidLoad { - // Report whether the user is authenticated with - // https://www.googleapis.com/auth/plus.login scope. - [self reportAuthStatus]; - // Send Google+ request to get list of people that is visible to this app. - [self listPeople:kGTLPlusCollectionVisible]; - [super viewDidLoad]; -} - -- (void)viewDidUnload { - [peopleImageList_ release]; - [peopleList_ release]; - [peopleStatus_ release]; - [super viewDidUnload]; -} - -#pragma mark - UITableViewDelegate/UITableViewDataSource - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView - numberOfRowsInSection:(NSInteger)section { - return peopleList_.count; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView - cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString *const kCellIdentifier = @"Cell"; - UITableViewCell *cell = - [tableView dequeueReusableCellWithIdentifier:kCellIdentifier]; - if (cell == nil) { - cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault - reuseIdentifier:kCellIdentifier] - autorelease]; - cell.accessoryType = UITableViewCellAccessoryNone; - } - - // Configure the cell by extracting a person's name and image from the list - // of people. - if (indexPath.row < peopleList_.count) { - GTLPlusPerson *person = peopleList_[indexPath.row]; - NSString *name = person.displayName; - cell.textLabel.text = name; - - if (indexPath.row < [peopleImageList_ count] && - ![[peopleImageList_ objectAtIndex:indexPath.row] - isEqual:[NSNull null]]) { - cell.imageView.image = - [[[UIImage alloc] - initWithData:[peopleImageList_ objectAtIndex:indexPath.row]] - autorelease]; - } else { - cell.imageView.image = nil; - } - } - - return cell; -} - -#pragma mark - Helper methods - -- (void)listPeople:(NSString *)collection { - GTMOAuth2Authentication *auth = [GPPSignIn sharedInstance].authentication; - if (!auth) { - // To authenticate, use Google+ sign-in button. - peopleStatus_.text = @"Status: Not authenticated"; - return; - } - - // 1. Create a |GTLServicePlus| instance to send a request to Google+. - GTLServicePlus* plusService = [[[GTLServicePlus alloc] init] autorelease]; - plusService.retryEnabled = YES; - - // 2. Set a valid |GTMOAuth2Authentication| object as the authorizer. - [plusService setAuthorizer:auth]; - - // 3. Create a |GTLQuery| object to list people that are visible to this - // sample app. - GTLQueryPlus *query = - [GTLQueryPlus queryForPeopleListWithUserId:@"me" - collection:collection]; - [plusService executeQuery:query - completionHandler:^(GTLServiceTicket *ticket, - GTLPlusPeopleFeed *peopleFeed, - NSError *error) { - if (error) { - GTMLoggerError(@"Error: %@", error); - peopleStatus_.text = - [NSString stringWithFormat:@"Status: Error: %@", error]; - } else { - // Get an array of people from |GTLPlusPeopleFeed| and reload - // the table view. - peopleList_ = [peopleFeed.items retain]; - [peopleTable_ reloadData]; - - // Render the status of the Google+ request. - NSNumber *count = peopleFeed.totalItems; - if (count.intValue == 1) { - peopleStatus_.text = [NSString stringWithFormat: - @"Status: Listed 1 person"]; - } else { - peopleStatus_.text = [NSString stringWithFormat: - @"Status: Listed %@ people", count]; - } - [self fetchPeopleImages]; - } - }]; -} - -- (void)fetchPeopleImages { - NSInteger index = 0; - peopleImageList_ = - [[NSMutableArray alloc] initWithCapacity:[peopleList_ count]]; - for (GTLPlusPerson *person in peopleList_) { - NSString *imageURLString = person.image.url; - if (imageURLString) { - NSURL *imageURL = [NSURL URLWithString:imageURLString]; - NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; - [peopleImageList_ setObject:imageData atIndexedSubscript:index]; - } else { - [peopleImageList_ setObject:[NSNull null] atIndexedSubscript:index]; - } - ++index; - } -} - -- (void)reportAuthStatus { - if (![GPPSignIn sharedInstance].authentication) { - return; - } - - if ([[GPPSignIn sharedInstance].scopes containsObject: - kGTLAuthScopePlusLogin]) { - peopleStatus_.text = @"Status: Authenticated with plus.login scope"; - } else { - // To authenticate, use Google+ sign-in button. - peopleStatus_.text = @"Status: Not authenticated with plus.login scope"; - } -} - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListPeopleViewController.xib b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListPeopleViewController.xib deleted file mode 100644 index ded8c680..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleListPeopleViewController.xib +++ /dev/null @@ -1,300 +0,0 @@ - - - - 1552 - 12C60 - 3084 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 2083 - - - IBProxyObject - IBUILabel - IBUITableView - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - - - - 292 - {{6, 11}, {253, 21}} - - - - _NS:9 - {250, 250} - NO - YES - 7 - NO - IBCocoaTouchFramework - People visible to this sample app: - - 1 - MCAwIDAAA - darkTextColor - - - 0 - - 1 - 17 - - - Helvetica - 17 - 16 - - NO - - - - 292 - {{6, 329}, {285, 67}} - - - - _NS:9 - NO - YES - NO - IBCocoaTouchFramework - Status: - - - 0 - 2 - - - NO - 285 - - - - 292 - - - - 274 - {{20, 20}, {320, 263}} - - - - _NS:9 - - 3 - MQA - - YES - IBCocoaTouchFramework - YES - 1 - 0 - YES - 44 - 22 - 22 - - - {{-20, 40}, {360, 303}} - - - - _NS:10 - - 3 - MQA - - 2 - - - IBCocoaTouchFramework - - - {{0, 64}, {320, 416}} - - - - - 3 - MQA - - - - - NO - - IBCocoaTouchFramework - - - - - - - peopleStatus - - - - 55 - - - - view - - - - 56 - - - - peopleTable - - - - 54 - - - - delegate - - - - 32 - - - - dataSource - - - - 31 - - - - - - 0 - - - - - - 1 - - - - - - - - - - -1 - - - File's Owner - - - -2 - - - - - 10 - - - - - 34 - - - - - - 129 - - - - - - - - 3 - - - - - - - - GooglePlusSampleListPeopleViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 157 - - - - - GooglePlusSampleListPeopleViewController - UIViewController - - UILabel - UITableView - - - - peopleStatus - UILabel - - - peopleTable - UITableView - - - - IBProjectSource - ./Classes/GooglePlusSampleListPeopleViewController.h - - - - - 0 - IBCocoaTouchFramework - YES - 3 - 2083 - - diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMasterViewController.h b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMasterViewController.h deleted file mode 100644 index 2d3b166f..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMasterViewController.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// GooglePlusSampleMasterViewController.h -// -// Copyright 2012 Google 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. -// - -#import - -@interface GooglePlusSampleMasterViewController : UITableViewController - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMasterViewController.m b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMasterViewController.m deleted file mode 100644 index c3466eb0..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMasterViewController.m +++ /dev/null @@ -1,135 +0,0 @@ -// -// GooglePlusSampleMasterViewController.m -// -// Copyright 2012 Google 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. -// - -#import "GooglePlusSampleMasterViewController.h" - -#import "GPPSignIn.h" - -static const int kNumViewControllers = 5; -static NSString * const kMenuOptions[kNumViewControllers] = { - @"Sign in", @"Share", @"List people", @"Write moments", - @"List & remove moments" }; -static NSString * const kUnselectableMenuOptions[kNumViewControllers] = { - nil, nil, @"Sign in to list people", @"Sign in to write moments", - @"Sign in to list/remove moments" }; -static NSString * const kNibNames[kNumViewControllers] = { - @"GooglePlusSampleSignInViewController", - @"GooglePlusSampleShareViewController", - @"GooglePlusSampleListPeopleViewController", - @"GooglePlusSampleMomentsViewController", - @"GooglePlusSampleListMomentsViewController" }; - -@interface GooglePlusSampleMasterViewController () -- (BOOL)isSelectable:(NSIndexPath *)indexPath; -@end - -@implementation GooglePlusSampleMasterViewController - -- (id)initWithNibName:(NSString *)nibNameOrNil - bundle:(NSBundle *)nibBundleOrNil { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - self.title = @"Google+ SDK Sample"; - UIBarButtonItem *backButton = [[[UIBarButtonItem alloc] - initWithTitle:@"Back" - style:UIBarButtonItemStylePlain - target:self - action:@selector(backPressed)] autorelease]; - self.navigationItem.backBarButtonItem = backButton; - } - return self; -} - -- (void)dealloc { - [super dealloc]; -} - -#pragma mark - View lifecycle - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) - interfaceOrientation { - if ([[UIDevice currentDevice] userInterfaceIdiom] == - UIUserInterfaceIdiomPhone) { - return interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown; - } - return YES; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - [self.tableView reloadData]; -} - -#pragma mark - UITableViewDelegate/UITableViewDataSource - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView - numberOfRowsInSection:(NSInteger)section { - return kNumViewControllers; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView - cellForRowAtIndexPath:(NSIndexPath *)indexPath { - BOOL selectable = [self isSelectable:indexPath]; - NSString * const kCellIdentifier = selectable ? @"Cell" : @"GreyCell"; - UITableViewCell *cell = - [tableView dequeueReusableCellWithIdentifier:kCellIdentifier]; - if (cell == nil) { - cell = - [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault - reuseIdentifier:kCellIdentifier] autorelease]; - if (selectable) { - cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; - } else { - cell.selectionStyle = UITableViewCellSelectionStyleNone; - cell.textLabel.textColor = [UIColor lightGrayColor]; - } - } - cell.textLabel.text = (selectable ? kMenuOptions : kUnselectableMenuOptions) - [indexPath.row]; - - return cell; -} - -- (void)tableView:(UITableView *)tableView - didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - if (![self isSelectable:indexPath]) { - return; - } - Class nibClass = NSClassFromString(kNibNames[indexPath.row]); - UIViewController *controller = - [[[nibClass alloc] initWithNibName:nil bundle:nil] autorelease]; - controller.navigationItem.title = kMenuOptions[indexPath.row]; - - [self.navigationController pushViewController:controller animated:YES]; -} - -#pragma mark - Helper methods - -- (BOOL)isSelectable:(NSIndexPath *)indexPath { - if (kUnselectableMenuOptions[indexPath.row]) { - // To use Google+ moments, you need to sign in. - return [GPPSignIn sharedInstance].authentication != nil; - } - return YES; -} - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMasterViewController.xib b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMasterViewController.xib deleted file mode 100644 index 7f4463c7..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMasterViewController.xib +++ /dev/null @@ -1,251 +0,0 @@ - - - - 1280 - 10K549 - 1938 - 1038.36 - 461.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 933 - - - IBUINavigationItem - IBUITableView - IBUITableViewController - IBUINavigationController - IBUINavigationBar - IBProxyObject - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - {{0, 20}, {320, 460}} - - - 3 - MQA - - YES - - IBCocoaTouchFramework - YES - 1 - 0 - YES - 44 - 22 - 22 - - - - - 1 - 1 - - IBCocoaTouchFramework - NO - - - 256 - {0, 0} - NO - YES - YES - IBCocoaTouchFramework - - - - - - 274 - {{0, 64}, {320, 416}} - - - - - NO - YES - NO - IBCocoaTouchFramework - YES - 1 - 0 - YES - 44 - 22 - 22 - - - - Google Plus Sample App - IBCocoaTouchFramework - - - - - 1 - 1 - - IBCocoaTouchFramework - NO - - - - - - - - - view - - - - 3 - - - - dataSource - - - - 4 - - - - delegate - - - - 5 - - - - delegate - - - - 12 - - - - dataSource - - - - 13 - - - - - - 0 - - - - - - -1 - - - File's Owner - - - -2 - - - - - 2 - - - - - 6 - - - - - - - - - 7 - - - - - 10 - - - - - - - - - 11 - - - - - 14 - - - - - - - GooglePlusSampleMasterViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 14 - - - - - GooglePlusSampleMasterViewController - UITableViewController - - IBProjectSource - ./Classes/GooglePlusSampleMasterViewController.h - - - - - 0 - IBCocoaTouchFramework - YES - 3 - 933 - - diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMomentsViewController.h b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMomentsViewController.h deleted file mode 100644 index 71f33d0e..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMomentsViewController.h +++ /dev/null @@ -1,49 +0,0 @@ -// -// GooglePlusSampleMomentsViewController.h -// -// Copyright 2012 Google 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. -// - -#import - -@class GTLServicePlus; - -// A view controller for writing different kinds of moments to Google+. -// The open-source GTLPlus libraries are required. For more details, see -// https://developers.google.com/+/features/app-activities . -@interface GooglePlusSampleMomentsViewController : UIViewController< - UITableViewDelegate, - UITableViewDataSource, - UITextFieldDelegate> { - BOOL keyboardVisible_; -} - -// A label to prompt the selection of a moment. -@property (retain, nonatomic) IBOutlet UILabel *selectionLabel; -// The table that displays the different kinds of moments available. -@property (retain, nonatomic) IBOutlet UITableView *momentsTable; -// The view for the bootom controls. -@property (retain, nonatomic) IBOutlet UIView *bottomControls; -// The target URL to associate with this moment. -@property (retain, nonatomic) IBOutlet UITextField *momentURL; -// A label to display the result of writing a moment. -@property (retain, nonatomic) IBOutlet UILabel *momentStatus; -// The "Add Moment" button. -@property (retain, nonatomic) IBOutlet UIButton *addButton; - -// Called when the user presses the "Add Moment" button. -- (IBAction)momentButton:(id)sender; - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMomentsViewController.m b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMomentsViewController.m deleted file mode 100644 index e32201b8..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMomentsViewController.m +++ /dev/null @@ -1,340 +0,0 @@ -// -// GooglePlusSampleMomentsViewController.m -// -// Copyright 2012 Google 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. -// - -#import "GooglePlusSampleMomentsViewController.h" - -#import -#import "GPPSignIn.h" -#import "GTLPlus.h" -#import "GTMLogger.h" -#import "GTMOAuth2Authentication.h" - -@interface GooglePlusSampleMomentsViewController () -- (GTLPlusItemScope *)resultFor:(NSString *)selectedMoment; -- (void)animateKeyboard:(NSNotification *)notification - shouldShow:(BOOL)shouldShow; -- (NSString *)momentURLForIndex:(int)i; -- (void)reportAuthStatus; -@end - -@implementation GooglePlusSampleMomentsViewController - -@synthesize selectionLabel = selectionLabel_; -@synthesize momentsTable = momentsTable_; -@synthesize bottomControls = bottomControls_; -@synthesize momentURL = momentURL_; -@synthesize momentStatus = momentStatus_; -@synthesize addButton = addButton_; - -// The different kinds of moments. -static const int kNumMomentTypes = 8; -static NSString * const kMomentTypes[kNumMomentTypes] = { - @"AddActivity", - @"BuyActivity", - @"CheckInActivity", - @"CommentActivity", - @"CreateActivity", - @"ListenActivity", - @"ReserveActivity", - @"ReviewActivity" }; -static NSString * const kMomentURLs[kNumMomentTypes] = { - @"thing", - @"a-book", - @"place", - @"blog-entry", - @"photo", - @"song", - @"restaurant", - @"widget" }; -static NSString * const kMomentURLFormat = - @"https://developers.google.com/+/plugins/snippet/examples/%@"; - -#pragma mark - Object lifecycle - -- (void)dealloc { - // Unregister for keyboard notifications while not visible. - [[NSNotificationCenter defaultCenter] - removeObserver:self - name:UIKeyboardWillShowNotification - object:nil]; - [[NSNotificationCenter defaultCenter] - removeObserver:self - name:UIKeyboardWillHideNotification - object:nil]; - [selectionLabel_ release]; - [momentsTable_ release]; - [bottomControls_ release]; - [momentURL_ release]; - [momentStatus_ release]; - [addButton_ release]; - [super dealloc]; -} - -#pragma mark - View lifecycle - -- (void)viewDidLoad { - // Set up "Add Moment" button. - [[addButton_ layer] setCornerRadius:5]; - [[addButton_ layer] setMasksToBounds:YES]; - CGColorRef borderColor = [[UIColor colorWithWhite:203.0/255.0 - alpha:1.0] CGColor]; - [[addButton_ layer] setBorderColor:borderColor]; - [[addButton_ layer] setBorderWidth:1.0]; - - // Set up sample view of writing moments. - int selectedRow = [[momentsTable_ indexPathForSelectedRow] row]; - momentURL_.text = [self momentURLForIndex:selectedRow]; - - [self reportAuthStatus]; - [super viewDidLoad]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - // Register for keyboard notifications while visible. - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(keyboardWillShow:) - name:UIKeyboardWillShowNotification - object:nil]; - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(keyboardWillHide:) - name:UIKeyboardWillHideNotification - object:nil]; - - // Scale the table view vertically down to its contents if necessary. - [momentsTable_ reloadData]; - CGRect frame = momentsTable_.frame; - if (frame.size.height > momentsTable_.contentSize.height) { - CGFloat shift = frame.size.height - momentsTable_.contentSize.height; - frame.size.height = momentsTable_.contentSize.height; - momentsTable_.frame = frame; - - // Also update the prompt by removing the "scroll for more" part. - selectionLabel_.text = @"Select an activity"; - - // And move the bottom view up for the same shift amount. - frame = bottomControls_.frame; - frame.origin.y -= shift; - bottomControls_.frame = frame; - } -} - -- (void)viewWillDisappear:(BOOL)animated { - // Unregister for keyboard notifications while not visible. - [[NSNotificationCenter defaultCenter] - removeObserver:self - name:UIKeyboardWillShowNotification - object:nil]; - [[NSNotificationCenter defaultCenter] - removeObserver:self - name:UIKeyboardWillHideNotification - object:nil]; - - [super viewWillDisappear:animated]; -} - -#pragma mark - IBActions - -- (IBAction)momentButton:(id)sender { - GTMOAuth2Authentication *auth = [GPPSignIn sharedInstance].authentication; - if (!auth) { - // To authenticate, use Google+ sign-in button. - momentStatus_.text = @"Status: Not authenticated"; - return; - } - - // Here is an example of writing a moment to Google+: - // 1. Create a |GTLServicePlus| instance to send a request to Google+. - GTLServicePlus* plusService = [[[GTLServicePlus alloc] init] autorelease]; - plusService.retryEnabled = YES; - - // 2. Set a valid |GTMOAuth2Authentication| object as the authorizer. - [plusService setAuthorizer:auth]; - - // 3. Create a |GTLPlusMoment| object with required fields. For reference, see - // https://developers.google.com/+/features/app-activities . - int selectedRow = [[momentsTable_ indexPathForSelectedRow] row]; - NSString *selectedMoment = kMomentTypes[selectedRow]; - - GTLPlusMoment *moment = [[[GTLPlusMoment alloc] init] autorelease]; - moment.type = [NSString stringWithFormat:@"http://schemas.google.com/%@", - selectedMoment]; - GTLPlusItemScope *target = [[[GTLPlusItemScope alloc] init] autorelease]; - target.url = momentURL_.text; - if ([target.url isEqualToString:@""]) { - target.url = [self momentURLForIndex:selectedRow]; - } - moment.target = target; - - // CommentActivity, ReserveActivity, and ReviewActivity require setting a - // |result| field in the request. - GTLPlusItemScope *result = [self resultFor:selectedMoment]; - if (result) { - moment.result = result; - } - - // 4. Create a |GTLQuery| object to write a moment. - GTLQueryPlus *query = - [GTLQueryPlus queryForMomentsInsertWithObject:moment - userId:@"me" - collection:kGTLPlusCollectionVault]; - - [plusService executeQuery:query - completionHandler:^(GTLServiceTicket *ticket, - id object, - NSError *error) { - if (error) { - GTMLoggerError(@"Error: %@", error); - momentStatus_.text = - [NSString stringWithFormat:@"Status: Error: %@", error]; - } else { - momentStatus_.text = [NSString stringWithFormat: - @"Status: Saved to Google+ (%@)", - selectedMoment]; - } - }]; -} - -#pragma mark - UITableViewDelegate/UITableViewDataSource - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView - numberOfRowsInSection:(NSInteger)section { - return kNumMomentTypes; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView - cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString * const kCellIdentifier = @"Cell"; - UITableViewCell *cell = - [tableView dequeueReusableCellWithIdentifier:kCellIdentifier]; - if (cell == nil) { - cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault - reuseIdentifier:kCellIdentifier] - autorelease]; - cell.accessoryType = UITableViewCellAccessoryNone; - } - - // Configure the cell. - cell.textLabel.text = kMomentTypes[indexPath.row]; - return cell; -} - -- (void)tableView:(UITableView *)tableView - didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - int selectedRow = [[momentsTable_ indexPathForSelectedRow] row]; - momentURL_.text = [self momentURLForIndex:selectedRow]; -} - -#pragma mark - UITextFieldDelegate - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - [textField resignFirstResponder]; - return YES; -} - -#pragma mark - UIKeyboard - -- (void)keyboardWillShow:(NSNotification *)notification { - [self animateKeyboard:notification shouldShow:YES]; -} - -- (void)keyboardWillHide:(NSNotification *)notification { - [self animateKeyboard:notification shouldShow:NO]; -} - -#pragma mark - Private methods - -// Helps set required result field for select moment types. -- (GTLPlusItemScope *)resultFor:(NSString *)selectedMoment { - GTLPlusItemScope *result = [[[GTLPlusItemScope alloc] init] autorelease]; - if ([selectedMoment isEqualToString:@"CommentActivity"]) { - result.type = @"http://schema.org/Comment"; - result.url = @"https://developers.google.com/+/plugins/snippet/" - @"examples/blog-entry#comment-1"; - result.name = @"This is amazing!"; - result.text = @"I can't wait to use it on my site :)"; - return result; - } else if ([selectedMoment isEqualToString:@"ReserveActivity"]) { - result.type = @"http://schemas.google.com/Reservation"; - result.startDate = @"2012-06-28T19:00:00-08:00"; - result.attendeeCount = [[[NSNumber alloc] initWithInt:3] autorelease]; - return result; - } else if ([selectedMoment isEqualToString:@"ReviewActivity"]) { - result.type = @"http://schema.org/Review"; - result.name = @"A Humble Review of Widget"; - result.url = - @"https://developers.google.com/+/plugins/snippet/examples/review"; - result.text = - @"It's amazingly effective at whatever it is that it's supposed to do."; - GTLPlusItemScope *rating = [[[GTLPlusItemScope alloc] init] autorelease]; - rating.type = @"http://schema.org/Rating"; - rating.ratingValue = @"100"; - rating.bestRating = @"100"; - rating.worstRating = @"0"; - result.reviewRating = rating; - return result; - } - return nil; -} - -// Helps animate keyboard for target URL text field. -- (void)animateKeyboard:(NSNotification *)notification - shouldShow:(BOOL)shouldShow { - NSDictionary *userInfo = [notification userInfo]; - CGFloat height = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] - CGRectValue].size.height; - CGFloat duration = [[userInfo - objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]; - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationDuration:duration]; - CGRect newFrame = self.view.frame; - if (shouldShow) { - newFrame.size.height -= height; - } else { - newFrame.size.height += height; - } - self.view.frame = newFrame; - [UIView commitAnimations]; - if (shouldShow) { - keyboardVisible_ = YES; - } else { - keyboardVisible_ = NO; - } -} - -- (NSString *)momentURLForIndex:(int)i { - return [NSString stringWithFormat:kMomentURLFormat, kMomentURLs[i]]; -} - -- (void)reportAuthStatus { - if ([GPPSignIn sharedInstance].authentication) { - momentStatus_.text = @"Status: Authenticated"; - } else { - // To authenticate, use Google+ sign-in button. - momentStatus_.text = @"Status: Not authenticated"; - } -} - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMomentsViewController.xib b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMomentsViewController.xib deleted file mode 100644 index fd7b5f59..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleMomentsViewController.xib +++ /dev/null @@ -1,479 +0,0 @@ - - - - 1552 - 12C60 - 3084 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 2083 - - - IBProxyObject - IBUIButton - IBUILabel - IBUITableView - IBUITextField - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - - - - 290 - {{10, 5}, {296, 21}} - - - NO - YES - 7 - NO - IBCocoaTouchFramework - Select an activity (scroll for more) - - 1 - MCAwIDAAA - darkTextColor - - - 1 - 10 - - 1 - 17 - - - Helvetica - 17 - 16 - - - - - 274 - {{0, 32}, {320, 132}} - - - - 3 - MQA - - YES - IBCocoaTouchFramework - YES - 1 - 0 - YES - 44 - 22 - 22 - - - - 266 - - - - 266 - {{11, 20}, {296, 21}} - - - NO - YES - 7 - NO - IBCocoaTouchFramework - Enter a Moment URL - - - 1 - 10 - - - - - - 266 - {{11, 51}, {291, 31}} - - - NO - YES - IBCocoaTouchFramework - 0 - - 3 - - 3 - MAA - - 2 - - - YES - 17 - - IBCocoaTouchFramework - - - 1 - 14 - - - Helvetica - 14 - 16 - - - - - 264 - {{12, 113}, {142, 37}} - - - NO - IBCocoaTouchFramework - 0 - 0 - Add Moment - - 1 - MC40MzkyMTU2ODYzIDAuMTI1NDkwMTk2MSAwLjA2Mjc0NTA5ODA0AA - - - 1 - MC42MzUyOTQxMTc2IDAuMzIxNTY4NjI3NSAwLjI1ODgyMzUyOTQAA - - - 3 - MC41AA - - - NSImage - button_background.png - - - 2 - 15 - - - Helvetica-Bold - 15 - 16 - - - - - 266 - {{11, 180}, {290, 21}} - - NO - YES - 7 - NO - IBCocoaTouchFramework - Status: - - - 1 - 11 - - - - - {{0, 172}, {320, 244}} - - - - IBCocoaTouchFramework - - - {{0, 64}, {320, 416}} - - - 3 - MQA - - - - - - NO - - IBCocoaTouchFramework - - - - - - - view - - - - 3 - - - - momentsTable - - - - 17 - - - - momentStatus - - - - 25 - - - - addButton - - - - 28 - - - - momentURL - - - - 30 - - - - selectionLabel - - - - 32 - - - - bottomControls - - - - 34 - - - - dataSource - - - - 18 - - - - delegate - - - - 19 - - - - delegate - - - - 31 - - - - momentButton: - - - 7 - - 20 - - - - - - 0 - - - - - - 1 - - - - - - - - - - -1 - - - File's Owner - - - -2 - - - - - 7 - - - - - - 26 - - - - - 27 - - - - - - - - - - - 13 - - - - - 12 - - - - - 16 - - - - - 22 - - - - - - - GooglePlusSampleMomentsViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 34 - - - - - GooglePlusSampleMomentsViewController - UIViewController - - momentButton: - id - - - momentButton: - - momentButton: - id - - - - UIButton - UIView - UILabel - UITextField - UITableView - UILabel - - - - addButton - UIButton - - - bottomView - UIView - - - momentStatus - UILabel - - - momentURL - UITextField - - - momentsTable - UITableView - - - selectionLabel - UILabel - - - - IBProjectSource - ./Classes/GooglePlusSampleMomentsViewController.h - - - - - 0 - IBCocoaTouchFramework - YES - 3 - - button_background.png - {1, 1} - - 2083 - - diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleShareViewController.h b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleShareViewController.h deleted file mode 100644 index 4245abd0..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleShareViewController.h +++ /dev/null @@ -1,89 +0,0 @@ -// -// GooglePlusSampleShareViewController.h -// -// Copyright 2012 Google 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. -// - -#import -#import -#import -#import "GPPShare.h" - -// A view controller for the Google+ share dialog which contains a text field -// to prefill the user comment, and a text field for an optional URL to share. -// A Google+ share button is provided to launch the share dialog. -@interface GooglePlusSampleShareViewController : UIViewController< - GPPShareDelegate, - UITextFieldDelegate, - UIActionSheetDelegate, - UIPickerViewDataSource, - UIPickerViewDelegate, - MFMailComposeViewControllerDelegate> { - // Whether the keyboard is visible or not. - BOOL keyboardVisible_; - // The text field being edited. - UITextField *activeField_; -} - -@property (retain, nonatomic) NSArray *callToActions; -@property (copy, nonatomic) NSString *selectedCallToAction; -@property (retain, nonatomic) UIPickerView *callToActionPickerView; -// The text to prefill the user comment in the share dialog. -@property (retain, nonatomic) IBOutlet UITextField *sharePrefillText; -// The URL resource to share in the share dialog. -@property (retain, nonatomic) IBOutlet UITextField *shareURL; -// A label to display the result of the share action. -@property (retain, nonatomic) IBOutlet UILabel *shareStatus; -// A toolbar to share via Google+ or email. -@property (retain, nonatomic) IBOutlet UIToolbar *shareToolbar; -// A switch to toggle Google+ share with content deep linking. -@property (retain, nonatomic) IBOutlet UISwitch *addContentDeepLinkSwitch; -// The content deep-link ID to be attached with the Google+ share to qualify as -// a deep-link share. -@property (retain, nonatomic) IBOutlet UITextField *contentDeepLinkID; -// The share's title. -@property (retain, nonatomic) IBOutlet UITextField *contentDeepLinkTitle; -// The share's description. -@property (retain, nonatomic) IBOutlet UITextField *contentDeepLinkDescription; -// The share's thumbnail URL. -@property (retain, nonatomic) IBOutlet UITextField *contentDeepLinkThumbnailURL; -// The share view. -@property (retain, nonatomic) IBOutlet UIScrollView *shareScrollView; -@property (retain, nonatomic) IBOutlet UIView *shareView; -// Labels for Google+ share sample. -@property (retain, nonatomic) IBOutlet UILabel *addContentDeepLinkLabel; -@property (retain, nonatomic) IBOutlet UILabel *urlToShareLabel; -@property (retain, nonatomic) IBOutlet UILabel *prefillTextLabel; -@property (retain, nonatomic) IBOutlet UILabel *contentDeepLinkIDLabel; -@property (retain, nonatomic) IBOutlet UILabel *contentDeepLinkTitleLabel; -@property (retain, nonatomic) IBOutlet UILabel *contentDeepLinkDescriptionLabel; -@property (retain, nonatomic) IBOutlet UILabel *contentDeepLinkThumbnailURLLabel; -@property (retain, nonatomic) IBOutlet UIButton *shareButton; -@property (retain, nonatomic) IBOutlet UISwitch *urlForContentDeepLinkMetadataSwitch; -@property (retain, nonatomic) IBOutlet UILabel *urlForContentDeepLinkMetadataLabel; -// The switch for adding call-to-action button. -@property (retain, nonatomic) IBOutlet UISwitch *addCallToActionButtonSwitch; -@property (retain, nonatomic) IBOutlet UILabel *addCallToActionButtonLabel; - -// Called when the switch for content deep link is toggled. -- (IBAction)contentDeepLinkSwitchToggle:(id)sender; -// Called when the switch for metadata from URL preview is toggled. -- (IBAction)urlForContentDeepLinkMetadataSwitchToggle:(id)sender; -// Called when the share button is pressed. -- (IBAction)shareButton:(id)sender; -// Called when the toolbar share button is pressed. -- (IBAction)shareToolbar:(id)sender; - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleShareViewController.m b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleShareViewController.m deleted file mode 100644 index c004d24d..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleShareViewController.m +++ /dev/null @@ -1,703 +0,0 @@ -// -// GooglePlusSampleShareViewController.m -// -// Copyright 2012 Google 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. -// - -#import "GooglePlusSampleShareViewController.h" - -#import -#import "GPPSignIn.h" -#import "GTLPlusConstants.h" -#import "GTMOAuth2Authentication.h" - -@interface GooglePlusSampleShareViewController() -- (void)animateKeyboard:(NSNotification *)notification - shouldShow:(BOOL)shouldShow; -- (void)layout; -- (void)placeView:(UIView *)view x:(CGFloat)x y:(CGFloat)y; -- (void)populateTextFields; -@end - -@implementation GooglePlusSampleShareViewController - -@synthesize callToActions = callToActions_; -@synthesize selectedCallToAction = selectedCallToAction_; -@synthesize callToActionPickerView = callToActionPickerView_; -@synthesize addContentDeepLinkSwitch = addContentDeepLinkSwitch_; -@synthesize contentDeepLinkDescription = contentDeepLinkDescription_; -@synthesize contentDeepLinkID = contentDeepLinkID_; -@synthesize contentDeepLinkTitle = contentDeepLinkTitle_; -@synthesize contentDeepLinkThumbnailURL = contentDeepLinkThumbnailURL_; -@synthesize sharePrefillText = sharePrefillText_; -@synthesize shareURL = shareURL_; -@synthesize shareStatus = shareStatus_; -@synthesize shareToolbar = shareToolbar_; -@synthesize shareScrollView = shareScrollView_; -@synthesize shareView = shareView_; -@synthesize addContentDeepLinkLabel = addContentDeepLinkLabel_; -@synthesize urlToShareLabel = urlToShareLabel_; -@synthesize prefillTextLabel = prefillTextLabel_; -@synthesize contentDeepLinkIDLabel = contentDeepLinkIDLabel_; -@synthesize contentDeepLinkTitleLabel = contentDeepLinkTitleLabel_; -@synthesize contentDeepLinkDescriptionLabel = - contentDeepLinkDescriptionLabel_; -@synthesize contentDeepLinkThumbnailURLLabel = - contentDeepLinkThumbnailURLLabel_; -@synthesize shareButton = shareButton_; -@synthesize urlForContentDeepLinkMetadataSwitch = - urlForContentDeepLinkMetadataSwitch_; -@synthesize urlForContentDeepLinkMetadataLabel = - urlForContentDeepLinkMetadataLabel_; -@synthesize addCallToActionButtonSwitch = addCallToActionButtonSwitch_; -@synthesize addCallToActionButtonLabel = addCallToActionButtonLabel_; - -- (void)dealloc { - [callToActions_ release]; - [selectedCallToAction_ release]; - [callToActionPickerView_ release]; - [addContentDeepLinkSwitch_ release]; - [contentDeepLinkID_ release]; - [contentDeepLinkTitle_ release]; - [contentDeepLinkDescription_ release]; - [contentDeepLinkThumbnailURL_ release]; - [sharePrefillText_ release]; - [shareURL_ release]; - [shareStatus_ release]; - [shareToolbar_ release]; - [shareScrollView_ release]; - [shareView_ release]; - [addContentDeepLinkLabel_ release]; - [urlToShareLabel_ release]; - [prefillTextLabel_ release]; - [contentDeepLinkIDLabel_ release]; - [contentDeepLinkTitleLabel_ release]; - [contentDeepLinkDescriptionLabel_ release]; - [contentDeepLinkThumbnailURLLabel_ release]; - [shareButton_ release]; - [urlForContentDeepLinkMetadataSwitch_ release]; - [urlForContentDeepLinkMetadataLabel_ release]; - [addCallToActionButtonSwitch_ release]; - [addCallToActionButtonLabel_ release]; - [super dealloc]; -} - -#pragma mark - View lifecycle - -- (void)viewDidLoad { - // Set up Google+ share dialog. - [GPPShare sharedInstance].delegate = self; - - [addCallToActionButtonSwitch_ setOn:NO]; - [addContentDeepLinkSwitch_ setOn:NO]; - if (![GPPSignIn sharedInstance].authentication || - ![[GPPSignIn sharedInstance].scopes containsObject: - kGTLAuthScopePlusLogin]) { - addCallToActionButtonLabel_.text = @"Sign in for call-to-action"; - addCallToActionButtonSwitch_.enabled = NO; - } - addCallToActionButtonLabel_.adjustsFontSizeToFitWidth = YES; - - self.callToActions = [NSArray arrayWithObjects: - @"ACCEPT", - @"ACCEPT_GIFT", - @"ADD", - @"ANSWER", - @"ADD_TO_CALENDAR", - @"APPLY", - @"ASK", - @"ATTACK", - @"BEAT", - @"BID", - @"BOOK", - @"BOOKMARK", - @"BROWSE", - @"BUY", - @"CAPTURE", - @"CHALLENGE", - @"CHANGE", - @"CHECKIN", - @"CLICK_HERE", - @"CLICK_ME", - @"COLLECT", - @"COMMENT", - @"COMPARE", - @"COMPLAIN", - @"CONFIRM", - @"CONNECT", - @"CONTRIBUTE", - @"COOK", - @"CREATE", - @"DEFEND", - @"DINE", - @"DISCOVER", - @"DISCUSS", - @"DONATE", - @"DOWNLOAD", - @"EARN", - @"EAT", - @"EXPLAIN", - @"FOLLOW", - @"GET", - @"GIFT", - @"GIVE", - @"GO", - @"HELP", - @"IDENTIFY", - @"INSTALL_APP", - @"INTRODUCE", - @"INVITE", - @"JOIN", - @"JOIN_ME", - @"LEARN", - @"LEARN_MORE", - @"LISTEN", - @"LOVE", - @"MAKE", - @"MATCH", - @"OFFER", - @"OPEN", - @"OPEN_APP", - @"OWN", - @"PAY", - @"PIN", - @"PLAN", - @"PLAY", - @"RATE", - @"READ", - @"RECOMMEND", - @"RECORD", - @"REDEEM", - @"REPLY", - @"RESERVE", - @"REVIEW", - @"RSVP", - @"SAVE", - @"SAVE_OFFER", - @"SELL", - @"SEND", - @"SHARE_X", - @"SIGN_IN", - @"SIGN_UP", - @"START", - @"ST0P", - @"TEST", - @"UPVOTE", - @"VIEW", - @"VIEW_ITEM", - @"VIEW_PROFILE", - @"VISIT", - @"VOTE", - @"WANT", - @"WATCH", - @"WRITE", - nil - ]; - self.selectedCallToAction = [callToActions_ objectAtIndex:0]; - self.callToActionPickerView = [[[UIPickerView alloc] init] autorelease]; - callToActionPickerView_.delegate = self; - callToActionPickerView_.dataSource = self; - [addCallToActionButtonSwitch_ addTarget:self - action:@selector(addCallToActionSwitched) - forControlEvents:UIControlEventValueChanged]; - - [self layout]; - [self populateTextFields]; - [super viewDidLoad]; -} - -- (void)viewDidUnload { - [GPPShare sharedInstance].delegate = nil; - [[NSNotificationCenter defaultCenter] - removeObserver:self - name:UIKeyboardWillShowNotification - object:nil]; - [[NSNotificationCenter defaultCenter] - removeObserver:self - name:UIKeyboardWillHideNotification - object:nil]; - - [self setAddContentDeepLinkSwitch:nil]; - [self setContentDeepLinkID:nil]; - [self setContentDeepLinkTitle:nil]; - [self setContentDeepLinkDescription:nil]; - [self setContentDeepLinkThumbnailURL:nil]; - [self setShareScrollView:nil]; - [self setShareView:nil]; - [self setShareToolbar:nil]; - [self setAddContentDeepLinkLabel:nil]; - [self setUrlToShareLabel:nil]; - [self setPrefillTextLabel:nil]; - [self setContentDeepLinkIDLabel:nil]; - [self setContentDeepLinkTitleLabel:nil]; - [self setContentDeepLinkDescriptionLabel:nil]; - [self setContentDeepLinkThumbnailURLLabel:nil]; - [self setShareButton:nil]; - [self setUrlForContentDeepLinkMetadataSwitch:nil]; - [self setUrlForContentDeepLinkMetadataLabel:nil]; - [self setAddCallToActionButtonSwitch:nil]; - [self setAddCallToActionButtonLabel:nil]; - [super viewDidUnload]; -} - -- (void)viewWillAppear:(BOOL)animated { - if ([[UIDevice currentDevice] userInterfaceIdiom] - == UIUserInterfaceIdiomPad) { - shareScrollView_.frame = self.view.frame; - } - [super viewWillAppear:animated]; - - // Register for keyboard notifications while visible. - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(keyboardWillShow:) - name:UIKeyboardWillShowNotification - object:nil]; - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(keyboardWillHide:) - name:UIKeyboardWillHideNotification - object:nil]; -} - -- (void)viewWillDisappear:(BOOL)animated { - // Unregister for keyboard notifications while not visible. - [[NSNotificationCenter defaultCenter] - removeObserver:self - name:UIKeyboardWillShowNotification - object:nil]; - [[NSNotificationCenter defaultCenter] - removeObserver:self - name:UIKeyboardWillHideNotification - object:nil]; - - [super viewWillDisappear:animated]; -} - -#pragma mark - UITextFieldDelegate - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - [textField resignFirstResponder]; - return YES; -} - -- (void)textFieldDidBeginEditing:(UITextField *)textField { - activeField_ = textField; -} - -- (void)textFieldDidEndEditing:(UITextField *)textField { - activeField_ = nil; -} - -#pragma mark - GPPShareDelegate - -- (void)finishedSharing:(BOOL)shared { - NSString *text = shared ? @"Success" : @"Canceled"; - shareStatus_.text = [NSString stringWithFormat:@"Status: %@", text]; -} - -#pragma mark - UIActionSheetDelegate - -- (void)actionSheet:(UIActionSheet *)actionSheet - didDismissWithButtonIndex:(NSInteger)buttonIndex { - if (buttonIndex == 0) { - [self shareButton:nil]; - } else if (buttonIndex == 1) { - shareStatus_.text = @"Status: Sharing..."; - MFMailComposeViewController *picker = - [[[MFMailComposeViewController alloc] init] autorelease]; - picker.mailComposeDelegate = self; - [picker setSubject:sharePrefillText_.text]; - [picker setMessageBody:shareURL_.text isHTML:NO]; - - [self presentModalViewController:picker animated:YES]; - } -} - -#pragma mark - MFMailComposeViewControllerDelegate - -- (void)mailComposeController:(MFMailComposeViewController *)controller - didFinishWithResult:(MFMailComposeResult)result - error:(NSError*)error { - NSString *text; - switch (result) { - case MFMailComposeResultCancelled: - text = @"Canceled"; - break; - case MFMailComposeResultSaved: - text = @"Saved"; - break; - case MFMailComposeResultSent: - text = @"Sent"; - break; - case MFMailComposeResultFailed: - text = @"Failed"; - break; - default: - text = @"Not sent"; - break; - } - shareStatus_.text = [NSString stringWithFormat:@"Status: %@", text]; - [self dismissModalViewControllerAnimated:YES]; -} - -#pragma mark - UIKeyboard - -- (void)keyboardWillShow:(NSNotification *)notification { - [self animateKeyboard:notification shouldShow:YES]; -} - -- (void)keyboardWillHide:(NSNotification *)notification { - [self animateKeyboard:notification shouldShow:NO]; -} - -#pragma mark - IBActions - -- (IBAction)shareButton:(id)sender { - shareStatus_.text = @"Status: Sharing..."; - id shareBuilder = [[GPPShare sharedInstance] shareDialog]; - - NSString *inputURL = shareURL_.text; - NSURL *urlToShare = [inputURL length] ? [NSURL URLWithString:inputURL] : nil; - if (urlToShare) { - [shareBuilder setURLToShare:urlToShare]; - } - - if ([contentDeepLinkID_ text]) { - [shareBuilder setContentDeepLinkID:[contentDeepLinkID_ text]]; - NSString *title = [contentDeepLinkTitle_ text]; - NSString *description = [contentDeepLinkDescription_ text]; - if (title && description) { - NSURL *thumbnailURL = - [NSURL URLWithString:[contentDeepLinkThumbnailURL_ text]]; - [shareBuilder setTitle:title - description:description - thumbnailURL:thumbnailURL]; - } - } - - NSString *inputText = sharePrefillText_.text; - NSString *text = [inputText length] ? inputText : nil; - if (text) { - [shareBuilder setPrefillText:text]; - } - - if ([addCallToActionButtonSwitch_ isOn]) { - // Please replace the URL below with your own call-to-action button URL. - NSURL *callToActionURL = [NSURL URLWithString: - @"http://developers.google.com/+/mobile/ios/"]; - [shareBuilder setCallToActionButtonWithLabel:selectedCallToAction_ - URL:callToActionURL - deepLinkID:@"call-to-action"]; - } - - if (![shareBuilder open]) { - shareStatus_.text = @"Status: Error (see console)."; - } -} - -- (IBAction)shareToolbar:(id)sender { - UIActionSheet *actionSheet = - [[[UIActionSheet alloc] initWithTitle:@"Share this post" - delegate:self - cancelButtonTitle:@"Cancel" - destructiveButtonTitle:nil - otherButtonTitles:@"Google+", @"Email", nil] - autorelease]; - [actionSheet showFromToolbar:shareToolbar_]; -} - -- (IBAction)urlForContentDeepLinkMetadataSwitchToggle:(id)sender { - [self layout]; - [self populateTextFields]; -} - -- (IBAction)contentDeepLinkSwitchToggle:(id)sender { - if (!addContentDeepLinkSwitch_.on) { - [urlForContentDeepLinkMetadataSwitch_ setOn:YES]; - } - [self layout]; - [self populateTextFields]; -} - -#pragma mark - Helper methods - -- (void)placeView:(UIView *)view x:(CGFloat)x y:(CGFloat)y { - CGSize frameSize = view.frame.size; - view.frame = CGRectMake(x, y, frameSize.width, frameSize.height); -} - -- (void)layout { - CGFloat originX = 20.0; - CGFloat originY = 10.0; - CGFloat yPadding = 10.0; - CGFloat currentY = originY; - CGFloat middleX = 150; - - // Place the switch for adding call-to-action button. - [self placeView:addCallToActionButtonLabel_ x:originX y:currentY]; - [self placeView:addCallToActionButtonSwitch_ x:middleX * 1.5 y:currentY]; - CGSize frameSize = addCallToActionButtonSwitch_.frame.size; - currentY += frameSize.height + yPadding; - - // Place the switch for attaching content deep-link data. - [self placeView:addContentDeepLinkLabel_ x:originX y:currentY]; - [self placeView:addContentDeepLinkSwitch_ x:middleX * 1.5 y:currentY]; - frameSize = addContentDeepLinkSwitch_.frame.size; - currentY += frameSize.height + yPadding; - - // Place the switch for preview URL. - if (addContentDeepLinkSwitch_.on) { - [self placeView:urlForContentDeepLinkMetadataLabel_ x:originX y:currentY]; - [self placeView:urlForContentDeepLinkMetadataSwitch_ - x:middleX * 1.5 - y:currentY]; - frameSize = urlForContentDeepLinkMetadataSwitch_.frame.size; - currentY += frameSize.height + yPadding; - urlForContentDeepLinkMetadataSwitch_.hidden = NO; - urlForContentDeepLinkMetadataLabel_.hidden = NO; - } else { - urlForContentDeepLinkMetadataSwitch_.hidden = YES; - urlForContentDeepLinkMetadataLabel_.hidden = YES; - } - - // Place the field for URL to share. - if (urlForContentDeepLinkMetadataSwitch_.on) { - [self placeView:urlToShareLabel_ x:originX y:currentY]; - frameSize = urlToShareLabel_.frame.size; - currentY += frameSize.height + 0.5 * yPadding; - - [self placeView:shareURL_ x:originX y:currentY]; - frameSize = shareURL_.frame.size; - currentY += frameSize.height + yPadding; - urlToShareLabel_.hidden = NO; - shareURL_.hidden = NO; - } else { - urlToShareLabel_.hidden = YES; - shareURL_.hidden = YES; - } - - // Place the field for prefill text. - [self placeView:prefillTextLabel_ x:originX y:currentY]; - frameSize = prefillTextLabel_.frame.size; - currentY += frameSize.height + 0.5 * yPadding; - [self placeView:sharePrefillText_ x:originX y:currentY]; - frameSize = sharePrefillText_.frame.size; - currentY += frameSize.height + yPadding; - - // Place the content deep-link ID field. - if (addContentDeepLinkSwitch_.on) { - [self placeView:contentDeepLinkIDLabel_ x:originX y:currentY]; - frameSize = contentDeepLinkIDLabel_.frame.size; - currentY += frameSize.height + 0.5 * yPadding; - [self placeView:contentDeepLinkID_ x:originX y:currentY]; - frameSize = contentDeepLinkID_.frame.size; - currentY += frameSize.height + yPadding; - contentDeepLinkIDLabel_.hidden = NO; - contentDeepLinkID_.hidden = NO; - } else { - contentDeepLinkIDLabel_.hidden = YES; - contentDeepLinkID_.hidden = YES; - } - - // Place fields for content deep-link metadata. - if (addContentDeepLinkSwitch_.on && - !urlForContentDeepLinkMetadataSwitch_.on) { - [self placeView:contentDeepLinkTitleLabel_ x:originX y:currentY]; - frameSize = contentDeepLinkTitleLabel_.frame.size; - currentY += frameSize.height + 0.5 * yPadding; - [self placeView:contentDeepLinkTitle_ x:originX y:currentY]; - frameSize = contentDeepLinkTitle_.frame.size; - currentY += frameSize.height + yPadding; - - [self placeView:contentDeepLinkDescriptionLabel_ x:originX y:currentY]; - frameSize = contentDeepLinkDescriptionLabel_.frame.size; - currentY += frameSize.height + 0.5 * yPadding; - [self placeView:contentDeepLinkDescription_ x:originX y:currentY]; - frameSize = contentDeepLinkDescription_.frame.size; - currentY += frameSize.height + yPadding; - - [self placeView:contentDeepLinkThumbnailURLLabel_ x:originX y:currentY]; - frameSize = contentDeepLinkThumbnailURLLabel_.frame.size; - currentY += frameSize.height + 0.5 * yPadding; - [self placeView:contentDeepLinkThumbnailURL_ x:originX y:currentY]; - frameSize = contentDeepLinkThumbnailURL_.frame.size; - currentY += frameSize.height + yPadding; - - contentDeepLinkTitle_.hidden = NO; - contentDeepLinkTitleLabel_.hidden = NO; - contentDeepLinkDescriptionLabel_.hidden = NO; - contentDeepLinkDescription_.hidden = NO; - contentDeepLinkThumbnailURLLabel_.hidden = NO; - contentDeepLinkThumbnailURL_.hidden = NO; - } else { - contentDeepLinkTitle_.hidden = YES; - contentDeepLinkTitleLabel_.hidden = YES; - contentDeepLinkDescriptionLabel_.hidden = YES; - contentDeepLinkDescription_.hidden = YES; - contentDeepLinkThumbnailURLLabel_.hidden = YES; - contentDeepLinkThumbnailURL_.hidden = YES; - } - - // Place the share button and status. - [[shareButton_ layer] setCornerRadius:5]; - [[shareButton_ layer] setMasksToBounds:YES]; - CGColorRef borderColor = [[UIColor colorWithWhite:203.0/255.0 - alpha:1.0] CGColor]; - [[shareButton_ layer] setBorderColor:borderColor]; - [[shareButton_ layer] setBorderWidth:1.0]; - - [self placeView:shareButton_ x:originX y:currentY + yPadding]; - frameSize = shareButton_.frame.size; - currentY += frameSize.height + yPadding * 2; - - [self placeView:shareStatus_ x:originX y:currentY]; - frameSize = shareStatus_.frame.size; - currentY += frameSize.height + yPadding; - - shareScrollView_.contentSize = - CGSizeMake(shareScrollView_.frame.size.width, currentY); -} - -- (void)populateTextFields { - // Pre-populate text fields for Google+ share sample. - if (sharePrefillText_.hidden) { - sharePrefillText_.text = @""; - } else { - sharePrefillText_.text = @"Welcome to Google+ Platform"; - } - - if (shareURL_.hidden) { - shareURL_.text = @""; - } else { - shareURL_.text = @"http://developers.google.com/+/mobile/ios/"; - } - - if (contentDeepLinkID_.hidden) { - contentDeepLinkID_.text = @""; - } else { - contentDeepLinkID_.text = @"playlist/314159265358"; - } - - if (contentDeepLinkTitle_.hidden) { - contentDeepLinkTitle_.text = @""; - } else { - contentDeepLinkTitle_.text = @"Joe's Pop Music Playlist"; - } - - if (contentDeepLinkDescription_.hidden) { - contentDeepLinkDescription_.text = @""; - } else { - contentDeepLinkDescription_.text = - @"Check out this playlist of my favorite pop songs!"; - } - - if (contentDeepLinkThumbnailURL_.hidden) { - contentDeepLinkThumbnailURL_.text = @""; - } else { - contentDeepLinkThumbnailURL_.text = - @"http://www.google.com/logos/2012/childrensday-2012-hp.jpg"; - } -} - -- (void)animateKeyboard:(NSNotification *)notification - shouldShow:(BOOL)shouldShow { - if (!shouldShow) { - UIEdgeInsets contentInsets = UIEdgeInsetsZero; - shareScrollView_.contentInset = contentInsets; - shareScrollView_.scrollIndicatorInsets = contentInsets; - return; - } - - NSDictionary *userInfo = [notification userInfo]; - CGRect kbFrame = - [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue]; - CGSize kbSize = kbFrame.size; - UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0); - shareScrollView_.contentInset = contentInsets; - shareScrollView_.scrollIndicatorInsets = contentInsets; - - // If active text field is hidden by keyboard, scroll so it's visible. - CGRect aRect = self.view.frame; - aRect.size.height -= kbSize.height; - CGPoint bottomLeft = - CGPointMake(0.0, activeField_.frame.origin.y + - activeField_.frame.size.height + 10); - if (!CGRectContainsPoint(aRect, bottomLeft)) { - CGPoint scrollPoint = CGPointMake(0.0, bottomLeft.y - aRect.size.height); - [shareScrollView_ setContentOffset:scrollPoint animated:YES]; - } - return; -} - -- (void)addCallToActionSwitched { - if (!addCallToActionButtonSwitch_.on) { - return; - } - [self.view addSubview:callToActionPickerView_]; -} - -#pragma mark - UIPickerViewDataSource - -- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { - return 1; -} - -- (NSInteger)pickerView:(UIPickerView *)pickerView - numberOfRowsInComponent:(NSInteger)component { - return callToActions_.count; -} - -#pragma mark - UIPickerViewDelegate - -- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row - forComponent:(NSInteger)component reusingView:(UIView *)view { - UITableViewCell *cell = (UITableViewCell *)view; - if (cell == nil) { - cell = [[[UITableViewCell alloc] - initWithStyle:UITableViewCellStyleDefault - reuseIdentifier:nil] autorelease]; - [cell setBackgroundColor:[UIColor clearColor]]; - [cell setBounds: CGRectMake(0, 0, cell.frame.size.width - 20 , 44)]; - UITapGestureRecognizer *singleTapGestureRecognizer = - [[[UITapGestureRecognizer alloc] - initWithTarget:self - action:@selector(toggleSelection:)] autorelease]; - singleTapGestureRecognizer.numberOfTapsRequired = 1; - [cell addGestureRecognizer:singleTapGestureRecognizer]; - } - NSString *callToAction = [callToActions_ objectAtIndex:row]; - if ([selectedCallToAction_ isEqualToString:callToAction]) { - cell.accessoryType = UITableViewCellAccessoryCheckmark; - } else { - cell.accessoryType = UITableViewCellAccessoryNone; - } - cell.textLabel.text = callToAction; - cell.textLabel.font = [UIFont systemFontOfSize:12]; - cell.tag = row; - return cell; -} - -- (void)toggleSelection:(UITapGestureRecognizer *)recognizer { - int row = recognizer.view.tag; - self.selectedCallToAction = [callToActions_ objectAtIndex:row]; - [callToActionPickerView_ removeFromSuperview]; - // Force refresh checked/unchecked marks. - [callToActionPickerView_ reloadAllComponents]; - addCallToActionButtonLabel_.text = - [NSString stringWithFormat:@"Call-to-Action: %@", selectedCallToAction_]; -} - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleShareViewController.xib b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleShareViewController.xib deleted file mode 100644 index a7b75b1c..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleShareViewController.xib +++ /dev/null @@ -1,1231 +0,0 @@ - - - - 1536 - 12C60 - 2844 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1930 - - - IBProxyObject - IBUIBarButtonItem - IBUIButton - IBUILabel - IBUIScrollView - IBUISwitch - IBUITextField - IBUIToolbar - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - - - - 292 - - - - 292 - {{26, 126}, {280, 31}} - - - - NO - YES - IBCocoaTouchFramework - 0 - http://developers.google.com/+/mobile/ios/ - 3 - - 3 - MAA - - 2 - - - YES - 17 - - IBCocoaTouchFramework - - 3 - - 1 - 14 - - - Helvetica - 14 - 16 - - - - - 292 - {{26, 89}, {179, 21}} - - - - NO - YES - 7 - NO - IBCocoaTouchFramework - URL to share (optional) - - 1 - MCAwIDAAA - darkTextColor - - - 1 - 10 - - 1 - 17 - - - Helvetica - 17 - 16 - - - - - 292 - {{31, 261}, {112, 32}} - - - - NO - IBCocoaTouchFramework - 0 - 0 - Share - - 3 - MQA - - - 1 - MC41MjE1Njg2NTYgMC4wNTU3MzQ0MTc0NyAwLjA4MTU0NTQ3OTkzAA - - - 3 - MC41AA - - - NSImage - button_background.png - - - 2 - 15 - - - Helvetica-Bold - 15 - 16 - - - - - 292 - {{26, 165}, {156, 21}} - - - - NO - YES - 7 - NO - IBCocoaTouchFramework - Prefill text (optional) - - - 1 - 10 - - - - - - 290 - {{38, 312}, {268, 21}} - - - - NO - YES - 7 - NO - IBCocoaTouchFramework - Status: - - - 1 - 15 - - - - - - 292 - {{208, 35}, {94, 27}} - - - - NO - IBCocoaTouchFramework - 0 - 0 - YES - - - - 292 - {{20, 38}, {172, 21}} - - - - NO - YES - 7 - NO - IBCocoaTouchFramework - Add content deep link - - - 1 - 10 - - - - - - 292 - {{26, 198}, {280, 31}} - - - - NO - YES - IBCocoaTouchFramework - 0 - Welcome to Google+ Platform - 3 - - 3 - MAA - - - YES - 17 - - IBCocoaTouchFramework - - 3 - - - - - - 292 - {{26, 247}, {280, 30}} - - - - _NS:9 - NO - YES - IBCocoaTouchFramework - 0 - - 3 - - 3 - MAA - - - YES - 17 - - IBCocoaTouchFramework - - 3 - - - - - - 292 - {{26, 292}, {246, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Content deep-link ID (required) - - - 0 - - - NO - - - - 292 - {{26, 335}, {171, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Title (required) - - - 0 - - - NO - - - - 292 - {{26, 402}, {280, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Description (optional) - - - 0 - - - NO - - - - 292 - {{24, 469}, {194, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Thumbnail URL (optional) - - - 0 - - - NO - - - - 292 - {{26, 431}, {280, 30}} - - - - _NS:9 - NO - YES - IBCocoaTouchFramework - 0 - - 3 - - 3 - MAA - - - YES - 17 - - IBCocoaTouchFramework - - 3 - - - - - - 292 - {{26, 498}, {280, 30}} - - - - _NS:9 - NO - YES - IBCocoaTouchFramework - 0 - - 3 - - 3 - MAA - - - YES - 17 - - IBCocoaTouchFramework - - 3 - - - - - - 292 - {{26, 364}, {280, 30}} - - - - _NS:9 - NO - YES - IBCocoaTouchFramework - 0 - - 3 - - 3 - MAA - - - YES - 17 - - IBCocoaTouchFramework - - 3 - - - - - - 292 - {{208, 66}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - YES - - - - 292 - {{20, 4530}, {172, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Use URL for preview - - - 0 - - - NO - - - - 292 - {{208, 4}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - 0 - 0 - YES - - - - 292 - {{20, 4}, {184, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Add call-to-action button - - - 0 - - - NO - - - {320, 372} - - - - _NS:9 - YES - YES - IBCocoaTouchFramework - - - - 266 - {{0, 372}, {320, 44}} - - - NO - NO - IBCocoaTouchFramework - - - IBCocoaTouchFramework - - 5 - - - IBCocoaTouchFramework - 1 - - 9 - - - - - {{0, 64}, {320, 416}} - - - - - 3 - MQA - - - - - NO - - IBCocoaTouchFramework - - - - - - - view - - - - 3 - - - - shareView - - - - 42 - - - - shareToolbar - - - - 43 - - - - contentDeepLinkThumbnailURLLabel - - - - 58 - - - - addContentDeepLinkLabel - - - - 52 - - - - shareButton - - - - 59 - - - - contentDeepLinkTitle - - - - 49 - - - - urlToShareLabel - - - - 53 - - - - contentDeepLinkDescriptionLabel - - - - 57 - - - - sharePrefillText - - - - 11 - - - - contentDeepLinkTitleLabel - - - - 56 - - - - urlForContentDeepLinkMetadataLabel - - - - 64 - - - - contentDeepLinkThumbnailURL - - - - 51 - - - - shareURL - - - - 21 - - - - contentDeepLinkDescription - - - - 50 - - - - prefillTextLabel - - - - 54 - - - - addContentDeepLinkSwitch - - - - 28 - - - - shareScrollView - - - - 41 - - - - shareStatus - - - - 14 - - - - contentDeepLinkIDLabel - - - - 55 - - - - urlForContentDeepLinkMetadataSwitch - - - - 62 - - - - contentDeepLinkID - - - - 48 - - - - addCallToActionButtonLabel - - - - 68 - - - - addCallToActionButtonSwitch - - - - 69 - - - - delegate - - - - 23 - - - - delegate - - - - 22 - - - - shareButton: - - - 7 - - 10 - - - - shareToolbar: - - - - 20 - - - - contentDeepLinkSwitchToggle: - - - 13 - - 31 - - - - delegate - - - - 44 - - - - delegate - - - - 46 - - - - delegate - - - - 47 - - - - delegate - - - - 45 - - - - urlForContentDeepLinkMetadataSwitchToggle: - - - 13 - - 63 - - - - - - 0 - - - - - - 1 - - - - - - - - - -1 - - - File's Owner - - - -2 - - - - - 15 - - - - - - - - - 17 - - - - - 18 - - - - - 32 - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - 8 - - - - - 5 - - - - - 39 - - - - - 37 - - - - - 38 - - - - - 36 - - - - - 40 - - - - - 9 - - - - - 13 - - - - - 26 - - - - - 29 - - - - - 7 - - - - - 34 - - - - - 35 - - - - - 60 - - - - - 61 - - - - - 33 - - - - - 65 - - - - - 66 - - - - - - - GooglePlusSampleShareViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 69 - - - - - GooglePlusSampleShareViewController - UIViewController - - id - id - id - id - - - - contentDeepLinkSwitchToggle: - id - - - shareButton: - id - - - shareToolbar: - id - - - urlForContentDeepLinkMetadataSwitchToggle: - id - - - - UILabel - UISwitch - UILabel - UISwitch - UITextField - UILabel - UITextField - UILabel - UITextField - UILabel - UITextField - UILabel - UILabel - UIButton - UITextField - UIScrollView - UILabel - UIToolbar - UITextField - UIView - UILabel - UISwitch - UILabel - - - - addCallToActionButtonLabel - UILabel - - - addCallToActionButtonSwitch - UISwitch - - - addContentDeepLinkLabel - UILabel - - - addContentDeepLinkSwitch - UISwitch - - - contentDeepLinkDescription - UITextField - - - contentDeepLinkDescriptionLabel - UILabel - - - contentDeepLinkID - UITextField - - - contentDeepLinkIDLabel - UILabel - - - contentDeepLinkThumbnailURL - UITextField - - - contentDeepLinkThumbnailURLLabel - UILabel - - - contentDeepLinkTitle - UITextField - - - contentDeepLinkTitleLabel - UILabel - - - prefillTextLabel - UILabel - - - shareButton - UIButton - - - sharePrefillText - UITextField - - - shareScrollView - UIScrollView - - - shareStatus - UILabel - - - shareToolbar - UIToolbar - - - shareURL - UITextField - - - shareView - UIView - - - urlForContentDeepLinkMetadataLabel - UILabel - - - urlForContentDeepLinkMetadataSwitch - UISwitch - - - urlToShareLabel - UILabel - - - - IBProjectSource - ./Classes/GooglePlusSampleShareViewController.h - - - - - 0 - IBCocoaTouchFramework - - com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - - - YES - 3 - - button_background.png - {1, 1} - - 1930 - - diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleSignInViewController.h b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleSignInViewController.h deleted file mode 100644 index 3420a998..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleSignInViewController.h +++ /dev/null @@ -1,53 +0,0 @@ -// -// GooglePlusSampleSignInViewController.h -// -// Copyright 2012 Google 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. -// - -#import -#import "GPPSignIn.h" - -@class GPPSignInButton; - -// A view controller for the Google+ sign-in button which initiates a standard -// OAuth 2.0 flow and provides an access token and a refresh token. A "Sign out" -// button is provided to allow users to sign out of this application. -@interface GooglePlusSampleSignInViewController : UIViewController< - GPPSignInDelegate> - -// The button that handles Google+ sign-in. -@property (retain, nonatomic) IBOutlet GPPSignInButton *signInButton; -// A label to display the result of the sign-in action. -@property (retain, nonatomic) IBOutlet UILabel *signInAuthStatus; -// A label to display the signed-in user's display name. -@property (retain, nonatomic) IBOutlet UILabel *signInDisplayName; -// A button to sign out of this application. -@property (retain, nonatomic) IBOutlet UIButton *signOutButton; -// A button to disconnect user from this application. -@property (retain, nonatomic) IBOutlet UIButton *disconnectButton; -// A switch for whether to request -// https://www.googleapis.com/auth/userinfo.email scope to get user's email -// address after the sign-in action. -@property (retain, nonatomic) IBOutlet UISwitch *userinfoEmailScope; - -// Called when the user presses the "Sign out" button. -- (IBAction)signOut:(id)sender; -// Called when the user presses the "Disconnect" button. -- (IBAction)disconnect:(id)sender; -// Called when the user toggles the -// https://www.googleapis.com/auth/userinfo.email scope. -- (IBAction)userinfoEmailScopeToggle:(id)sender; - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleSignInViewController.m b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleSignInViewController.m deleted file mode 100644 index ba6a6b37..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleSignInViewController.m +++ /dev/null @@ -1,171 +0,0 @@ -// -// GooglePlusSampleSignInViewController.m -// -// Copyright 2012 Google 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. -// - -#import "GooglePlusSampleSignInViewController.h" - -#import -#import "GPPSignIn.h" -#import "GPPSignInButton.h" -#import "GTLPlus.h" -#import "GTMLogger.h" -#import "GTMOAuth2Authentication.h" - -@interface GooglePlusSampleSignInViewController () -- (void)enableSignInSettings:(BOOL)enable; -- (void)reportAuthStatus; -- (void)retrieveUserInfo; -@end - -@implementation GooglePlusSampleSignInViewController - -@synthesize signInButton = signInButton_; -@synthesize signInAuthStatus = signInAuthStatus_; -@synthesize signInDisplayName = signInDisplayName_; -@synthesize signOutButton = signOutButton_; -@synthesize disconnectButton = disconnectButton_; -@synthesize userinfoEmailScope = userinfoEmailScope_; - -- (void)dealloc { - [signInButton_ release]; - [signInAuthStatus_ release]; - [signInDisplayName_ release]; - [signOutButton_ release]; - [userinfoEmailScope_ release]; - [super dealloc]; -} - -#pragma mark - View lifecycle - -- (void)viewDidLoad { - // Make sure the GPPSignInButton class is linked in because references from - // xib file doesn't count. - [GPPSignInButton class]; - - GPPSignIn *signIn = [GPPSignIn sharedInstance]; - userinfoEmailScope_.on = - signIn.shouldFetchGoogleUserEmail; - - // Set up sign-out and disconnect buttons. - [self setUpButton:signOutButton_]; - [self setUpButton:disconnectButton_]; - - // Set up sample view of Google+ sign-in. - // The client ID has been set in the app delegate. - signIn.delegate = self; - signIn.shouldFetchGoogleUserEmail = userinfoEmailScope_.on; - signIn.actions = [NSArray arrayWithObjects: - @"http://schemas.google.com/AddActivity", - @"http://schemas.google.com/BuyActivity", - @"http://schemas.google.com/CheckInActivity", - @"http://schemas.google.com/CommentActivity", - @"http://schemas.google.com/CreateActivity", - @"http://schemas.google.com/ListenActivity", - @"http://schemas.google.com/ReserveActivity", - @"http://schemas.google.com/ReviewActivity", - nil]; - - [self reportAuthStatus]; - [signIn trySilentAuthentication]; - [super viewDidLoad]; -} - -- (void)viewDidUnload { - [self setSignInButton:nil]; - [self setSignInAuthStatus:nil]; - [self setSignInDisplayName:nil]; - [self setSignOutButton:nil]; - [self setDisconnectButton:nil]; - [self setUserinfoEmailScope:nil]; - [super viewDidUnload]; -} - -#pragma mark - GPPSignInDelegate - -- (void)finishedWithAuth:(GTMOAuth2Authentication *)auth - error:(NSError *)error { - if (error) { - signInAuthStatus_.text = - [NSString stringWithFormat:@"Status: Authentication error: %@", error]; - return; - } - [self reportAuthStatus]; -} - -- (void)didDisconnectWithError:(NSError *)error { - if (error) { - signInAuthStatus_.text = - [NSString stringWithFormat:@"Status: Failed to disconnect: %@", error]; - } else { - signInAuthStatus_.text = - [NSString stringWithFormat:@"Status: Disconnected"]; - signInDisplayName_.text = @""; - [self enableSignInSettings:YES]; - } -} - -#pragma mark - Helper methods - -- (void)setUpButton:(UIButton *)button { - [[button layer] setCornerRadius:5]; - [[button layer] setMasksToBounds:YES]; - CGColorRef borderColor = [[UIColor colorWithWhite:203.0/255.0 - alpha:1.0] CGColor]; - [[button layer] setBorderColor:borderColor]; - [[button layer] setBorderWidth:1.0]; -} - -- (void)enableSignInSettings:(BOOL)enable { - userinfoEmailScope_.enabled = enable; -} - -- (void)reportAuthStatus { - if ([GPPSignIn sharedInstance].authentication) { - signInAuthStatus_.text = @"Status: Authenticated"; - [self retrieveUserInfo]; - [self enableSignInSettings:NO]; - } else { - // To authenticate, use Google+ sign-in button. - signInAuthStatus_.text = @"Status: Not authenticated"; - [self enableSignInSettings:YES]; - } -} - -- (void)retrieveUserInfo { - signInDisplayName_.text = [NSString stringWithFormat:@"Email: %@", - [GPPSignIn sharedInstance].authentication.userEmail]; -} - -#pragma mark - IBActions - -- (IBAction)signOut:(id)sender { - [[GPPSignIn sharedInstance] signOut]; - - [self reportAuthStatus]; - signInDisplayName_.text = @""; -} - -- (IBAction)disconnect:(id)sender { - [[GPPSignIn sharedInstance] disconnect]; -} - -- (IBAction)userinfoEmailScopeToggle:(id)sender { - [GPPSignIn sharedInstance].shouldFetchGoogleUserEmail = - userinfoEmailScope_.on; -} - -@end diff --git a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleSignInViewController.xib b/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleSignInViewController.xib deleted file mode 100644 index 4ad6087a..00000000 --- a/External/google-plus-ios-sdk/SampleCode/GooglePlusSampleSignInViewController.xib +++ /dev/null @@ -1,514 +0,0 @@ - - - - 1552 - 12C60 - 3084 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 2083 - - - IBProxyObject - IBUIButton - IBUILabel - IBUISwitch - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - - - - 292 - {{19, 171}, {117, 35}} - - - - NO - IBCocoaTouchFramework - 0 - 0 - Sign out - - 1 - MC42MzUyOTQxMTc2IDAuMzIxNTY4NjI3NSAwLjI1ODgyMzUyOTQAA - - - 1 - MC42MzUyOTQxMTc2IDAuMzIxNTY4NjI3NSAwLjI1ODgyMzUyOTQAA - - - 3 - MC41AA - - - NSImage - button_background.png - - - 2 - 15 - - - Helvetica-Bold - 15 - 16 - - - - - 292 - {{18, 112}, {118, 32}} - - - - - 3 - MQA - - 2 - - - IBCocoaTouchFramework - - - - 290 - {{20, 241}, {280, 21}} - - - - NO - YES - 7 - NO - IBCocoaTouchFramework - Status: - - 1 - MCAwIDAAA - darkTextColor - - - 1 - 13 - - 1 - 17 - - - Helvetica - 17 - 16 - - - - - 290 - {{20, 270}, {280, 65}} - - - NO - YES - 7 - NO - IBCocoaTouchFramework - - - - 1 - 13 - 2 - - - 280 - - - - 292 - {{18, 15}, {273, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Sign-in setting (sign out to change) - - - 0 - - - NO - - - - 292 - {{18, 44}, {197, 27}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - get userinfo.email scope - - - 0 - - - NO - - - - 292 - {{208, 44}, {94, 27}} - - - - _NS:9 - NO - IBCocoaTouchFramework - NO - 0 - 0 - - - - 292 - {{181, 171}, {119, 35}} - - - - NO - IBCocoaTouchFramework - 0 - 0 - Disconnect - - 1 - MC42MzUyOTQxMTc2IDAuMzIxNTY4NjI3NSAwLjI1ODgyMzUyOTQAA - - - 1 - MC42MzUyOTQxMTc2IDAuMzIxNTY4NjI3NSAwLjI1ODgyMzUyOTQAA - - - - - - - - {{0, 20}, {320, 460}} - - - - - 3 - MQA - - - - IBCocoaTouchFramework - - - - - - - view - - - - 4 - - - - signInButton - - - - 14 - - - - signInAuthStatus - - - - 23 - - - - signOutButton - - - - 24 - - - - signInDisplayName - - - - 28 - - - - userinfoEmailScope - - - - 39 - - - - disconnectButton - - - - 51 - - - - signOut: - - - 7 - - 26 - - - - userinfoEmailScopeToggle: - - - 13 - - 40 - - - - disconnect: - - - 7 - - 50 - - - - - - 0 - - - - - - 1 - - - - - - - - - - - - - - - -1 - - - File's Owner - - - -2 - - - - - 7 - - - - - 6 - - - - - 22 - - - - - 27 - - - - - 37 - - - - - 38 - - - - - 30 - - - - - 48 - - - - - - - GooglePlusSampleSignInViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - GPPSignInButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 51 - - - - - GPPSignInButton - UIButton - - IBProjectSource - ./Classes/GPPSignInButton.h - - - - GooglePlusSampleSignInViewController - UIViewController - - id - id - id - - - - disconnect: - id - - - signOut: - id - - - userinfoEmailScopeToggle: - id - - - - UIButton - UILabel - GPPSignInButton - UILabel - UIButton - UISwitch - - - - disconnectButton - UIButton - - - signInAuthStatus - UILabel - - - signInButton - GPPSignInButton - - - signInDisplayName - UILabel - - - signOutButton - UIButton - - - userinfoEmailScope - UISwitch - - - - IBProjectSource - ./Classes/GooglePlusSampleSignInViewController.h - - - - - 0 - IBCocoaTouchFramework - - com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - - - YES - 3 - - button_background.png - {1, 1} - - 2083 - - diff --git a/External/google-plus-ios-sdk/lib/GPPDeepLink.h b/External/google-plus-ios-sdk/lib/GPPDeepLink.h deleted file mode 100644 index 991a9506..00000000 --- a/External/google-plus-ios-sdk/lib/GPPDeepLink.h +++ /dev/null @@ -1,59 +0,0 @@ -// -// GPPDeepLink.h -// Google+ iOS SDK -// -// Copyright 2012 Google Inc. -// -// Use of this SDK is subject to the Google+ Platform Terms of Service: -// https://developers.google.com/+/terms -// - -#import - -@class GPPDeepLink; - -// A protocol optionally implemented by the client of |GPPDeepLink|. -@protocol GPPDeepLinkDelegate - -// Notifies the client that a deep link has been received either from -// |readDeepLinkAfterInstall| or |handleURL:sourceApplication:annotation:|. -- (void)didReceiveDeepLink:(GPPDeepLink *)deepLink; - -@end - -// This class handles a deep link within a share posted on Google+. -// For more information on deep links, see -// http://developers.google.com/+/mobile/ios/share . -@interface GPPDeepLink : NSObject - -// Sets the delegate to handle the deep link. -+ (void)setDelegate:(id)delegate; - -// Returns a |GPPDeepLink| for your app to handle, or |nil| if not found. The -// deep-link ID can be obtained from |GPPDeepLink|. It is stored when a user -// clicks a link to your app from a Google+ post, but hasn't yet installed your -// app. The user will be redirected to the App Store to install your app. This -// method should be called on or near your app launch to take the user to -// deep-link ID within your app. The delegate will be called if set and if a -// deep link is found. -+ (GPPDeepLink *)readDeepLinkAfterInstall; - -// This method should be called from your |UIApplicationDelegate|'s -// |application:openURL:sourceApplication:annotation|. Returns -// |GooglePlusDeepLink| if |GooglePlusDeepLink| handled this URL, |nil| -// otherwise. The delegate will be called if set and if a deep link is found. -// Also see |handleURL:sourceApplication:annotation:| in |GPPURLHandler|. -+ (GPPDeepLink *)handleURL:(NSURL *)url - sourceApplication:(NSString *)sourceApplication - annotation:(id)annotation; - -// The deep-link ID in |GPPDeepLink| that was passed to the app. -- (NSString *)deepLinkID; - -// This instance method indicates where the user came from before arriving in -// your app. This method is provided for you to collect engagement metrics. -// For the possible values, see -// http://developers.google.com/+/mobile/ios/source-values . -- (NSString *)source; - -@end diff --git a/External/google-plus-ios-sdk/lib/GPPShare.h b/External/google-plus-ios-sdk/lib/GPPShare.h deleted file mode 100644 index e2c35321..00000000 --- a/External/google-plus-ios-sdk/lib/GPPShare.h +++ /dev/null @@ -1,154 +0,0 @@ -// -// GPPShare.h -// Google+ iOS SDK -// -// Copyright 2012 Google Inc. -// -// Use of this SDK is subject to the Google+ Platform Terms of Service: -// https://developers.google.com/+/terms -// - -// To allow a user to share with Google+, please follow these steps: -// -// 0. Create a project on Google API console, -// https://code.google.com/apis/console . Under "API Access", create a -// client ID as "Installed application" with the type "iOS", and -// register the bundle ID of your app. -// -// 1. Initialize the |GPPSignIn| instance with your registered client ID, -// and get the |GPPShare| instance. -// -// [[GPPSignIn shareInstance] setClientID:myClientID]; -// GPPShare *gppShare = [GPPShare sharedInstance]; -// -// 2. In the code where the share dialog will be opened, -// -// [[gppShare shareDialog] open]; -// -// you can optionally call any of the |GPPShareBuilder| methods before -// calling |open|, for example, if there is a particular URL resource to be -// shared, or if you want to set text to prefill user comment in the share -// dialog, such as: -// -// NSURL *urlToShare = [NSURL URLWithString:@"http://www.google.com/"]; -// NSString *prefillText = @"You probably already know this site..."; -// [[[[gppShare shareDialog] setURLToShare:urlToShare] -// setPrefillText:prefillText] open]; -// -// 3. In the '-info.plist' settings for your app, add a URL type to be -// handled by your app. Make the URL scheme the same as your app bundle ID. -// -// 4. In your application delegate, implement: -// - (BOOL)application:(NSString*)application -// openURL:(NSURL *)url -// sourceApplication:(NSString*)sourceApplication -// annotation:(id)annotation { -// if ([gppShare handleURL:url -// sourceApplication:sourceApplication -// annotation:annotation]) { -// return YES; -// } -// // Other handling code here... -// } -// -// 5. Optionally, if you want to be notified of the result of the share action, -// have a delegate class implement |GPPShareDelegate|, for example: -// -// @interface MyDelegateClass : NSObject; -// -// - (void)finishedSharing:(BOOL)shared { -// // The share action was successful if |shared| is YES. -// } -// -// MyDelegateClass *myDelegate = [[MyDelegateClass alloc] init]; -// gppShare.delegate = myDelegate; - -#import - -@class GPPSignIn; - -// The protocol to receive the result of the share action. -@protocol GPPShareDelegate - -// Reports the status of the share action, |shared| is |YES| if user has -// successfully shared her post, |NO| otherwise, such as if the user canceled -// the post. -- (void)finishedSharing:(BOOL)shared; - -@end - -// The builder protocol to open the share dialog. -// For more information on sharing, see -// http://developers.google.com/+/mobile/ios/share . -@protocol GPPShareBuilder - -// Sets the URL resource to be shared. -- (id)setURLToShare:(NSURL *)urlToShare; - -// Sets the text to prefill user's comment in the share dialog. -- (id)setPrefillText:(NSString *)prefillText; - -// Sets the title, description, and thumbnail URL of the shared content preview -// in the share dialog. Only set these fields if you are sharing with a content -// deep link and don't have a URL resource. |title| is required. -- (id)setTitle:(NSString *)title - description:(NSString *)description - thumbnailURL:(NSURL *)thumbnailURL; - -// Sets the content deep-link ID that takes the user straight to your shared -// content. Only set this field if you want the content deep-linking feature. -// The content deep-link ID can either be a fully qualified URI, or URI path, -// which can be up to 512 characters in length. -- (id)setContentDeepLinkID:(NSString *)contentDeepLinkID; - -// Sets the call-to-action button of the shared content preview. -// The call-to-action button consists of a label, URL, and deep-link ID. -// The |label| is a string key defined under "data-calltoactionlabel" on -// http://developers.google.com/+/web/share/interactive#button_attr_calltoactionlabel -// that maps to the actual button text. -// You must set either the |url| or |deepLinkID|, or both. -// The |url| is where the user is taken to after tapping on the button. -// The |deepLinkID| is the call-to-action deep-link ID that takes the user -// straight to a specific action in your app. It can either be a fully qualified -// URI, or URI path, which can be up to 512 characters in length. -// Note: In order to set the call-to-action button: -// 1. User must have been authenticated with scopes including -// "https://www.googleapis.com/auth/plus.login". -// 2. Either |setURLToShare:| or |setTitle:description:thumbnailURL:| must also -// be called. -- (id)setCallToActionButtonWithLabel:(NSString *)label - URL:(NSURL *)url - deepLinkID:(NSString *)deepLinkID; - -// Opens the share dialog. Returns |NO| if there was an error, |YES| otherwise. -- (BOOL)open; - -@end - -// The primary class for the share action on Google+. -// For more information on sharing, see -// http://developers.google.com/+/mobile/ios/share . -@interface GPPShare : NSObject - -// The object to be notified when the share action has finished. -@property (nonatomic, assign) id delegate; - -// Returns a shared |GPPShare| instance. -// |[GPPSignIn sharedInstance].clientID| must be initialized with a client ID -// registered in the Google API console, https://code.google.com/apis/console/ -// with the app's bundle ID. -+ (GPPShare *)sharedInstance; - -// Returns a share dialog builder instance. Call its |open| method to -// create the dialog after setting the parameters as needed. -- (id)shareDialog; - -// This method should be called from your |UIApplicationDelegate|'s -// |application:openURL:sourceApplication:annotation|. Returns |YES| if -// |GPPShare| handled this URL. -// Also see |handleURL:sourceApplication:annotation:| in |GPPURLHandler|. -- (BOOL)handleURL:(NSURL *)url - sourceApplication:(NSString *)sourceApplication - annotation:(id)annotation; - -@end diff --git a/External/google-plus-ios-sdk/lib/GPPSignIn.h b/External/google-plus-ios-sdk/lib/GPPSignIn.h deleted file mode 100644 index 391df12b..00000000 --- a/External/google-plus-ios-sdk/lib/GPPSignIn.h +++ /dev/null @@ -1,150 +0,0 @@ -// -// GPPSignIn.h -// Google+ iOS SDK -// -// Copyright 2012 Google Inc. -// -// Use of this SDK is subject to the Google+ Platform Terms of Service: -// https://developers.google.com/+/terms -// - -#import - -@class GTMOAuth2Authentication; -@class GTMOAuth2ViewControllerTouch; - -// A protocol implemented by the client of |GPPSignIn| to receive a refresh -// token or an error. -@protocol GPPSignInDelegate - -// The authorization has finished and is successful if |error| is |nil|. -- (void)finishedWithAuth:(GTMOAuth2Authentication *)auth - error:(NSError *)error; - -// Finished disconnecting user from the app. -// The operation was successful if |error| is |nil|. -@optional -- (void)didDisconnectWithError:(NSError *)error; - -@end - -// This class signs the user in with Google. It provides single sign-on -// via the Google+ app (if installed), Chrome for iOS (if installed), or Mobile -// Safari. -// -// For reference, please see "Google+ Sign-In for iOS" at -// https://developers.google.com/+/mobile/ios/sign-in . -// Here is sample code to use |GPPSignIn|: -// 1) Get a reference to the |GPPSignIn| shared instance: -// GPPSignIn *signIn = [GPPSignIn sharedInstance]; -// 2) Set the OAuth 2.0 scopes you want to request: -// [signIn setScopes:[NSArray arrayWithObject: -// @"https://www.googleapis.com/auth/plus.login"]]; -// 2) Call [signIn setDelegate:self]; -// 3) Set up delegate method |finishedWithAuth:error:|. -// 4) Call |handleURL| on the shared instance from |application:openUrl:...| -// in your app delegate. -// 5) Call [signIn authenticate]; -@interface GPPSignIn : NSObject - -// The authentication object for the current user, or |nil| if there is -// currently no logged in user. -@property (nonatomic, readonly) GTMOAuth2Authentication *authentication; - -// The Google user ID. It is only available if |shouldFetchGoogleUserID| is set -// and either |trySilentAuthentication| or |authenticate| has been completed -// successfully. -@property (nonatomic, readonly) NSString *userID; - -// The Google user's email. It is only available if |shouldFetchGoogleUserEmail| -// is set and either |trySilentAuthentication| or |authenticate| has been -// completed successfully. -@property (nonatomic, readonly) NSString *userEmail; - -// The object to be notified when authentication is finished. -@property (nonatomic, assign) id delegate; - -// All properties below are optional parameters. If they need to be set, set -// before calling |authenticate|. - -// The client ID of the app from the Google APIs console. -// Must set for sign-in to work. -@property (nonatomic, copy) NSString *clientID; - -// The API scopes requested by the app in an array of |NSString|s. -// The default value is |@[@"https://www.googleapis.com/auth/plus.login"]|. -@property (nonatomic, copy) NSArray *scopes; - -// Whether or not to attempt Single-Sign-On when signing in. -// If |attemptSSO| is true, the sign-in button tries to authenticate with the -// Google+ application if it is installed. If false, it always uses Google+ via -// Chrome for iOS, if installed, or Mobile Safari for authentication. -// The default value is |YES|. -@property (nonatomic, assign) BOOL attemptSSO; - -// The language for sign-in, in the form of ISO 639-1 language code -// optionally followed by a dash and ISO 3166-1 alpha-2 region code, -// such as |@"it"| or |@"pt-PT"|. -// Only set if different from system default. -@property (nonatomic, copy) NSString *language; - -// Name of the keychain to save the sign-in state. -// Only set if a custom name needs to be used. -@property (nonatomic, copy) NSString *keychainName; - -// An |NSString| array of moment types used by your app. Use values from the -// full list at -// https://developers.google.com/+/api/moment-types . -// such as "http://schemas.google.com/AddActivity". -// This property is required only for writing moments, with -// "https://www.googleapis.com/auth/plus.login" as a scope. -@property (nonatomic, copy) NSArray *actions; - -// Whether or not to fetch user email after signing in. The email is saved in -// the |GTMOAuth2Authentication| object. Note that using this flag automatically -// adds "https://www.googleapis.com/auth/userinfo.email" scope to the request. -@property (nonatomic, assign) BOOL shouldFetchGoogleUserEmail; - -// Whether or not to fetch user ID after signing in. The ID can be retrieved -// by |googleUserID| after user has been authenticated. -// Note, a scope, such as "https://www.googleapis.com/auth/plus.login" or -// "https://www.googleapis.com/auth/plus.me", that provides user ID must be -// included in |scopes| for this flag to work. -@property (nonatomic, assign) BOOL shouldFetchGoogleUserID; - -// Returns a shared |GPPSignIn| instance. -+ (GPPSignIn *)sharedInstance; - -// Checks whether the user has either currently signed in or has previous -// authentication saved in keychain. -- (BOOL)hasAuthInKeychain; - -// Attempts to authenticate silently without user interaction. -// Returns |YES| and calls the delegate if the user has either currently signed -// in or has previous authentication saved in keychain. -- (BOOL)trySilentAuthentication; - -// Starts the authentication process. Set |attemptSSO| to try single sign-on. -// If |attemptSSO| is true, try to authenticate with the Google+ app, if -// installed. If false, always use Google+ via Chrome or Mobile Safari for -// authentication. The delegate will be called at the end of this process. -- (void)authenticate; - -// This method should be called from your |UIApplicationDelegate|'s -// |application:openURL:sourceApplication:annotation|. Returns |YES| if -// |GPPSignIn| handled this URL. -// Also see |handleURL:sourceApplication:annotation:| in |GPPURLHandler|. -- (BOOL)handleURL:(NSURL *)url - sourceApplication:(NSString *)sourceApplication - annotation:(id)annotation; - -// Removes the OAuth 2.0 token from the keychain. -- (void)signOut; - -// Disconnects the user from the app and revokes previous authentication. -// If the operation succeeds, the OAuth 2.0 token is also removed from keychain. -// The token is needed to disconnect so do not call |signOut| if |disconnect| is -// to be called. -- (void)disconnect; - -@end diff --git a/External/google-plus-ios-sdk/lib/GPPSignInButton.h b/External/google-plus-ios-sdk/lib/GPPSignInButton.h deleted file mode 100644 index ea263f8d..00000000 --- a/External/google-plus-ios-sdk/lib/GPPSignInButton.h +++ /dev/null @@ -1,44 +0,0 @@ -// -// GPPSignInButton.h -// Google+ iOS SDK -// -// Copyright 2012 Google Inc. -// -// Use of this SDK is subject to the Google+ Platform Terms of Service: -// https://developers.google.com/+/terms -// - -#import - -// The various layout styles supported by the GPPSignInButton. -// The minmum size of the button depends on the language used for text. -// The following dimensions (in points) fit for all languages: -// kGPPSignInButtonStyleStandard: 226 x 48 -// kGPPSignInButtonStyleWide: 308 x 48 -// kGPPSignInButtonStyleIconOnly: 46 x 48 (no text, fixed size) -typedef enum { - kGPPSignInButtonStyleStandard = 0, - kGPPSignInButtonStyleWide = 1, - kGPPSignInButtonStyleIconOnly = 2 -} GPPSignInButtonStyle; - -// The various color schemes supported by the GPPSignInButton. -typedef enum { - kGPPSignInButtonColorSchemeDark = 0, - kGPPSignInButtonColorSchemeLight = 1 -} GPPSignInButtonColorScheme; - -// This class provides the Google+ sign-in button. You can instantiate this -// class programmatically or from a NIB file. You should set up the -// |GPPSignIn| shared instance with your client ID and any additional scopes, -// implement the delegate methods for |GPPSignIn|, and add this button to your -// view hierarchy. -@interface GPPSignInButton : UIButton - -// Sets the sign-in button layout style. The default style is standard. -- (void)setStyle:(GPPSignInButtonStyle)style; - -// Sets the sign-in button color scheme. The default scheme is dark. -- (void)setColorScheme:(GPPSignInButtonColorScheme)colorScheme; - -@end diff --git a/External/google-plus-ios-sdk/lib/GPPURLHandler.h b/External/google-plus-ios-sdk/lib/GPPURLHandler.h deleted file mode 100644 index 0e45390f..00000000 --- a/External/google-plus-ios-sdk/lib/GPPURLHandler.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// GPPURLHandler.h -// Google+ iOS SDK -// -// Copyright 2013 Google Inc. -// -// Use of this SDK is subject to the Google+ Platform Terms of Service: -// https://developers.google.com/+/terms -// - -#import - -@interface GPPURLHandler : NSObject - -// Calls |handleURL:sourceApplication:annotation:| for -// |[GPPSignIn sharedInstance]|, |[GPPShare sharedInstance]|, and -// |GPPDeepLink|, and returns |YES| if any of them handles the URL. -// This method can be called from your |UIApplicationDelegate|'s -// |application:openURL:sourceApplication:annotation| instead of calling -// those methods individually. -+ (BOOL)handleURL:(NSURL *)url - sourceApplication:(NSString *)sourceApplication - annotation:(id)annotation; - -@end diff --git a/External/google-plus-ios-sdk/lib/libGooglePlus.a b/External/google-plus-ios-sdk/lib/libGooglePlus.a deleted file mode 100644 index 0f66be83..00000000 Binary files a/External/google-plus-ios-sdk/lib/libGooglePlus.a and /dev/null differ diff --git a/External/google-plus-ios-sdk/lib/libGooglePlusUniversal.a b/External/google-plus-ios-sdk/lib/libGooglePlusUniversal.a deleted file mode 100644 index 1bcdf91f..00000000 Binary files a/External/google-plus-ios-sdk/lib/libGooglePlusUniversal.a and /dev/null differ diff --git a/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xccheckout b/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xccheckout index 5b4bae61..92d2d2e0 100644 --- a/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xccheckout +++ b/MasterPassword.xcworkspace/xcshareddata/MasterPassword.xccheckout @@ -10,6 +10,8 @@ MasterPassword IDESourceControlProjectOriginsDictionary + 35C761A6-90CF-4EF5-93DA-E38ECBAD949A + https://github.com/domesticcatsoftware/DCIntrospect.git 5263993D-5FE8-464F-B66E-B0F7C2DFF410 ssh://github.com/lhunath/UbiquityStoreManager.git 56D4C2AF-681C-406B-A5EA-C7FC4FA88907 @@ -31,6 +33,8 @@ MasterPassword.xcworkspace IDESourceControlProjectRelativeInstallPathDictionary + 35C761A6-90CF-4EF5-93DA-E38ECBAD949A + ../External/DCIntrospect 5263993D-5FE8-464F-B66E-B0F7C2DFF410 ../External/UbiquityStoreManager 56D4C2AF-681C-406B-A5EA-C7FC4FA88907 @@ -56,6 +60,14 @@ 6A449EC2-A2A3-4635-9C5F-A811E011EAC3 IDESourceControlProjectWCConfigurations + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + 35C761A6-90CF-4EF5-93DA-E38ECBAD949A + IDESourceControlWCCName + DCIntrospect + IDESourceControlRepositoryExtensionIdentifierKey public.vcs.git diff --git a/MasterPassword/ObjC/MPAppDelegate_Key.m b/MasterPassword/ObjC/MPAppDelegate_Key.m index d17a7023..7e26c534 100644 --- a/MasterPassword/ObjC/MPAppDelegate_Key.m +++ b/MasterPassword/ObjC/MPAppDelegate_Key.m @@ -166,7 +166,7 @@ static NSDictionary *keyQuery(MPUserEntity *user) { MPKey *recoverKey = newKey; #ifdef PEARL_UIKIT - PearlAlert *activityAlert = [PearlAlert showActivityWithTitle:PearlString( @"Migrating %d sites...", [user.elements count] )]; + PearlAlert *activityAlert = [PearlAlert showActivityWithTitle:PearlString( @"Migrating %ld sites...", (long)[user.elements count] )]; #endif for (MPElementEntity *element in user.elements) { diff --git a/MasterPassword/ObjC/MPAppDelegate_Store.m b/MasterPassword/ObjC/MPAppDelegate_Store.m index 22e07fc3..0a4ce5a5 100644 --- a/MasterPassword/ObjC/MPAppDelegate_Store.m +++ b/MasterPassword/ObjC/MPAppDelegate_Store.m @@ -6,7 +6,6 @@ // Copyright (c) 2011 Lyndir. All rights reserved. // -#import #import "MPAppDelegate_Store.h" #if TARGET_OS_IPHONE @@ -141,11 +140,10 @@ PearlAssociatedObjectProperty(NSManagedObjectContext*, MainManagedObjectContext, return; inf(@"Local store migration level: %d (current %d)", (signed)migrationLevel, (signed)MPMigrationLevelLocalStoreCurrent); - if (migrationLevel <= MPMigrationLevelLocalStoreV1) - if (![self migrateV1LocalStore]) { - inf(@"Failed to migrate old V1 to new local store."); - return; - } + if (migrationLevel <= MPMigrationLevelLocalStoreV1) if (![self migrateV1LocalStore]) { + inf(@"Failed to migrate old V1 to new local store."); + return; + } [[NSUserDefaults standardUserDefaults] setInteger:MPMigrationLevelLocalStoreCurrent forKey:MPMigrationLevelLocalStoreKey]; inf(@"Successfully migrated old to new local store."); @@ -284,7 +282,7 @@ PearlAssociatedObjectProperty(NSManagedObjectContext*, MainManagedObjectContext, - (void)ubiquityStoreManager:(UbiquityStoreManager *)manager log:(NSString *)message { - dbg(@"[StoreManager] %@", message); + inf(@"[StoreManager] %@", message); } - (void)ubiquityStoreManager:(UbiquityStoreManager *)manager willLoadStoreIsCloud:(BOOL)isCloudStore { @@ -344,7 +342,8 @@ PearlAssociatedObjectProperty(NSManagedObjectContext*, MainManagedObjectContext, MPCheckpoint( MPCheckpointMPErrorUbiquity, @{ @"cause" : @(cause), @"error.code" : @(error.code), - @"error.domain" : NilToNSNull(error.domain) + @"error.domain" : NilToNSNull(error.domain), + @"error.reason" : NilToNSNull(IfNotNilElse( [error localizedFailureReason], [error localizedDescription] )), } ); } diff --git a/MasterPassword/ObjC/iOS/MPAppsViewController.m b/MasterPassword/ObjC/iOS/MPAppsViewController.m index 6415a12c..5406aa6a 100644 --- a/MasterPassword/ObjC/iOS/MPAppsViewController.m +++ b/MasterPassword/ObjC/iOS/MPAppsViewController.m @@ -37,7 +37,7 @@ UIViewController *vc; @try { for (NSUInteger p = 0; - (vc = [self.storyboard instantiateViewControllerWithIdentifier:PearlString( @"MPAppViewController_%u", p )]); + (vc = [self.storyboard instantiateViewControllerWithIdentifier:PearlString( @"MPAppViewController_%lu", (long)p )]); ++p) [self.pageVCs addObject:vc]; } diff --git a/MasterPassword/ObjC/iOS/MPElementListAllViewController.m b/MasterPassword/ObjC/iOS/MPElementListAllViewController.m index e75c1d72..2fdb1333 100644 --- a/MasterPassword/ObjC/iOS/MPElementListAllViewController.m +++ b/MasterPassword/ObjC/iOS/MPElementListAllViewController.m @@ -142,9 +142,9 @@ } [PearlAlert showAlertWithTitle:@"Sites Upgraded" - message:PearlString( @"This upgrade has caused %d passwords to change.\n" + message:PearlString( @"This upgrade has caused %lu passwords to change.\n" @"To make updating the actual passwords of these accounts easier, " - @"you can email a summary of these changes to yourself.", [changes count] ) + @"you can email a summary of these changes to yourself.", (unsigned long)[changes count] ) viewStyle:UIAlertViewStyleDefault initAlert:nil tappedButtonBlock:^(UIAlertView *alert, NSInteger buttonIndex) { if (buttonIndex == [alert cancelButtonIndex]) return; diff --git a/MasterPassword/ObjC/iOS/MPElementListController.m b/MasterPassword/ObjC/iOS/MPElementListController.m index 56d5a3b0..444748ba 100644 --- a/MasterPassword/ObjC/iOS/MPElementListController.m +++ b/MasterPassword/ObjC/iOS/MPElementListController.m @@ -177,7 +177,7 @@ if (section == 1) return (NSInteger)[[[self.fetchedResultsControllerByUses sections] lastObject] numberOfObjects]; - Throw(@"Unsupported section: %d", section); + Throw(@"Unsupported section: %ld", (long)section); } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { @@ -196,8 +196,9 @@ MPElementEntity *element = [self elementForTableIndexPath:indexPath]; cell.textLabel.text = element.name; - cell.detailTextLabel.text = PearlString( @"%d views, last on %@: %@", - element.uses, [self.dateFormatter stringFromDate:element.lastUsed], [element.algorithm shortNameOfType:element.type] ); + cell.detailTextLabel.text = PearlString( @"%lu views, last on %@: %@", + (unsigned long)element.uses, [self.dateFormatter stringFromDate:element.lastUsed], + [element.algorithm shortNameOfType:element.type] ); } - (NSIndexPath *)tableIndexPathForFetchController:(NSFetchedResultsController *)fetchedResultsController @@ -224,7 +225,7 @@ if (indexPath.section == 1) return [self.fetchedResultsControllerByUses objectAtIndexPath:[self fetchedIndexPathForTableIndexPath:indexPath]]; - Throw(@"Unsupported section: %d", indexPath.section); + Throw(@"Unsupported section: %ld", (long)indexPath.section); } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { @@ -240,7 +241,7 @@ if (section == 1) return @"Most Commonly Used"; - Throw(@"Unsupported section: %d", section); + Throw(@"Unsupported section: %ld", (long)section); } - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { diff --git a/MasterPassword/ObjC/iOS/MPLogsViewController.m b/MasterPassword/ObjC/iOS/MPLogsViewController.m index 33ea31da..560ee866 100644 --- a/MasterPassword/ObjC/iOS/MPLogsViewController.m +++ b/MasterPassword/ObjC/iOS/MPLogsViewController.m @@ -116,7 +116,7 @@ continue; } - storeDescription = PearlString( @"%@: %dU, %dS", storeDescription, userCount, siteCount ); + storeDescription = PearlString( @"%@: %luU, %luS", storeDescription, (unsigned long)userCount, (unsigned long)siteCount ); } @catch (NSException *exception) { wrn(@"Couldn't describe store %@: %@", storeDescription, exception); diff --git a/MasterPassword/ObjC/iOS/MPMainViewController.m b/MasterPassword/ObjC/iOS/MPMainViewController.m index 2d8582da..aa664c95 100644 --- a/MasterPassword/ObjC/iOS/MPMainViewController.m +++ b/MasterPassword/ObjC/iOS/MPMainViewController.m @@ -237,7 +237,7 @@ forState:UIControlStateNormal]; if ([activeElement isKindOfClass:[MPElementGeneratedEntity class]]) - self.passwordCounter.text = PearlString( @"%u", ((MPElementGeneratedEntity *)activeElement).counter ); + self.passwordCounter.text = PearlString( @"%lu", (unsigned long)((MPElementGeneratedEntity *)activeElement).counter ); self.contentField.enabled = NO; self.contentField.text = @""; @@ -762,7 +762,7 @@ //#endif default: { - wrn(@"Unsupported action: %u", buttonIndex - [sheet firstOtherButtonIndex]); + wrn(@"Unsupported action: %ld", (long)(buttonIndex - [sheet firstOtherButtonIndex])); break; } } diff --git a/MasterPassword/ObjC/iOS/MPTypeViewController.m b/MasterPassword/ObjC/iOS/MPTypeViewController.m index 0771e66a..6cd0dd62 100644 --- a/MasterPassword/ObjC/iOS/MPTypeViewController.m +++ b/MasterPassword/ObjC/iOS/MPTypeViewController.m @@ -133,7 +133,7 @@ return (MPElementType)NSNotFound; default: { - Throw(@"Unsupported row: %d, when selecting generated element type.", indexPath.row); + Throw(@"Unsupported row: %ld, when selecting generated element type.", (long)indexPath.row); } } } @@ -151,13 +151,13 @@ return (MPElementType)NSNotFound; default: { - Throw(@"Unsupported row: %d, when selecting stored element type.", indexPath.row); + Throw(@"Unsupported row: %ld, when selecting stored element type.", (long)indexPath.row); } } } default: - Throw(@"Unsupported section: %d, when selecting element type.", indexPath.section); + Throw(@"Unsupported section: %ld, when selecting element type.", (long)indexPath.section); } } diff --git a/MasterPassword/ObjC/iOS/MPUnlockViewController.m b/MasterPassword/ObjC/iOS/MPUnlockViewController.m index 4b542cce..57202d71 100644 --- a/MasterPassword/ObjC/iOS/MPUnlockViewController.m +++ b/MasterPassword/ObjC/iOS/MPUnlockViewController.m @@ -90,7 +90,8 @@ alertAvatar.layer.shadowOpacity = 1; alertAvatar.layer.shadowRadius = 5; alertAvatar.backgroundColor = [UIColor clearColor]; - [alertAvatar setBackgroundImage:[UIImage imageNamed:PearlString( @"avatar-%d", user.avatar )] forState:UIControlStateNormal]; + [alertAvatar setBackgroundImage:[UIImage imageNamed:PearlString( @"avatar-%lu", (unsigned long)user.avatar )] + forState:UIControlStateNormal]; UILabel *alertNameLabel = [self.nameLabel cloneAddedTo:container]; alertNameLabel.center = alertAvatar.center; @@ -136,7 +137,7 @@ self.emergencyGeneratorContainer.hidden = YES; self.emergencyQueue = [NSOperationQueue new]; [self.emergencyCounterStepper addTargetBlock:^(id sender, UIControlEvents event) { - self.emergencyCounter.text = PearlString( @"%d", (NSUInteger)self.emergencyCounterStepper.value ); + self.emergencyCounter.text = PearlString( @"%lu", (unsigned long)self.emergencyCounterStepper.value ); [self updateEmergencyPassword]; } forControlEvents:UIControlEventValueChanged]; @@ -343,7 +344,7 @@ avatar.backgroundColor = [UIColor clearColor]; avatar.tag = user.avatar; - [avatar setBackgroundImage:[UIImage imageNamed:PearlString( @"avatar-%u", user.avatar )] + [avatar setBackgroundImage:[UIImage imageNamed:PearlString( @"avatar-%lu", (unsigned long)user.avatar )] forState:UIControlStateNormal]; [avatar setSelectionInSuperviewCandidate:YES isClearable:YES]; [avatar onHighlightOrSelect:^(BOOL highlighted, BOOL selected) { @@ -881,7 +882,7 @@ case 5: return MPElementTypeGeneratedPIN; default: - Throw(@"Unsupported type index: %d", self.emergencyTypeControl.selectedSegmentIndex); + Throw(@"Unsupported type index: %ld", (long)self.emergencyTypeControl.selectedSegmentIndex); } } diff --git a/MasterPassword/ObjC/iOS/MPiOSAppDelegate.h b/MasterPassword/ObjC/iOS/MPiOSAppDelegate.h index 40504731..0d67edff 100644 --- a/MasterPassword/ObjC/iOS/MPiOSAppDelegate.h +++ b/MasterPassword/ObjC/iOS/MPiOSAppDelegate.h @@ -10,7 +10,7 @@ #import #import "MPAppDelegate_Shared.h" -#import +#import @interface MPiOSAppDelegate : MPAppDelegate_Shared diff --git a/MasterPassword/ObjC/iOS/MPiOSAppDelegate.m b/MasterPassword/ObjC/iOS/MPiOSAppDelegate.m index e254970e..a5620ff5 100644 --- a/MasterPassword/ObjC/iOS/MPiOSAppDelegate.m +++ b/MasterPassword/ObjC/iOS/MPiOSAppDelegate.m @@ -10,7 +10,6 @@ #import "MPAppDelegate_Key.h" #import "MPAppDelegate_Store.h" #import "IASKSettingsReader.h" -#import @interface MPiOSAppDelegate() @@ -294,8 +293,8 @@ dispatch_group_enter( userPasswordGroup ); dispatch_async( dispatch_get_main_queue(), ^{ [PearlAlert showAlertWithTitle:PearlString( @"Master Password for\n%@", userName ) - message:PearlString( @"Imports %d sites, overwriting %d.", importCount, - deleteCount ) + message:PearlString( @"Imports %lu sites, overwriting %lu.", + (unsigned long)importCount, (unsigned long)deleteCount ) viewStyle:UIAlertViewStyleSecureTextInput initAlert:nil tappedButtonBlock:^(UIAlertView *alert_, NSInteger buttonIndex_) { @try { diff --git a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj index 4c08f7f0..29394d61 100644 --- a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj +++ b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj @@ -33,9 +33,6 @@ DA30E9D815723E6900A68B4C /* PearlLazy.m in Sources */ = {isa = PBXBuildFile; fileRef = DA30E9D615723E6900A68B4C /* PearlLazy.m */; }; DA3509FE15F101A500C14A8E /* PearlQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = DA3509FC15F101A500C14A8E /* PearlQueue.h */; }; DA3509FF15F101A500C14A8E /* PearlQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = DA3509FD15F101A500C14A8E /* PearlQueue.m */; }; - DA3EF17B15A47744003ABF4E /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA3EF17A15A47744003ABF4E /* SenTestingKit.framework */; }; - DA3EF17C15A47744003ABF4E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA48147E415C00F98B1E /* UIKit.framework */; }; - DA3EF17D15A47744003ABF4E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DA4425CC1557BED40052177D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DA44260A1557D9E40052177D /* libUbiquityStoreManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA4425CB1557BED40052177D /* libUbiquityStoreManager.a */; }; DA4DA1D91564471A00F6F596 /* libjrswizzle.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC6326C148680650075AEA5 /* libjrswizzle.a */; }; @@ -58,7 +55,6 @@ DA5E5C7417248959003798D8 /* sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6B17248959003798D8 /* sha256.h */; }; DA5E5C7517248959003798D8 /* sysendian.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6C17248959003798D8 /* sysendian.h */; }; DA5E5C7617248959003798D8 /* warn.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5E5C6D17248959003798D8 /* warn.h */; }; - DA5E5C78172489FA003798D8 /* libscryptenc-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5E5C77172489FA003798D8 /* libscryptenc-ios.a */; }; DA6701B816406A4100B61001 /* Accounts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701B716406A4100B61001 /* Accounts.framework */; settings = {ATTRIBUTES = (Required, ); }; }; DA6701DE16406B7300B61001 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DD16406B7300B61001 /* Social.framework */; settings = {ATTRIBUTES = (Required, ); }; }; DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DF16406BB400B61001 /* AdSupport.framework */; settings = {ATTRIBUTES = (Required, ); }; }; @@ -257,6 +253,12 @@ DAD312BF1552A1BD00A3F9ED /* libLocalytics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD3127115528CD200A3F9ED /* libLocalytics.a */; }; DAD312C21552A22700A3F9ED /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD312C01552A20800A3F9ED /* libsqlite3.dylib */; }; DAE1EF2217E942DE00BC0086 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAE1EF2417E942DE00BC0086 /* Localizable.strings */; }; + DAE1EF2A17ED112700BC0086 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; + DAE1EF5817ED115E00BC0086 /* DCCrossHairView.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE1EF5017ED115E00BC0086 /* DCCrossHairView.m */; }; + DAE1EF5917ED115E00BC0086 /* DCFrameView.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE1EF5217ED115E00BC0086 /* DCFrameView.m */; }; + DAE1EF5A17ED115E00BC0086 /* DCIntrospect.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE1EF5417ED115E00BC0086 /* DCIntrospect.m */; }; + DAE1EF5B17ED115E00BC0086 /* DCStatusBarOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE1EF5717ED115E00BC0086 /* DCStatusBarOverlay.m */; }; + DAE1EF5C17ED118400BC0086 /* libDCIntrospect.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAE1EF2917ED112600BC0086 /* libDCIntrospect.a */; }; DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAEBC45214F6364500987BF6 /* QuartzCore.framework */; }; DAFC5656172C573B00CB5CC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DAFC5683172C57EC00CB5CC5 /* IASKAppSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFC5665172C57EC00CB5CC5 /* IASKAppSettingsViewController.m */; }; @@ -362,17 +364,20 @@ DAFE4A63150399FF003ABA90 /* UIScrollView+PearlFlashingIndicators.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE4A63150399FF003ABA8F /* UIScrollView+PearlFlashingIndicators.h */; }; DAFE4A63150399FF003ABA92 /* NSDateFormatter+RFC3339.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE4A63150399FF003ABA91 /* NSDateFormatter+RFC3339.m */; }; DAFE4A63150399FF003ABA94 /* NSDateFormatter+RFC3339.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE4A63150399FF003ABA93 /* NSDateFormatter+RFC3339.h */; }; + DAFFC63F17EDDA7C007BB020 /* libscryptenc-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAFFC63E17EDDA7C007BB020 /* libscryptenc-ios.a */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - DA3EF19D15A47AEB003ABF4E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = DA5BFA3B147E415C00F98B1E /* Project object */; - proxyType = 1; - remoteGlobalIDString = DA5BFA43147E415C00F98B1E; - remoteInfo = MasterPassword; +/* Begin PBXCopyFilesBuildPhase section */ + DAE1EF2717ED112600BC0086 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; }; -/* End PBXContainerItemProxy section */ +/* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ 93D39067C0AFDC581794E2B8 /* NSArray+Indexing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Indexing.m"; sourceTree = ""; }; @@ -404,7 +409,6 @@ DA340E9F17CD830E00712B77 /* TestFlight+ManualSessions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TestFlight+ManualSessions.h"; sourceTree = ""; }; DA3509FC15F101A500C14A8E /* PearlQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlQueue.h; sourceTree = ""; }; DA3509FD15F101A500C14A8E /* PearlQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlQueue.m; sourceTree = ""; }; - DA3EF17915A47744003ABF4E /* Tests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; DA3EF17A15A47744003ABF4E /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; DA4425CB1557BED40052177D /* libUbiquityStoreManager.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libUbiquityStoreManager.a; sourceTree = BUILT_PRODUCTS_DIR; }; DA5A09DD171A70E4005284AB /* play.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = play.png; sourceTree = ""; }; @@ -426,7 +430,6 @@ DA5E5C6B17248959003798D8 /* sha256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha256.h; sourceTree = ""; }; DA5E5C6C17248959003798D8 /* sysendian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sysendian.h; sourceTree = ""; }; DA5E5C6D17248959003798D8 /* warn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = warn.h; sourceTree = ""; }; - DA5E5C77172489FA003798D8 /* libscryptenc-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libscryptenc-ios.a"; path = "/Users/.z/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib/libscryptenc-ios.a"; sourceTree = ""; }; DA6701B716406A4100B61001 /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = System/Library/Frameworks/Accounts.framework; sourceTree = SDKROOT; }; DA6701DD16406B7300B61001 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; DA6701DF16406BB400B61001 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; }; @@ -1175,6 +1178,17 @@ DAD3127115528CD200A3F9ED /* libLocalytics.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libLocalytics.a; sourceTree = BUILT_PRODUCTS_DIR; }; DAD312C01552A20800A3F9ED /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; DAE1EF2317E942DE00BC0086 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + DAE1EF2917ED112600BC0086 /* libDCIntrospect.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDCIntrospect.a; sourceTree = BUILT_PRODUCTS_DIR; }; + DAE1EF3717ED112700BC0086 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + DAE1EF4F17ED115E00BC0086 /* DCCrossHairView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCCrossHairView.h; sourceTree = ""; }; + DAE1EF5017ED115E00BC0086 /* DCCrossHairView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCCrossHairView.m; sourceTree = ""; }; + DAE1EF5117ED115E00BC0086 /* DCFrameView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCFrameView.h; sourceTree = ""; }; + DAE1EF5217ED115E00BC0086 /* DCFrameView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCFrameView.m; sourceTree = ""; }; + DAE1EF5317ED115E00BC0086 /* DCIntrospect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCIntrospect.h; sourceTree = ""; }; + DAE1EF5417ED115E00BC0086 /* DCIntrospect.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCIntrospect.m; sourceTree = ""; }; + DAE1EF5517ED115E00BC0086 /* DCIntrospectSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCIntrospectSettings.h; sourceTree = ""; }; + DAE1EF5617ED115E00BC0086 /* DCStatusBarOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCStatusBarOverlay.h; sourceTree = ""; }; + DAE1EF5717ED115E00BC0086 /* DCStatusBarOverlay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCStatusBarOverlay.m; sourceTree = ""; }; DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; DAFC5655172C573B00CB5CC5 /* libInAppSettingsKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libInAppSettingsKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; DAFC5659172C573B00CB5CC5 /* InAppSettingsKit-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "InAppSettingsKit-Prefix.pch"; sourceTree = ""; }; @@ -1300,19 +1314,10 @@ DAFE4A63150399FF003ABA8F /* UIScrollView+PearlFlashingIndicators.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+PearlFlashingIndicators.h"; sourceTree = ""; }; DAFE4A63150399FF003ABA91 /* NSDateFormatter+RFC3339.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDateFormatter+RFC3339.m"; sourceTree = ""; }; DAFE4A63150399FF003ABA93 /* NSDateFormatter+RFC3339.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDateFormatter+RFC3339.h"; sourceTree = ""; }; + DAFFC63E17EDDA7C007BB020 /* libscryptenc-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libscryptenc-ios.a"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - DA3EF17515A47744003ABF4E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - DA3EF17B15A47744003ABF4E /* SenTestingKit.framework in Frameworks */, - DA3EF17C15A47744003ABF4E /* UIKit.framework in Frameworks */, - DA3EF17D15A47744003ABF4E /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; DA4425C81557BED40052177D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1325,6 +1330,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + DAE1EF5C17ED118400BC0086 /* libDCIntrospect.a in Frameworks */, DAFC5691172C582A00CB5CC5 /* libInAppSettingsKit.a in Frameworks */, DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */, DA6701DE16406B7300B61001 /* Social.framework in Frameworks */, @@ -1381,9 +1387,9 @@ buildActionMask = 2147483647; files = ( DA4DA1DA1564471F00F6F596 /* libuicolor-utilities.a in Frameworks */, + DAFFC63F17EDDA7C007BB020 /* libscryptenc-ios.a in Frameworks */, DA4DA1D91564471A00F6F596 /* libjrswizzle.a in Frameworks */, DAC77CAE148291A600BCF976 /* Foundation.framework in Frameworks */, - DA5E5C78172489FA003798D8 /* libscryptenc-ios.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1395,6 +1401,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DAE1EF2617ED112600BC0086 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DAE1EF2A17ED112700BC0086 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DAFC5652172C573B00CB5CC5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1428,8 +1442,8 @@ DAD3127115528CD200A3F9ED /* libLocalytics.a */, DA4425CB1557BED40052177D /* libUbiquityStoreManager.a */, DA829E51159847E0002417D3 /* libFontReplacer.a */, - DA3EF17915A47744003ABF4E /* Tests.octest */, DAFC5655172C573B00CB5CC5 /* libInAppSettingsKit.a */, + DAE1EF2917ED112600BC0086 /* libDCIntrospect.a */, ); name = Products; sourceTree = ""; @@ -1455,6 +1469,7 @@ DA5BFA4C147E415C00F98B1E /* CoreGraphics.framework */, DA5BFA4E147E415C00F98B1E /* CoreData.framework */, DA3EF17A15A47744003ABF4E /* SenTestingKit.framework */, + DAE1EF3717ED112700BC0086 /* XCTest.framework */, ); name = Frameworks; sourceTree = ""; @@ -1462,7 +1477,7 @@ DA5E5C6317248959003798D8 /* lib */ = { isa = PBXGroup; children = ( - DA5E5C77172489FA003798D8 /* libscryptenc-ios.a */, + DAFFC63E17EDDA7C007BB020 /* libscryptenc-ios.a */, DA5E5C6417248959003798D8 /* include */, ); path = lib; @@ -2285,6 +2300,7 @@ DACA22121705DDC5002C6C22 /* External */ = { isa = PBXGroup; children = ( + DAE1EF4E17ED115E00BC0086 /* DCIntrospect */, DABF632217B744F900DA7E38 /* GoogleOpenSource.framework */, DABF632317B744F900DA7E38 /* GooglePlus.framework */, DACA22181705DE28002C6C22 /* Crashlytics.framework */, @@ -2427,6 +2443,23 @@ path = "External/uicolor-utilities"; sourceTree = ""; }; + DAE1EF4E17ED115E00BC0086 /* DCIntrospect */ = { + isa = PBXGroup; + children = ( + DAE1EF4F17ED115E00BC0086 /* DCCrossHairView.h */, + DAE1EF5017ED115E00BC0086 /* DCCrossHairView.m */, + DAE1EF5117ED115E00BC0086 /* DCFrameView.h */, + DAE1EF5217ED115E00BC0086 /* DCFrameView.m */, + DAE1EF5317ED115E00BC0086 /* DCIntrospect.h */, + DAE1EF5417ED115E00BC0086 /* DCIntrospect.m */, + DAE1EF5517ED115E00BC0086 /* DCIntrospectSettings.h */, + DAE1EF5617ED115E00BC0086 /* DCStatusBarOverlay.h */, + DAE1EF5717ED115E00BC0086 /* DCStatusBarOverlay.m */, + ); + name = DCIntrospect; + path = DCIntrospect/DCIntrospect; + sourceTree = ""; + }; DAFC5657172C573B00CB5CC5 /* InAppSettingsKit */ = { isa = PBXGroup; children = ( @@ -2766,25 +2799,6 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - DA3EF17815A47744003ABF4E /* Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = DA3EF18815A47744003ABF4E /* Build configuration list for PBXNativeTarget "Tests" */; - buildPhases = ( - DA3EF17415A47744003ABF4E /* Sources */, - DA3EF17515A47744003ABF4E /* Frameworks */, - DA3EF17615A47744003ABF4E /* Resources */, - DA3EF17715A47744003ABF4E /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - DA3EF19E15A47AEB003ABF4E /* PBXTargetDependency */, - ); - name = Tests; - productName = Tests; - productReference = DA3EF17915A47744003ABF4E /* Tests.octest */; - productType = "com.apple.product-type.bundle"; - }; DA4425CA1557BED40052177D /* UbiquityStoreManager */ = { isa = PBXNativeTarget; buildConfigurationList = DA4425D31557BED40052177D /* Build configuration list for PBXNativeTarget "UbiquityStoreManager" */; @@ -2906,6 +2920,23 @@ productReference = DAD3127115528CD200A3F9ED /* libLocalytics.a */; productType = "com.apple.product-type.library.static"; }; + DAE1EF2817ED112600BC0086 /* DCIntrospect */ = { + isa = PBXNativeTarget; + buildConfigurationList = DAE1EF4617ED112700BC0086 /* Build configuration list for PBXNativeTarget "DCIntrospect" */; + buildPhases = ( + DAE1EF2517ED112600BC0086 /* Sources */, + DAE1EF2617ED112600BC0086 /* Frameworks */, + DAE1EF2717ED112600BC0086 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = DCIntrospect; + productName = DCIntrospect; + productReference = DAE1EF2917ED112600BC0086 /* libDCIntrospect.a */; + productType = "com.apple.product-type.library.static"; + }; DAFC5654172C573B00CB5CC5 /* InAppSettingsKit */ = { isa = PBXNativeTarget; buildConfigurationList = DAFC565E172C573B00CB5CC5 /* Build configuration list for PBXNativeTarget "InAppSettingsKit" */; @@ -3046,20 +3077,13 @@ DAD3127015528CD200A3F9ED /* Localytics */, DA4425CA1557BED40052177D /* UbiquityStoreManager */, DA829E50159847E0002417D3 /* FontReplacer */, - DA3EF17815A47744003ABF4E /* Tests */, DAFC5654172C573B00CB5CC5 /* InAppSettingsKit */, + DAE1EF2817ED112600BC0086 /* DCIntrospect */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - DA3EF17615A47744003ABF4E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; DA5BFA42147E415C00F98B1E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -3215,19 +3239,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - DA3EF17715A47744003ABF4E /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; DA6556E314D55F3000841C99 /* Run Script: GIT version -> Info.plist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -3260,13 +3271,6 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - DA3EF17415A47744003ABF4E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; DA4425C71557BED40052177D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3403,6 +3407,17 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DAE1EF2517ED112600BC0086 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DAE1EF5817ED115E00BC0086 /* DCCrossHairView.m in Sources */, + DAE1EF5B17ED115E00BC0086 /* DCStatusBarOverlay.m in Sources */, + DAE1EF5917ED115E00BC0086 /* DCFrameView.m in Sources */, + DAE1EF5A17ED115E00BC0086 /* DCIntrospect.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DAFC5651172C573B00CB5CC5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3426,14 +3441,6 @@ }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - DA3EF19E15A47AEB003ABF4E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = DA5BFA43147E415C00F98B1E /* MasterPassword */; - targetProxy = DA3EF19D15A47AEB003ABF4E /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ DABD3BFA1711E2DC00CF925C /* InfoPlist.strings */ = { isa = PBXVariantGroup; @@ -3462,86 +3469,6 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - DA3EF18915A47744003ABF4E /* Debug-iOS */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/MasterPassword.app/MasterPassword"; - CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(DEVELOPER_LIBRARY_DIR)/Frameworks", - "\"$(SRCROOT)/Crashlytics\"", - ); - GCC_DYNAMIC_NO_PIC = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - INFOPLIST_FILE = "Tests/Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = octest; - }; - name = "Debug-iOS"; - }; - DA3EF18A15A47744003ABF4E /* AdHoc-iOS */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/MasterPassword.app/MasterPassword"; - CLANG_ENABLE_OBJC_ARC = YES; - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(DEVELOPER_LIBRARY_DIR)/Frameworks", - "\"$(SRCROOT)/Crashlytics\"", - ); - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Tests/Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - TEST_HOST = "$(BUNDLE_LOADER)"; - VALIDATE_PRODUCT = YES; - WRAPPER_EXTENSION = octest; - }; - name = "AdHoc-iOS"; - }; - DA3EF18B15A47744003ABF4E /* AppStore-iOS */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/MasterPassword.app/MasterPassword"; - CLANG_ENABLE_OBJC_ARC = YES; - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(DEVELOPER_LIBRARY_DIR)/Frameworks", - "\"$(SRCROOT)/Crashlytics\"", - ); - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - INFOPLIST_FILE = "Tests/Tests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - TEST_HOST = "$(BUNDLE_LOADER)"; - VALIDATE_PRODUCT = YES; - WRAPPER_EXTENSION = octest; - }; - name = "AppStore-iOS"; - }; DA4425D41557BED40052177D /* Debug-iOS */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3567,27 +3494,39 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CXX0X_EXTENSIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; CLANG_WARN_OBJC_RECEIVER_WEAK = NO; CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; + DSTROOT = "/tmp/${PRODUCT_NAME}.dst"; FRAMEWORK_SEARCH_PATHS = ( "$(inherit)", "\"$(SRCROOT)/../../../External\"/**", ); GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -3606,7 +3545,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES; GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES; @@ -3640,28 +3579,41 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; CLANG_STATIC_ANALYZER_MODE = deep; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CXX0X_EXTENSIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; CLANG_WARN_OBJC_RECEIVER_WEAK = NO; CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; COPY_PHASE_STRIP = YES; + DSTROOT = "/tmp/${PRODUCT_NAME}.dst"; + ENABLE_NS_ASSERTIONS = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherit)", "\"$(SRCROOT)/../../../External\"/**", ); GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREPROCESSOR_DEFINITIONS = ( "ADHOC=1", @@ -3683,7 +3635,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES; GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES; @@ -3725,6 +3677,11 @@ EXCLUDED_SOURCE_FILE_NAMES = libTestFlight.a; GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch"; INFOPLIST_FILE = "MasterPassword-Info.plist"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-framework", + Reveal, + ); "PROVISIONING_PROFILE[sdk=iphoneos*]" = "EBD2A2E4-AEC3-4EEA-8FF0-5F1A0D9FFA1C"; SKIP_INSTALL = NO; TARGETED_DEVICE_FAMILY = 1; @@ -3773,28 +3730,41 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; CLANG_STATIC_ANALYZER_MODE = deep; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CXX0X_EXTENSIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; CLANG_WARN_OBJC_RECEIVER_WEAK = NO; CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = NO; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; COPY_PHASE_STRIP = YES; + DSTROOT = "/tmp/${PRODUCT_NAME}.dst"; + ENABLE_NS_ASSERTIONS = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherit)", "\"$(SRCROOT)/../../../External\"/**", ); GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREPROCESSOR_DEFINITIONS = ( "APPSTORE=1", @@ -3815,7 +3785,7 @@ GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES; GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES; @@ -3854,7 +3824,7 @@ CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = MasterPassword.entitlements; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: Maarten Billemont (HL3Q45LX9N)"; - EXCLUDED_SOURCE_FILE_NAMES = libTestFlight.a; + EXCLUDED_SOURCE_FILE_NAMES = "libTestFlight.a,libDCIntrospect.a"; GCC_PREFIX_HEADER = "MasterPassword-Prefix.pch"; INFOPLIST_FILE = "MasterPassword-Info.plist"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "6C6B84DD-9D8F-4321-BD77-5F737DBE1778"; @@ -3871,7 +3841,8 @@ GCC_PREFIX_HEADER = "../Pearl/Pearl-Prefix.pch"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto\"", + "\\\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto\\\"", + "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib", ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3959,7 +3930,8 @@ GCC_PREFIX_HEADER = "../Pearl/Pearl-Prefix.pch"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto\"", + "\\\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto\\\"", + "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib", ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3975,7 +3947,8 @@ GCC_PREFIX_HEADER = "../Pearl/Pearl-Prefix.pch"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto\"", + "\\\"$(SRCROOT)/../../../External/Pearl/Pearl-Crypto\\\"", + "/Users/lhunath/Documents/workspace/lyndir/MasterPassword/External/Pearl/Pearl-Crypto/lib", ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4016,6 +3989,27 @@ }; name = "AppStore-iOS"; }; + DAE1EF4717ED112700BC0086 /* Debug-iOS */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + }; + name = "Debug-iOS"; + }; + DAE1EF4817ED112700BC0086 /* AdHoc-iOS */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + }; + name = "AdHoc-iOS"; + }; + DAE1EF4917ED112700BC0086 /* AppStore-iOS */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + }; + name = "AppStore-iOS"; + }; DAFC565F172C573B00CB5CC5 /* Debug-iOS */ = { isa = XCBuildConfiguration; buildSettings = { @@ -4052,16 +4046,6 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - DA3EF18815A47744003ABF4E /* Build configuration list for PBXNativeTarget "Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DA3EF18915A47744003ABF4E /* Debug-iOS */, - DA3EF18A15A47744003ABF4E /* AdHoc-iOS */, - DA3EF18B15A47744003ABF4E /* AppStore-iOS */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = "AdHoc-iOS"; - }; DA4425D31557BED40052177D /* Build configuration list for PBXNativeTarget "UbiquityStoreManager" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -4142,6 +4126,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = "AdHoc-iOS"; }; + DAE1EF4617ED112700BC0086 /* Build configuration list for PBXNativeTarget "DCIntrospect" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DAE1EF4717ED112700BC0086 /* Debug-iOS */, + DAE1EF4817ED112700BC0086 /* AdHoc-iOS */, + DAE1EF4917ED112700BC0086 /* AppStore-iOS */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = "AdHoc-iOS"; + }; DAFC565E172C573B00CB5CC5 /* Build configuration list for PBXNativeTarget "InAppSettingsKit" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/xcshareddata/xcschemes/MasterPassword iOS (App Store).xcscheme b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/xcshareddata/xcschemes/MasterPassword iOS (App Store).xcscheme index 666ba439..188d8b26 100644 --- a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/xcshareddata/xcschemes/MasterPassword iOS (App Store).xcscheme +++ b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/xcshareddata/xcschemes/MasterPassword iOS (App Store).xcscheme @@ -28,7 +28,36 @@ shouldUseLaunchSchemeArgsEnv = "YES" buildConfiguration = "AppStore-iOS"> + + + + + + + + + + + + + + + + + + + +