Skip to content

Commit

Permalink
Exposing generators to third-party apps
Browse files Browse the repository at this point in the history
  • Loading branch information
audaciouscode committed Jun 22, 2017
1 parent 389255e commit 1fd9dd1
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 46 deletions.
46 changes: 8 additions & 38 deletions PassiveDataKit.xcodeproj/project.pbxproj
Expand Up @@ -12,7 +12,7 @@
383ECC561D1F5178004E0B2B /* PassiveDataKit.strings in Resources */ = {isa = PBXBuildFile; fileRef = 383ECC551D1F5178004E0B2B /* PassiveDataKit.strings */; };
383ECC611D1F742E004E0B2B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 383ECC601D1F742E004E0B2B /* Assets.xcassets */; };
383ECC631D1F7E9F004E0B2B /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 383ECC621D1F7E9F004E0B2B /* MapKit.framework */; };
383ECC661D1F816D004E0B2B /* PDKEventsGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 383ECC641D1F816D004E0B2B /* PDKEventsGenerator.h */; };
383ECC661D1F816D004E0B2B /* PDKEventsGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 383ECC641D1F816D004E0B2B /* PDKEventsGenerator.h */; settings = {ATTRIBUTES = (Public, ); }; };
383ECC671D1F816D004E0B2B /* PDKEventsGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 383ECC651D1F816D004E0B2B /* PDKEventsGenerator.m */; };
383ECC6A1D1F82F5004E0B2B /* PDKMixpanelEventGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 383ECC681D1F82F5004E0B2B /* PDKMixpanelEventGenerator.h */; };
383ECC6B1D1F82F5004E0B2B /* PDKMixpanelEventGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 383ECC691D1F82F5004E0B2B /* PDKMixpanelEventGenerator.m */; };
Expand All @@ -34,9 +34,9 @@
389DE4D31EF7492C009C8B27 /* PDKHttpTransmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = 389DE4D11EF7492C009C8B27 /* PDKHttpTransmitter.m */; };
389DE4D61EF74DDA009C8B27 /* NSString+RAInflections.h in Headers */ = {isa = PBXBuildFile; fileRef = 389DE4D41EF74DDA009C8B27 /* NSString+RAInflections.h */; settings = {ATTRIBUTES = (Public, ); }; };
389DE4D71EF74DDA009C8B27 /* NSString+RAInflections.m in Sources */ = {isa = PBXBuildFile; fileRef = 389DE4D51EF74DDA009C8B27 /* NSString+RAInflections.m */; };
389DE4DE1EF75ADB009C8B27 /* PDKBaseGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 389DE4DC1EF75ADB009C8B27 /* PDKBaseGenerator.h */; };
389DE4DE1EF75ADB009C8B27 /* PDKBaseGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 389DE4DC1EF75ADB009C8B27 /* PDKBaseGenerator.h */; settings = {ATTRIBUTES = (Public, ); }; };
389DE4DF1EF75ADB009C8B27 /* PDKBaseGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 389DE4DD1EF75ADB009C8B27 /* PDKBaseGenerator.m */; };
38A6523C1CDA2D9B00AE8B3B /* PDKLocationGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 38A6523A1CDA2D9B00AE8B3B /* PDKLocationGenerator.h */; };
38A6523C1CDA2D9B00AE8B3B /* PDKLocationGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 38A6523A1CDA2D9B00AE8B3B /* PDKLocationGenerator.h */; settings = {ATTRIBUTES = (Public, ); }; };
38A6523D1CDA2D9B00AE8B3B /* PDKLocationGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 38A6523B1CDA2D9B00AE8B3B /* PDKLocationGenerator.m */; };
38A652431CDA30DB00AE8B3B /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38A652421CDA30DB00AE8B3B /* CoreLocation.framework */; };
38C666B31D0380CD00E6A6C8 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C666B21D0380CD00E6A6C8 /* libsqlite3.tbd */; };
Expand Down Expand Up @@ -75,7 +75,7 @@
38C666F71D038A8E00E6A6C8 /* UIWebView+PDKAFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 38C666D61D038A8E00E6A6C8 /* UIWebView+PDKAFNetworking.m */; };
38DC94881D23470C00552259 /* PDKLocationGeneratorViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 38DC94861D23470C00552259 /* PDKLocationGeneratorViewController.h */; };
38DC94891D23470C00552259 /* PDKLocationGeneratorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 38DC94871D23470C00552259 /* PDKLocationGeneratorViewController.m */; };
38DC949F1D2711C600552259 /* PDKGooglePlacesGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 38DC949D1D2711C600552259 /* PDKGooglePlacesGenerator.h */; };
38DC949F1D2711C600552259 /* PDKGooglePlacesGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 38DC949D1D2711C600552259 /* PDKGooglePlacesGenerator.h */; settings = {ATTRIBUTES = (Public, ); }; };
38DC94A01D2711C600552259 /* PDKGooglePlacesGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 38DC949E1D2711C600552259 /* PDKGooglePlacesGenerator.m */; };
38DC94A71D281A7300552259 /* PDKEventsGeneratorViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 38DC94A51D281A7300552259 /* PDKEventsGeneratorViewController.h */; };
38DC94A81D281A7300552259 /* PDKEventsGeneratorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 38DC94A61D281A7300552259 /* PDKEventsGeneratorViewController.m */; };
Expand Down Expand Up @@ -117,20 +117,6 @@
remoteGlobalIDString = 513B0BB61C73CA35008EEE6E;
remoteInfo = MixpanelAppExtension;
};
389DE4B81EF726B2009C8B27 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 389DE4AA1EF726B2009C8B27 /* Mixpanel.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = E1C2BEB61CFD6A010052172F;
remoteInfo = Mixpanel_tvOS;
};
389DE4BA1EF726B2009C8B27 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 389DE4AA1EF726B2009C8B27 /* Mixpanel.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = E1F160B01E677D2200391AE3;
remoteInfo = Mixpanel_macOS;
};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
Expand Down Expand Up @@ -302,8 +288,6 @@
389DE4B31EF726B2009C8B27 /* Mixpanel.framework */,
389DE4B51EF726B2009C8B27 /* Mixpanel.framework */,
389DE4B71EF726B2009C8B27 /* MixpanelAppExtension.framework */,
389DE4B91EF726B2009C8B27 /* Mixpanel.framework */,
389DE4BB1EF726B2009C8B27 /* Mixpanel.framework */,
);
name = Products;
sourceTree = "<group>";
Expand Down Expand Up @@ -435,18 +419,18 @@
3842F7351CDA2021007F843D /* PassiveDataKit.h in Headers */,
389DE4D21EF7492C009C8B27 /* PDKHttpTransmitter.h in Headers */,
389DE4D61EF74DDA009C8B27 /* NSString+RAInflections.h in Headers */,
38A6523C1CDA2D9B00AE8B3B /* PDKLocationGenerator.h in Headers */,
38DC949F1D2711C600552259 /* PDKGooglePlacesGenerator.h in Headers */,
383ECC661D1F816D004E0B2B /* PDKEventsGenerator.h in Headers */,
38C666E61D038A8E00E6A6C8 /* PDKAFURLResponseSerialization.h in Headers */,
38C666E41D038A8E00E6A6C8 /* PDKAFURLRequestSerialization.h in Headers */,
389DE4DE1EF75ADB009C8B27 /* PDKBaseGenerator.h in Headers */,
38C666D91D038A8E00E6A6C8 /* PDKAFHTTPSessionManager.h in Headers */,
38A6523C1CDA2D9B00AE8B3B /* PDKLocationGenerator.h in Headers */,
383ECC6A1D1F82F5004E0B2B /* PDKMixpanelEventGenerator.h in Headers */,
383ECC661D1F816D004E0B2B /* PDKEventsGenerator.h in Headers */,
38DC949F1D2711C600552259 /* PDKGooglePlacesGenerator.h in Headers */,
38C666E01D038A8E00E6A6C8 /* PDKAFNetworkReachabilityManager.h in Headers */,
38C666E21D038A8E00E6A6C8 /* PDKAFSecurityPolicy.h in Headers */,
38C666EA1D038A8E00E6A6C8 /* UIActivityIndicatorView+PDKAFNetworking.h in Headers */,
38C666F11D038A8E00E6A6C8 /* UIKit+PDKAFNetworking.h in Headers */,
389DE4DE1EF75ADB009C8B27 /* PDKBaseGenerator.h in Headers */,
38C666E81D038A8E00E6A6C8 /* PDKAFURLSessionManager.h in Headers */,
38C666F61D038A8E00E6A6C8 /* UIWebView+PDKAFNetworking.h in Headers */,
38C666DD1D038A8E00E6A6C8 /* PDKAFNetworkActivityIndicatorManager.h in Headers */,
Expand Down Expand Up @@ -568,20 +552,6 @@
remoteRef = 389DE4B61EF726B2009C8B27 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
389DE4B91EF726B2009C8B27 /* Mixpanel.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = Mixpanel.framework;
remoteRef = 389DE4B81EF726B2009C8B27 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
389DE4BB1EF726B2009C8B27 /* Mixpanel.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = Mixpanel.framework;
remoteRef = 389DE4BA1EF726B2009C8B27 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
Expand Down
2 changes: 2 additions & 0 deletions PassiveDataKit/PDKBaseGenerator.h
Expand Up @@ -12,4 +12,6 @@

@interface PDKBaseGenerator : NSObject<PDKGenerator>

- (void) addListener:(id<PDKDataListener>)listener options:(NSDictionary *) options;

@end
7 changes: 6 additions & 1 deletion PassiveDataKit/PDKBaseGenerator.m
Expand Up @@ -21,12 +21,17 @@ - (NSString *) generatorId {
}

- (void) updateOptions:(NSDictionary *) options {

NSLog(@"Implement %@ in subclass...", NSStringFromSelector(_cmd));
}

- (UIView *) visualizationForSize:(CGSize) size {
NSLog(@"Implement %@ in subclass...", NSStringFromSelector(_cmd));

return nil;
}

- (void) addListener:(id<PDKDataListener>)listener options:(NSDictionary *) options {
NSLog(@"Implement %@ in subclass...", NSStringFromSelector(_cmd));
}

@end
18 changes: 11 additions & 7 deletions PassiveDataKit/PDKHttpTransmitter.m
Expand Up @@ -166,14 +166,18 @@ - (void) transmit:(BOOL) force completionHandler:(void (^)(UIBackgroundFetchResu
}

- (NSURLRequest *) uploadRequestForPayload:(NSArray *) payload {
NSMutableURLRequest * request = [[PDKAFJSONRequestSerializer serializer] requestWithMethod:@"CREATE"
URLString:[self.uploadUrl description]
parameters:payload
error:nil];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
if (payload.count > 0) {
NSMutableURLRequest * request = [[PDKAFJSONRequestSerializer serializer] requestWithMethod:@"CREATE"
URLString:[self.uploadUrl description]
parameters:payload
error:nil];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];

return request;
}

return request;
return nil;
}

- (NSUInteger) payloadSize {
Expand Down
4 changes: 4 additions & 0 deletions PassiveDataKit/PassiveDataKit-Shared.h
Expand Up @@ -13,3 +13,7 @@ FOUNDATION_EXPORT const unsigned char PassiveDataKit_SharedVersionString[];

#import "PDKAFURLRequestSerialization.h"
#import "PDKAFURLResponseSerialization.h"

#import "PDKBaseGenerator.h"
#import "PDKLocationGenerator.h"
#import "PDKGooglePlacesGenerator.h"
1 change: 1 addition & 0 deletions PassiveDataKit/PassiveDataKit.h
Expand Up @@ -76,6 +76,7 @@ typedef NS_ENUM(NSInteger, PDKDataGenerator) {

- (void) transmit:(BOOL) force;
- (void) transmitWithCompletionHandler:(void (^)(UIBackgroundFetchResult result)) completionHandler;
- (void) clearTransmitters;

- (void) logEvent:(NSString *) eventName properties:(NSDictionary *) properties;

Expand Down
4 changes: 4 additions & 0 deletions PassiveDataKit/PassiveDataKit.m
Expand Up @@ -178,6 +178,10 @@ - (void) transmitWithCompletionHandler:(void (^)(UIBackgroundFetchResult result)
}
}

- (void) clearTransmitters {
[self.transmitters removeAllObjects];
}

- (NSString *) identifierForUser {
NSString * identifier = [[NSUserDefaults standardUserDefaults] stringForKey:PDKUserIdentifier];

Expand Down

0 comments on commit 1fd9dd1

Please sign in to comment.