Add example plugin
Summary: Added example plugin for iOS, similar to android Reviewed By: jknoxville Differential Revision: D10492429 fbshipit-source-id: d639edc7a47ab240bb172516c2f38b8e2a9f285c
This commit is contained in:
committed by
Facebook Github Bot
parent
da37326a14
commit
74c1a24b86
@@ -144,4 +144,13 @@ Pod::Spec.new do |spec|
|
|||||||
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
|
ss.source_files = "iOS/Plugins/FlipperKitUserDefaultsPlugin/**/*.{h,m}"
|
||||||
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
|
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
spec.subspec "FlipperKitExamplePlugin" do |ss|
|
||||||
|
ss.header_dir = "FlipperKitExamplePlugin"
|
||||||
|
ss.dependency 'FlipperKit/Core'
|
||||||
|
ss.compiler_flags = folly_compiler_flags
|
||||||
|
ss.public_header_files = 'iOS/Plugins/FlipperKitExamplePlugin/FlipperKitExamplePlugin.h'
|
||||||
|
ss.source_files = "iOS/Plugins/FlipperKitExamplePlugin/**/*.{h,mm}"
|
||||||
|
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/FlipperKit/**" }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2018-present, Facebook, Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the LICENSE
|
||||||
|
* file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <FlipperKit/FlipperPlugin.h>
|
||||||
|
|
||||||
|
@interface FlipperKitExamplePlugin : NSObject<FlipperPlugin>
|
||||||
|
|
||||||
|
- (instancetype)init NS_UNAVAILABLE;
|
||||||
|
- (void)sendMessage:(NSString *)msg;
|
||||||
|
- (void)triggerNotification;
|
||||||
|
+ (instancetype) sharedInstance;
|
||||||
|
|
||||||
|
@end
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2018-present, Facebook, Inc.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the LICENSE
|
||||||
|
* file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if FB_SONARKIT_ENABLED
|
||||||
|
#import "FlipperKitExamplePlugin.h"
|
||||||
|
#import <FlipperKit/FlipperClient.h>
|
||||||
|
#import <FlipperKit/FlipperConnection.h>
|
||||||
|
#import <FlipperKit/FlipperResponder.h>
|
||||||
|
|
||||||
|
@interface FlipperKitExamplePlugin()
|
||||||
|
@property (strong, nonatomic) NSMutableArray<NSString *> *messagesToDisplay;
|
||||||
|
@property (strong, nonatomic) id<FlipperConnection> connection;
|
||||||
|
@property (nonatomic) NSInteger triggerCount;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation FlipperKitExamplePlugin
|
||||||
|
|
||||||
|
- (instancetype)init {
|
||||||
|
if (self = [super init]) {
|
||||||
|
_messagesToDisplay = @[].mutableCopy;
|
||||||
|
_triggerCount = 0;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (instancetype)sharedInstance {
|
||||||
|
static FlipperKitExamplePlugin *sInstance = nil;
|
||||||
|
|
||||||
|
static dispatch_once_t onceToken;
|
||||||
|
dispatch_once(&onceToken, ^{
|
||||||
|
sInstance = [FlipperKitExamplePlugin new];
|
||||||
|
});
|
||||||
|
|
||||||
|
return sInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didConnect:(id<FlipperConnection>)connection {
|
||||||
|
__weak FlipperKitExamplePlugin *weakSelf = self;
|
||||||
|
self.connection = connection;
|
||||||
|
[connection receive:@"displayMessage" withBlock:^(NSDictionary *params, id<FlipperResponder> responder) {
|
||||||
|
[weakSelf.messagesToDisplay addObject:params[@"message"]];
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didDisconnect {
|
||||||
|
self.connection = nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *)identifier {
|
||||||
|
return @"Example";
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)runInBackground {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)sendMessage:(NSString *)msg {
|
||||||
|
[self.connection send:@"displayMessage" withParams:@{@"msg": msg}];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)triggerNotification {
|
||||||
|
[self.connection send:@"triggerNotification" withParams:@{@"id": @(self.triggerCount)}];
|
||||||
|
self.triggerCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
|
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
|
||||||
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
|
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
|
||||||
#import <FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h>
|
#import <FlipperKitLayoutComponentKitSupport/FlipperKitLayoutComponentKitSupport.h>
|
||||||
|
#import <FlipperKitExamplePlugin/FlipperKitExamplePlugin.h>
|
||||||
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
|
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
|
||||||
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
|
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
|
||||||
|
|
||||||
@@ -39,6 +40,7 @@
|
|||||||
[client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]];
|
[client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]];
|
||||||
|
|
||||||
[[FlipperClient sharedClient] addPlugin: [[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];
|
[[FlipperClient sharedClient] addPlugin: [[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];
|
||||||
|
[client addPlugin:[FlipperKitExamplePlugin sharedInstance]];
|
||||||
[client start];
|
[client start];
|
||||||
|
|
||||||
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryBoard" bundle:nil];
|
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryBoard" bundle:nil];
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ target 'Sample' do
|
|||||||
pod 'FlipperKit/FlipperKitLayoutComponentKitSupport', :path => '../../FlipperKit.podspec'
|
pod 'FlipperKit/FlipperKitLayoutComponentKitSupport', :path => '../../FlipperKit.podspec'
|
||||||
pod 'FlipperKit/SKIOSNetworkPlugin', :path => '../../FlipperKit.podspec'
|
pod 'FlipperKit/SKIOSNetworkPlugin', :path => '../../FlipperKit.podspec'
|
||||||
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', :path => '../../FlipperKit.podspec'
|
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', :path => '../../FlipperKit.podspec'
|
||||||
|
pod 'FlipperKit/FlipperKitExamplePlugin', :path => '../../FlipperKit.podspec'
|
||||||
pod 'Flipper', :path => '../../Flipper.podspec'
|
pod 'Flipper', :path => '../../Flipper.podspec'
|
||||||
post_install do |installer|
|
post_install do |installer|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user