Swift support for NetworkPlugin (#201)

Summary:
Solves #173

- [x] Add plugins in the sonarkit xcodeproj so that its easy to debug
- [x] Get rid off the c++ in the headers
- [x] Add example to hit network requests and validate

Have a look at the screen shot below ️

<img width="1677" alt="screen shot 2018-08-02 at 12 46 07 pm" src="https://user-images.githubusercontent.com/3865908/43581809-22efe4fe-9652-11e8-9424-f279d07c5c81.png">
Pull Request resolved: https://github.com/facebook/flipper/pull/201

Reviewed By: danielbuechele

Differential Revision: D9132157

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 2b425506961f02eb2bf629c2bcab0da6e7ce5bb0
This commit is contained in:
Pritesh Nandgaonkar
2018-08-06 12:34:08 -07:00
committed by Facebook Github Bot
parent 134a0d96c5
commit 0c60347593
20 changed files with 863 additions and 147 deletions

View File

@@ -116,13 +116,7 @@ NSString *const kFLEXNetworkRecorderResponseCacheLimitDefaultsKey = @"com.flex.r
}
dispatch_async(self.queue, ^{
RequestInfo info = {
.identifier = self.identifierDict[requestID].longLongValue,
.timestamp = [NSDate timestamp],
.request = request,
};
info.setBody(request.HTTPBody);
SKRequestInfo *info = [[SKRequestInfo alloc] initWithIdentifier:self.identifierDict[requestID].longLongValue timestamp:[NSDate timestamp] request:request data:request.HTTPBody];
[self.delegate didObserveRequest:info];
FLEXNetworkTransaction *transaction = [FLEXNetworkTransaction new];
@@ -176,13 +170,7 @@ NSString *const kFLEXNetworkRecorderResponseCacheLimitDefaultsKey = @"com.flex.r
}
transaction.transactionState = FLEXNetworkTransactionStateFinished;
transaction.duration = -[transaction.startTime timeIntervalSinceDate:finishedDate];
ResponseInfo responseInfo = {
.identifier = self.identifierDict[requestID].longLongValue,
.timestamp = [NSDate timestamp],
.response = transaction.response,
.body = nil,
};
responseInfo.setBody(responseBody);
SKResponseInfo *responseInfo = [[SKResponseInfo alloc] initWithIndentifier:self.identifierDict[requestID].longLongValue timestamp:[NSDate timestamp] response:transaction.response data:responseBody];
self.identifierDict[requestID] = nil; //Clear the entry
[self.delegate didObserveResponse:responseInfo];
@@ -207,12 +195,8 @@ NSString *const kFLEXNetworkRecorderResponseCacheLimitDefaultsKey = @"com.flex.r
if (!transaction) {
return;
}
ResponseInfo responseInfo = {
.identifier = self.identifierDict[requestID].longLongValue,
.timestamp = [NSDate timestamp],
.response = transaction.response,
.body = nil,
};
SKResponseInfo *responseInfo = [[SKResponseInfo alloc] initWithIndentifier:self.identifierDict[requestID].longLongValue timestamp:[NSDate timestamp] response:transaction.response data: nil];
self.identifierDict[requestID] = nil; //Clear the entry
[self.delegate didObserveResponse:responseInfo];
transaction.transactionState = FLEXNetworkTransactionStateFailed;

View File

@@ -0,0 +1,29 @@
/*
* 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
#pragma once
#import "SKBufferingPlugin.h"
#import "SKDispatchQueue.h"
#import <iostream>
#import <memory>
struct CachedEvent {
NSString *method;
NSDictionary<NSString *, id> *sonarObject;
};
@interface SKBufferingPlugin(CPPInitialization)
- (instancetype)initWithVectorEventSize:(NSUInteger)size connectionAccessQueue:(std::shared_ptr<facebook::sonar::DispatchQueue>)connectionAccessQueue;
- (instancetype)initWithDispatchQueue:(std::shared_ptr<facebook::sonar::DispatchQueue>)queue;
@end
#endif

View File

@@ -11,13 +11,9 @@
#import <SonarKit/SonarPlugin.h>
#import <memory>
#import "SKDispatchQueue.h"
@interface SKBufferingPlugin : NSObject<SonarPlugin>
- (instancetype)initWithQueue:(const std::shared_ptr<facebook::sonar::DispatchQueue> &)queue NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithQueue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
- (void)send:(NSString *)method sonarObject:(NSDictionary<NSString *, id> *)sonarObject;

View File

@@ -11,26 +11,31 @@
#import "SKBufferingPlugin.h"
#import <SonarKit/SonarConnection.h>
struct CachedEvent {
NSString *method;
NSDictionary<NSString *, id> *sonarObject;
};
#import "SKDispatchQueue.h"
#import "SKBufferingPlugin+CPPInitialization.h"
static const NSUInteger bufferSize = 500;
@interface SKBufferingPlugin()
@property(assign, nonatomic) std::vector<CachedEvent> ringBuffer;
@property(assign, nonatomic) std::shared_ptr<facebook::sonar::DispatchQueue> connectionAccessQueue;
@property(strong, nonatomic) id<SonarConnection> connection;
@end
@implementation SKBufferingPlugin
{
std::vector<CachedEvent> _ringBuffer;
std::shared_ptr<facebook::sonar::DispatchQueue> _connectionAccessQueue;
// {
// std::vector<CachedEvent> _ringBuffer;
// std::shared_ptr<facebook::sonar::DispatchQueue> _connectionAccessQueue;
//
// id<SonarConnection> _connection;
// }
id<SonarConnection> _connection;
}
- (instancetype)initWithQueue:(const std::shared_ptr<facebook::sonar::DispatchQueue> &)queue {
- (instancetype)initWithQueue:(dispatch_queue_t)queue {
if (self = [super init]) {
_ringBuffer.reserve(bufferSize);
_connectionAccessQueue = queue;
_connectionAccessQueue = std::make_shared<facebook::sonar::GCDQueue>(queue);
}
return self;
}
@@ -80,4 +85,22 @@ static const NSUInteger bufferSize = 500;
@end
@implementation SKBufferingPlugin(CPPInitialization)
- (instancetype)initWithVectorEventSize:(NSUInteger)size connectionAccessQueue:(std::shared_ptr<facebook::sonar::DispatchQueue>)connectionAccessQueue {
if (self = [super init]) {
_ringBuffer.reserve(size);
_connectionAccessQueue = connectionAccessQueue;
}
return self;
}
- (instancetype)initWithDispatchQueue:(std::shared_ptr<facebook::sonar::DispatchQueue>)queue {
return [self initWithVectorEventSize:bufferSize
connectionAccessQueue:queue];
}
@end
#endif

View File

@@ -6,47 +6,13 @@
*
*/
#import <Foundation/Foundation.h>
struct RequestInfo {
int64_t identifier;
uint64_t timestamp;
NSURLRequest *request;
NSString *body;
void setBody(NSData *data) {
body = data ? [data base64EncodedStringWithOptions: 0]
: [request.HTTPBody base64EncodedStringWithOptions: 0];
}
};
struct ResponseInfo {
int64_t identifier;
uint64_t timestamp;
NSURLResponse *response;
NSString *body;
bool shouldStripReponseBody() {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
NSString *contentType = httpResponse.allHeaderFields[@"content-type"];
if (!contentType) {
return NO;
}
return [contentType containsString:@"image/"] ||
[contentType containsString:@"video/"] ||
[contentType containsString:@"application/zip"];
}
void setBody(NSData *data) {
body = shouldStripReponseBody() ? nil : [data base64EncodedStringWithOptions: 0];
}
};
#import "SKRequestInfo.h"
#import "SKResponseInfo.h"
@protocol SKNetworkReporterDelegate
- (void)didObserveRequest:(RequestInfo)request;
- (void)didObserveResponse:(ResponseInfo)response;
- (void)didObserveRequest:(SKRequestInfo *)request;
- (void)didObserveResponse:(SKResponseInfo *)response;
@end

View File

@@ -0,0 +1,20 @@
/*
* 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>
@interface SKRequestInfo: NSObject
@property(assign, readwrite) int64_t identifier;
@property(assign, readwrite) uint64_t timestamp;
@property(strong, nonatomic) NSURLRequest* request;
@property(strong, nonatomic) NSString* body;
- (instancetype)initWithIdentifier:(int64_t)identifier timestamp:(uint64_t)timestamp request:(NSURLRequest*)request data:(NSData *)data;
- (void)setBodyFromData:(NSData * _Nullable)data;
@end

View File

@@ -0,0 +1,34 @@
/*
* 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 "SKRequestInfo.h"
@implementation SKRequestInfo
@synthesize identifier = _identifier;
@synthesize timestamp = _timestamp;
@synthesize request = _request;
@synthesize body = _body;
- (instancetype)initWithIdentifier:(int64_t)identifier timestamp:(uint64_t)timestamp request:(NSURLRequest *)request data:(NSData *)data{
if (self = [super init]){
_identifier = identifier;
_timestamp = timestamp;
_request = request;
_body = data ? [data base64EncodedStringWithOptions: 0]
: [request.HTTPBody base64EncodedStringWithOptions: 0];
}
return self;
}
- (void)setBodyFromData:(NSData * _Nullable)data {
self.body = data ? [data base64EncodedStringWithOptions: 0]
: [self.request.HTTPBody base64EncodedStringWithOptions: 0];
}
@end

View File

@@ -0,0 +1,21 @@
/*
* 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>
@interface SKResponseInfo : NSObject
@property(assign, readwrite) int64_t identifier;
@property(assign, readwrite) uint64_t timestamp;
@property(strong, nonatomic) NSURLResponse* response;
@property(strong, nonatomic) NSString* body;
- (instancetype)initWithIndentifier:(int64_t)identifier timestamp:(uint64_t)timestamp response:(NSURLResponse *)response data:(NSData *)data;
- (void)setBodyFromData:(NSData * _Nullable)data;
@end

View File

@@ -0,0 +1,43 @@
/*
* 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 "SKResponseInfo.h"
@implementation SKResponseInfo
@synthesize identifier = _identifier;
@synthesize timestamp = _timestamp;
@synthesize response = _response;
@synthesize body = _body;
- (instancetype)initWithIndentifier:(int64_t)identifier timestamp:(uint64_t)timestamp response:(NSURLResponse *)response data:(NSData *)data {
if(self = [super init]) {
_identifier = identifier;
_timestamp = timestamp;
_response = response;
_body = [SKResponseInfo shouldStripReponseBodyWithResponse:response] ? nil : [data base64EncodedStringWithOptions: 0];
}
return self;
}
+ (BOOL) shouldStripReponseBodyWithResponse:(NSURLResponse *)response {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
NSString *contentType = httpResponse.allHeaderFields[@"content-type"];
if (!contentType) {
return NO;
}
return [contentType containsString:@"image/"] ||
[contentType containsString:@"video/"] ||
[contentType containsString:@"application/zip"];
}
- (void)setBodyFromData:(NSData *_Nullable)data {
self.body = [SKResponseInfo shouldStripReponseBodyWithResponse:self.response] ? nil : [data base64EncodedStringWithOptions: 0];
}
@end

View File

@@ -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.
*
*/
#if FB_SONARKIT_ENABLED
#pragma once
#import "SonarKitNetworkPlugin.h"
#import "SKDispatchQueue.h"
#import <memory>
@interface SonarKitNetworkPlugin(CPPInitialization)
- (instancetype)initWithNetworkAdapter:(id<SKNetworkAdapterDelegate>)adapter dispatchQueue:(std::shared_ptr<facebook::sonar::DispatchQueue>)queue;
@end
#endif

View File

@@ -12,12 +12,11 @@
#import "SKBufferingPlugin.h"
#import "SKNetworkReporter.h"
#import "SKDispatchQueue.h"
@interface SonarKitNetworkPlugin : SKBufferingPlugin <SKNetworkReporterDelegate>
- (instancetype)initWithNetworkAdapter:(id<SKNetworkAdapterDelegate>)adapter NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithNetworkAdapter:(id<SKNetworkAdapterDelegate>)adapter queue:(const std::shared_ptr<facebook::sonar::DispatchQueue> &)queue; //For test purposes
- (instancetype)initWithNetworkAdapter:(id<SKNetworkAdapterDelegate>)adapter queue:(dispatch_queue_t)queue; //For test purposes
@property (strong, nonatomic) id<SKNetworkAdapterDelegate> adapter;

View File

@@ -6,8 +6,14 @@
*
*/
#if FB_SONARKIT_ENABLED
#import <vector>
#import <iostream>
#import <memory>
#import "SonarKitNetworkPlugin.h"
#import "SKNetworkReporter.h"
#import "SonarKitNetworkPlugin+CPPInitialization.h"
#import "SKBufferingPlugin+CPPInitialization.h"
#import "SKDispatchQueue.h"
@interface SonarKitNetworkPlugin ()
@@ -21,20 +27,20 @@
}
- (instancetype)init {
if (self = [super initWithQueue:std::make_shared<facebook::sonar::GCDQueue>(dispatch_queue_create("com.sonarkit.network.buffer", DISPATCH_QUEUE_SERIAL))]) {
if (self = [super initWithQueue:dispatch_queue_create("com.sonarkit.network.buffer", DISPATCH_QUEUE_SERIAL)]) {
}
return self;
}
- (instancetype)initWithNetworkAdapter:(id<SKNetworkAdapterDelegate>)adapter {
if (self = [super initWithQueue:std::make_shared<facebook::sonar::GCDQueue>(dispatch_queue_create("com.sonarkit.network.buffer", DISPATCH_QUEUE_SERIAL))]) {
if (self = [super initWithQueue:dispatch_queue_create("com.sonarkit.network.buffer", DISPATCH_QUEUE_SERIAL)]) {
adapter.delegate = self;
_adapter = adapter;
}
return self;
}
- (instancetype)initWithNetworkAdapter:(id<SKNetworkAdapterDelegate>)adapter queue:(const std::shared_ptr<facebook::sonar::DispatchQueue> &)queue; {
- (instancetype)initWithNetworkAdapter:(id<SKNetworkAdapterDelegate>)adapter queue:(dispatch_queue_t)queue; {
if (self = [super initWithQueue:queue]) {
adapter.delegate = self;
_adapter = adapter;
@@ -45,7 +51,7 @@
#pragma mark - SKNetworkReporterDelegate
- (void)didObserveRequest:(RequestInfo)request;
- (void)didObserveRequest:(SKRequestInfo *)request;
{
NSMutableArray<NSDictionary<NSString *, id> *> *headers = [NSMutableArray new];
for (NSString *key in [request.request.allHTTPHeaderFields allKeys]) {
@@ -69,7 +75,7 @@
}];
}
- (void)didObserveResponse:(ResponseInfo)response
- (void)didObserveResponse:(SKResponseInfo *)response
{
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response.response;
@@ -98,4 +104,16 @@
@end
@implementation SonarKitNetworkPlugin (CPPInitialization)
- (instancetype)initWithNetworkAdapter:(id<SKNetworkAdapterDelegate>)adapter dispatchQueue:(std::shared_ptr<facebook::sonar::DispatchQueue>)queue {
if (self = [super initWithDispatchQueue:queue]) {
adapter.delegate = self;
_adapter = adapter;
}
return self;
}
@end
#endif

View File

@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
070E4F377782060039511A32 /* libPods-Sample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55478E5C767F9CC35112E1C9 /* libPods-Sample.a */; };
53D59DB320ABA18400207065 /* NetworkViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 53D59DAA20ABA18300207065 /* NetworkViewController.m */; };
53D59DB420ABA18400207065 /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53D59DAB20ABA18300207065 /* AppDelegate.mm */; };
53D59DB520ABA18400207065 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 53D59DAD20ABA18300207065 /* MainViewController.m */; };
@@ -14,12 +15,10 @@
53D59DB720ABA18400207065 /* MainStoryBoard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 53D59DB020ABA18400207065 /* MainStoryBoard.storyboard */; };
53D59DB820ABA18400207065 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 53D59DB120ABA18400207065 /* Icons.xcassets */; };
53E0DE5420ABA0E4005682E1 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 53E0DE5320ABA0E4005682E1 /* main.m */; };
B369CEA3B6F57057FAACAE2F /* libPods-Sample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27922CF99D8E609480377096 /* libPods-Sample.a */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
275FDB8D19C1C8C26A47DA09 /* Pods-Sample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sample.release.xcconfig"; path = "Pods/Target Support Files/Pods-Sample/Pods-Sample.release.xcconfig"; sourceTree = "<group>"; };
27922CF99D8E609480377096 /* libPods-Sample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Sample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
081A9FC23643CD21C7D61AA1 /* Pods-Sample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sample.release.xcconfig"; path = "Pods/Target Support Files/Pods-Sample/Pods-Sample.release.xcconfig"; sourceTree = "<group>"; };
53D59DAA20ABA18300207065 /* NetworkViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NetworkViewController.m; sourceTree = SOURCE_ROOT; };
53D59DAB20ABA18300207065 /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AppDelegate.mm; sourceTree = SOURCE_ROOT; };
53D59DAC20ABA18300207065 /* NetworkViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkViewController.h; sourceTree = SOURCE_ROOT; };
@@ -33,7 +32,8 @@
53E0DE4120ABA0E3005682E1 /* Sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Sample.app; sourceTree = BUILT_PRODUCTS_DIR; };
53E0DE5220ABA0E4005682E1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; };
53E0DE5320ABA0E4005682E1 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
7086E77977EF48ABCAE4DED7 /* Pods-Sample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Sample/Pods-Sample.debug.xcconfig"; sourceTree = "<group>"; };
55478E5C767F9CC35112E1C9 /* libPods-Sample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Sample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
BDF8FF7C018FDB3437209993 /* Pods-Sample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Sample/Pods-Sample.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -41,7 +41,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B369CEA3B6F57057FAACAE2F /* libPods-Sample.a in Frameworks */,
070E4F377782060039511A32 /* libPods-Sample.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -72,8 +72,8 @@
children = (
53D59DB920ABA19900207065 /* Sample */,
53E0DE4220ABA0E3005682E1 /* Products */,
71F5EB9E42BEADDCC04A205D /* Pods */,
E2FCEB633911AF4886EC0881 /* Frameworks */,
56F86505D10A36D42C8D0302 /* Pods */,
C89232DD95E032B5B6FA95A1 /* Frameworks */,
);
sourceTree = "<group>";
};
@@ -85,19 +85,19 @@
name = Products;
sourceTree = "<group>";
};
71F5EB9E42BEADDCC04A205D /* Pods */ = {
56F86505D10A36D42C8D0302 /* Pods */ = {
isa = PBXGroup;
children = (
7086E77977EF48ABCAE4DED7 /* Pods-Sample.debug.xcconfig */,
275FDB8D19C1C8C26A47DA09 /* Pods-Sample.release.xcconfig */,
BDF8FF7C018FDB3437209993 /* Pods-Sample.debug.xcconfig */,
081A9FC23643CD21C7D61AA1 /* Pods-Sample.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
E2FCEB633911AF4886EC0881 /* Frameworks */ = {
C89232DD95E032B5B6FA95A1 /* Frameworks */ = {
isa = PBXGroup;
children = (
27922CF99D8E609480377096 /* libPods-Sample.a */,
55478E5C767F9CC35112E1C9 /* libPods-Sample.a */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -109,7 +109,7 @@
isa = PBXNativeTarget;
buildConfigurationList = 53E0DE5720ABA0E4005682E1 /* Build configuration list for PBXNativeTarget "Sample" */;
buildPhases = (
88DDF414B12B2B557290B67B /* [CP] Check Pods Manifest.lock */,
3C367C9C6EDD0E6199F76FAC /* [CP] Check Pods Manifest.lock */,
53E0DE3D20ABA0E3005682E1 /* Sources */,
53E0DE3E20ABA0E3005682E1 /* Frameworks */,
53E0DE3F20ABA0E3005682E1 /* Resources */,
@@ -168,7 +168,7 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
88DDF414B12B2B557290B67B /* [CP] Check Pods Manifest.lock */ = {
3C367C9C6EDD0E6199F76FAC /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -316,7 +316,7 @@
};
53E0DE5820ABA0E4005682E1 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7086E77977EF48ABCAE4DED7 /* Pods-Sample.debug.xcconfig */;
baseConfigurationReference = BDF8FF7C018FDB3437209993 /* Pods-Sample.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
@@ -385,7 +385,7 @@
};
53E0DE5920ABA0E4005682E1 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 275FDB8D19C1C8C26A47DA09 /* Pods-Sample.release.xcconfig */;
baseConfigurationReference = 081A9FC23643CD21C7D61AA1 /* Pods-Sample.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;

View File

@@ -7,7 +7,7 @@ target 'SampleSwift' do
pod 'SonarKit', '~> 0.6'
# Layout and network plugins are not yet supported for swift projects
# pod 'SonarKit/SonarKitLayoutComponentKitSupport', '~> 0.0.2'
# pod 'SonarKit/SKIOSNetworkPlugin', '~> 0.0.2'
pod 'SonarKit/SKIOSNetworkPlugin', '~> 0.6'
post_install do |installer|
installer.pods_project.targets.each do |target|

View File

@@ -7,7 +7,8 @@
objects = {
/* Begin PBXBuildFile section */
076C8BE348B2F2F251103C6F /* libPods-SampleSwift.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 116D6234DE1F7298C4C2836E /* libPods-SampleSwift.a */; };
532FF2DF211316ED00FC5A10 /* NetworkViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 532FF2DE211316ED00FC5A10 /* NetworkViewController.swift */; };
629899EF3F77DD9CC9462399 /* libPods-SampleSwift.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 54D075F591C612F4A46C4C50 /* libPods-SampleSwift.a */; };
A19C402720E20023004BF1F7 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A19C402620E20023004BF1F7 /* Icons.xcassets */; };
A1EC522D20DED61B007C6977 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1EC522C20DED61B007C6977 /* AppDelegate.swift */; };
A1EC522F20DED61B007C6977 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1EC522E20DED61B007C6977 /* ViewController.swift */; };
@@ -16,8 +17,10 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
116D6234DE1F7298C4C2836E /* libPods-SampleSwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SampleSwift.a"; sourceTree = BUILT_PRODUCTS_DIR; };
37AC1E08B3D4DC8183172E21 /* Pods-SampleSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SampleSwift.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SampleSwift/Pods-SampleSwift.debug.xcconfig"; sourceTree = "<group>"; };
532FF2DE211316ED00FC5A10 /* NetworkViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkViewController.swift; sourceTree = "<group>"; };
54D075F591C612F4A46C4C50 /* libPods-SampleSwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SampleSwift.a"; sourceTree = BUILT_PRODUCTS_DIR; };
59BC319BD0C305C87CCBB954 /* Pods-SampleSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SampleSwift.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SampleSwift/Pods-SampleSwift.debug.xcconfig"; sourceTree = "<group>"; };
76A1EA0FA19A4343BF5468B9 /* Pods-SampleSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SampleSwift.release.xcconfig"; path = "Pods/Target Support Files/Pods-SampleSwift/Pods-SampleSwift.release.xcconfig"; sourceTree = "<group>"; };
A19C402620E20023004BF1F7 /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = SOURCE_ROOT; };
A1EC522920DED61B007C6977 /* SampleSwift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SampleSwift.app; sourceTree = BUILT_PRODUCTS_DIR; };
A1EC522C20DED61B007C6977 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
@@ -25,7 +28,6 @@
A1EC523620DED61C007C6977 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
A1EC523820DED61C007C6977 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
A1EC523E20DEDC00007C6977 /* MainStoryBoard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryBoard.storyboard; sourceTree = "<group>"; };
B4D379232B75ED516DAC4010 /* Pods-SampleSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SampleSwift.release.xcconfig"; path = "Pods/Target Support Files/Pods-SampleSwift/Pods-SampleSwift.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -33,37 +35,20 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
076C8BE348B2F2F251103C6F /* libPods-SampleSwift.a in Frameworks */,
629899EF3F77DD9CC9462399 /* libPods-SampleSwift.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
3AAFD4FB7381DCF64BCC28F8 /* Frameworks */ = {
isa = PBXGroup;
children = (
116D6234DE1F7298C4C2836E /* libPods-SampleSwift.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
86D600B594F09E018D741296 /* Pods */ = {
isa = PBXGroup;
children = (
37AC1E08B3D4DC8183172E21 /* Pods-SampleSwift.debug.xcconfig */,
B4D379232B75ED516DAC4010 /* Pods-SampleSwift.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
A1EC522020DED61B007C6977 = {
isa = PBXGroup;
children = (
A1EC522B20DED61B007C6977 /* SampleSwift */,
A1EC522A20DED61B007C6977 /* Products */,
86D600B594F09E018D741296 /* Pods */,
3AAFD4FB7381DCF64BCC28F8 /* Frameworks */,
D64C1609A23F7F455EB46170 /* Pods */,
FCE001267EA01B99C44EBA11 /* Frameworks */,
);
sourceTree = "<group>";
};
@@ -84,10 +69,28 @@
A1EC522E20DED61B007C6977 /* ViewController.swift */,
A1EC523520DED61C007C6977 /* LaunchScreen.storyboard */,
A1EC523820DED61C007C6977 /* Info.plist */,
532FF2DE211316ED00FC5A10 /* NetworkViewController.swift */,
);
path = SampleSwift;
sourceTree = "<group>";
};
D64C1609A23F7F455EB46170 /* Pods */ = {
isa = PBXGroup;
children = (
59BC319BD0C305C87CCBB954 /* Pods-SampleSwift.debug.xcconfig */,
76A1EA0FA19A4343BF5468B9 /* Pods-SampleSwift.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
FCE001267EA01B99C44EBA11 /* Frameworks */ = {
isa = PBXGroup;
children = (
54D075F591C612F4A46C4C50 /* libPods-SampleSwift.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -95,7 +98,7 @@
isa = PBXNativeTarget;
buildConfigurationList = A1EC523B20DED61C007C6977 /* Build configuration list for PBXNativeTarget "SampleSwift" */;
buildPhases = (
EC305E9596C92E7DA323DDC1 /* [CP] Check Pods Manifest.lock */,
FEB6C3EADB1D3B088347CC11 /* [CP] Check Pods Manifest.lock */,
A1EC522520DED61B007C6977 /* Sources */,
A1EC522620DED61B007C6977 /* Frameworks */,
A1EC522720DED61B007C6977 /* Resources */,
@@ -156,7 +159,7 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
EC305E9596C92E7DA323DDC1 /* [CP] Check Pods Manifest.lock */ = {
FEB6C3EADB1D3B088347CC11 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -182,6 +185,7 @@
buildActionMask = 2147483647;
files = (
A1EC522F20DED61B007C6977 /* ViewController.swift in Sources */,
532FF2DF211316ED00FC5A10 /* NetworkViewController.swift in Sources */,
A1EC522D20DED61B007C6977 /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -316,7 +320,7 @@
};
A1EC523C20DED61C007C6977 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 37AC1E08B3D4DC8183172E21 /* Pods-SampleSwift.debug.xcconfig */;
baseConfigurationReference = 59BC319BD0C305C87CCBB954 /* Pods-SampleSwift.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
@@ -341,8 +345,38 @@
"$(inherited)",
"@executable_path/Frameworks",
);
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-DFB_SONARKIT_ENABLED=1",
);
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-l\"CocoaAsyncSocket\"",
"-l\"DoubleConversion\"",
"-l\"Folly\"",
"-l\"PeerTalk\"",
"-l\"RSocket\"",
"-l\"Sonar\"",
"-l\"SonarKit\"",
"-l\"crypto\"",
"-l\"event\"",
"-l\"event_core\"",
"-l\"event_extra\"",
"-l\"event_pthreads\"",
"-l\"glog\"",
"-l\"ssl\"",
"-l\"stdc++\"",
"-framework",
"\"CFNetwork\"",
"-framework",
"\"Security\"",
"-DFB_SONARKIT_ENABLED=1",
);
OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/SonarKit/SonarKit.modulemap\" -Xcc -DFB_SONARKIT_ENABLED";
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.flipper.SampleSwift;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
@@ -350,7 +384,7 @@
};
A1EC523D20DED61C007C6977 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B4D379232B75ED516DAC4010 /* Pods-SampleSwift.release.xcconfig */;
baseConfigurationReference = 76A1EA0FA19A4343BF5468B9 /* Pods-SampleSwift.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
@@ -375,6 +409,35 @@
"$(inherited)",
"@executable_path/Frameworks",
);
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CFLAGS)",
"-DFB_SONARKIT_ENABLED=1",
);
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-l\"CocoaAsyncSocket\"",
"-l\"DoubleConversion\"",
"-l\"Folly\"",
"-l\"PeerTalk\"",
"-l\"RSocket\"",
"-l\"Sonar\"",
"-l\"SonarKit\"",
"-l\"crypto\"",
"-l\"event\"",
"-l\"event_core\"",
"-l\"event_extra\"",
"-l\"event_pthreads\"",
"-l\"glog\"",
"-l\"ssl\"",
"-l\"stdc++\"",
"-framework",
"\"CFNetwork\"",
"-framework",
"\"Security\"",
"-DFB_SONARKIT_ENABLED=1",
);
OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=\"${PODS_ROOT}/Headers/Public/SonarKit/SonarKit.modulemap\" -Xcc -DFB_SONARKIT_ENABLED";
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.flipper.SampleSwift;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 4.0;

View File

@@ -17,7 +17,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// let layoutDescriptorMapper = SKDescriptorMapper(defaults: ())
// SonarKitLayoutComponentKitSupport.setUp(descriptorMapper: layoutDescriptorMapper)
// client.addPlugin(SonarKitLayoutPlugin(rootNode: application, descriptorMapper: layoutDescriptorMapper))
// client.addPlugin(SonarKitNetworkPlugin(networkAdapter: SKIOSNetworkAdapter()))
client?.add(SonarKitNetworkPlugin(networkAdapter: SKIOSNetworkAdapter()))
client?.start()
let storyboard = UIStoryboard(name: "MainStoryBoard", bundle: nil)

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -31,7 +31,7 @@
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="tappedNetworkInspector:" destination="2r2-64-LPh" eventType="touchUpInside" id="6Ta-mA-Ybz"/>
<segue destination="qMe-JX-czP" kind="push" id="Poz-iX-aCZ"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xh0-Q4-60g">
@@ -44,9 +44,6 @@
<state key="normal" title="ComponentKit Layout">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="tappedComponentKitLayout:" destination="2r2-64-LPh" eventType="touchUpInside" id="amo-e0-rJv"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
@@ -72,7 +69,7 @@
<!--Network View Controller-->
<scene sceneID="Zgm-Mh-TPB">
<objects>
<viewController storyboardIdentifier="NetworkViewController" useStoryboardIdentifierAsRestorationIdentifier="YES" id="qMe-JX-czP" customClass="NetworkViewController" sceneMemberID="viewController">
<viewController storyboardIdentifier="NetworkViewController" useStoryboardIdentifierAsRestorationIdentifier="YES" id="qMe-JX-czP" customClass="NetworkViewController" customModule="SampleSwift" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="1kD-re-kO3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
@@ -93,7 +90,7 @@
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="tappedGetAPI:" destination="qMe-JX-czP" eventType="touchUpInside" id="Xb9-5E-G2l"/>
<action selector="tappedGetAPI:" destination="qMe-JX-czP" eventType="touchUpInside" id="jq4-HI-nDK"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Fel-3h-2Ts">
@@ -107,7 +104,7 @@
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="tappedPOSTAPI:" destination="qMe-JX-czP" eventType="touchUpInside" id="kv5-Bd-q86"/>
<action selector="tappedPOSTAPI:" destination="qMe-JX-czP" eventType="touchUpInside" id="gqv-I8-C9f"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cYg-iA-yAD">
@@ -122,7 +119,7 @@
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="tappedGithubLitho:" destination="qMe-JX-czP" eventType="touchUpInside" id="SPR-ez-foo"/>
<action selector="tappedFetchFBLitho:" destination="qMe-JX-czP" eventType="touchUpInside" id="bLR-k5-ebI"/>
</connections>
</button>
</subviews>
@@ -153,6 +150,7 @@
</constraints>
<viewLayoutGuide key="safeArea" id="dLV-zh-N2b"/>
</view>
<navigationItem key="navigationItem" id="foE-rU-54N"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="jLg-IP-htV" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>

View File

@@ -0,0 +1,88 @@
// Copyright 2004-present Facebook. All Rights Reserved.
import UIKit
class NetworkViewController: UIViewController {
@IBAction func tappedGetAPI(_ sender: UIButton) {
let getURL = URL(string: "https://demo9512366.mockable.io/FlipperGet")!
let dataTask = URLSession.shared.dataTask(with: getURL){ [weak self] (data, response, error) in
guard let strongSelf = self else { return }
guard let dataUnwrapped = data else {
strongSelf.showAlert(message: "Received no data in GET API")
return
}
if let errorUnwrapped = error {
strongSelf.showAlert(message: "Received error in GET API Error:\(errorUnwrapped.localizedDescription)")
return
}
let dict = try! JSONSerialization.jsonObject(with: dataUnwrapped, options: JSONSerialization.ReadingOptions.init(rawValue: 0)) as! [String: String]
// As sonar cannot detect print() in Logs
NSLog("MSG-GET: \(dict["msg"] ?? "Did not find msg key in the received response")")
strongSelf.showAlert(message: "Received response from GET API, please check the sonar network plugin for detailed response")
}
dataTask.resume()
}
@IBAction func tappedPOSTAPI(_ sender: UIButton) {
guard let postURL = URL(string: "https://demo9512366.mockable.io/FlipperPost") else {
showAlert(message: "Check the POST URL")
return
}
var postRequest = URLRequest(url: postURL)
postRequest.addValue("application/json", forHTTPHeaderField: "Content-Type")
postRequest.addValue("application/json", forHTTPHeaderField: "Accept")
let dict = ["app" : "Flipper", "remarks": "Its Awesome"]
postRequest.httpBody = try! JSONSerialization.data(withJSONObject: dict, options: JSONSerialization.WritingOptions.init(rawValue: 0))
postRequest.httpMethod = "POST"
let dataTask = URLSession.shared.dataTask(with: postRequest){ [weak self] (data, response, error) in
guard let strongSelf = self else { return }
guard let dataUnwrapped = data else {
strongSelf.showAlert(message: "Received no data in POST API")
return
}
if let errorUnwrapped = error {
strongSelf.showAlert(message: "Received error in POST API Error:\(errorUnwrapped.localizedDescription)")
return
}
let dict = try! JSONSerialization.jsonObject(with: dataUnwrapped, options: JSONSerialization.ReadingOptions.init(rawValue: 0)) as! [String: String]
// As sonar cannot detect print() in Logs
NSLog("MSG-POST: \(dict["msg"] ?? "Did not find msg key in the received response")")
strongSelf.showAlert(message: "Received response from POST API, please check the sonar network plugin for detailed response")
}
dataTask.resume()
}
@IBAction func tappedFetchFBLitho(_ sender: UIButton) {
let imageURL = URL(string: "https://raw.githubusercontent.com/facebook/litho/master/docs/static/logo.png")!
let dataTask = URLSession.shared.dataTask(with: imageURL){ [weak self] (data, response, error) in
guard let strongSelf = self else { return }
guard let _ = data else {
strongSelf.showAlert(message: "Received no data in Images API")
return
}
if let errorUnwrapped = error {
strongSelf.showAlert(message: "Received error in Images API Error:\(errorUnwrapped.localizedDescription)")
return
}
// As sonar cannot detect print() in Logs
NSLog("Got Image")
strongSelf.showAlert(message: "Received Litho Image")
}
dataTask.resume()
}
func showAlert(message: String) {
let alertController = UIAlertController.init(title: "Flipper", message: message, preferredStyle: .alert);
let alertAction = UIAlertAction(title: "Okay", style: UIAlertActionStyle.default, handler: nil)
alertController.addAction(alertAction)
present(alertController, animated: true, completion: nil)
}
}

View File

@@ -106,13 +106,13 @@ Pod::Spec.new do |spec|
ss.header_dir = "SonarKitNetworkPlugin"
ss.dependency 'SonarKit/Core'
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKDispatchQueue.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h'
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKBufferingPlugin.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKNetworkReporter.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKRequestInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SKResponseInfo.h',
'iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/SonarKitNetworkPlugin.h'
ss.source_files = "iOS/Plugins/SonarKitNetworkPlugin/SonarKitNetworkPlugin/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
spec.subspec "SKIOSNetworkPlugin" do |ss|
@@ -122,7 +122,6 @@ Pod::Spec.new do |spec|
ss.compiler_flags = folly_compiler_flags
ss.public_header_files = 'iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/SKIOSNetworkAdapter.h'
ss.source_files = "iOS/Plugins/SonarKitNetworkPlugin/SKIOSNetworkPlugin/**/*.{h,cpp,m,mm}"
ss.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)\"/Headers/Private/SonarKit/**" }
end
end

View File

@@ -7,6 +7,85 @@
objects = {
/* Begin PBXBuildFile section */
537A850D21123223004A52BB /* SKDispatchQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84B121123223004A52BB /* SKDispatchQueue.h */; };
537A850E21123223004A52BB /* SonarKitNetworkPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84B221123223004A52BB /* SonarKitNetworkPlugin.h */; };
537A850F21123223004A52BB /* SonarKitNetworkPlugin.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84B321123223004A52BB /* SonarKitNetworkPlugin.mm */; };
537A851021123223004A52BB /* SKNetworkReporter.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84B421123223004A52BB /* SKNetworkReporter.h */; };
537A851121123223004A52BB /* SKBufferingPlugin.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84B521123223004A52BB /* SKBufferingPlugin.mm */; };
537A851221123223004A52BB /* SKBufferingPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84B621123223004A52BB /* SKBufferingPlugin.h */; };
537A851321123223004A52BB /* FLEXNetworkObserver.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84B921123223004A52BB /* FLEXNetworkObserver.mm */; };
537A851421123223004A52BB /* FLEXNetworkTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A84BA21123223004A52BB /* FLEXNetworkTransaction.m */; };
537A851521123223004A52BB /* FLEXNetworkObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84BB21123223004A52BB /* FLEXNetworkObserver.h */; };
537A851621123223004A52BB /* FLEXNetworkRecorder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84BC21123223004A52BB /* FLEXNetworkRecorder.mm */; };
537A851721123223004A52BB /* FLEXNetworkTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84BD21123223004A52BB /* FLEXNetworkTransaction.h */; };
537A851821123223004A52BB /* FLEXUtility.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84BE21123223004A52BB /* FLEXUtility.mm */; };
537A851921123223004A52BB /* FLEXUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84BF21123223004A52BB /* FLEXUtility.h */; };
537A851A21123223004A52BB /* FLEXNetworkRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84C021123223004A52BB /* FLEXNetworkRecorder.h */; };
537A851B21123223004A52BB /* SKIOSNetworkAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84C121123223004A52BB /* SKIOSNetworkAdapter.mm */; };
537A851C21123223004A52BB /* SKIOSNetworkAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84C221123223004A52BB /* SKIOSNetworkAdapter.h */; };
537A852421123223004A52BB /* Utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84CD21123223004A52BB /* Utils.h */; };
537A852521123223004A52BB /* CKFlexboxComponent+Sonar.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84CE21123223004A52BB /* CKFlexboxComponent+Sonar.mm */; };
537A852621123223004A52BB /* SKComponentRootViewDescriptor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84CF21123223004A52BB /* SKComponentRootViewDescriptor.mm */; };
537A852721123223004A52BB /* CKComponent+Sonar.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84D021123223004A52BB /* CKComponent+Sonar.mm */; };
537A852821123223004A52BB /* Utils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84D121123223004A52BB /* Utils.mm */; };
537A852921123223004A52BB /* CKInsetComponent+Sonar.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84D221123223004A52BB /* CKInsetComponent+Sonar.mm */; };
537A852A21123223004A52BB /* SKComponentLayoutWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84D321123223004A52BB /* SKComponentLayoutWrapper.h */; };
537A852B21123223004A52BB /* CKComponent+Sonar.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84D421123223004A52BB /* CKComponent+Sonar.h */; };
537A852C21123223004A52BB /* CKInsetComponent+Sonar.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84D521123223004A52BB /* CKInsetComponent+Sonar.h */; };
537A852D21123223004A52BB /* SKComponentLayoutWrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84D621123223004A52BB /* SKComponentLayoutWrapper.mm */; };
537A852E21123223004A52BB /* CKFlexboxComponent+Sonar.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84D721123223004A52BB /* CKFlexboxComponent+Sonar.h */; };
537A852F21123223004A52BB /* SKComponentHostingViewDescriptor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84D821123223004A52BB /* SKComponentHostingViewDescriptor.mm */; };
537A853021123223004A52BB /* SKComponentLayoutDescriptor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84D921123223004A52BB /* SKComponentLayoutDescriptor.mm */; };
537A853121123223004A52BB /* SKComponentLayoutDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84DA21123223004A52BB /* SKComponentLayoutDescriptor.h */; };
537A853221123223004A52BB /* SonarKitLayoutComponentKitSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84DB21123223004A52BB /* SonarKitLayoutComponentKitSupport.h */; };
537A853321123223004A52BB /* SKComponentHostingViewDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84DC21123223004A52BB /* SKComponentHostingViewDescriptor.h */; };
537A853421123223004A52BB /* SonarKitLayoutComponentKitSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84DD21123223004A52BB /* SonarKitLayoutComponentKitSupport.mm */; };
537A853521123223004A52BB /* SKComponentRootViewDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84DE21123223004A52BB /* SKComponentRootViewDescriptor.h */; };
537A853621123223004A52BB /* SKNodeDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84E021123223004A52BB /* SKNodeDescriptor.h */; };
537A853721123223004A52BB /* SKSearchResultNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84E121123223004A52BB /* SKSearchResultNode.h */; };
537A853821123223004A52BB /* UIColor+SKSonarValueCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84E221123223004A52BB /* UIColor+SKSonarValueCoder.h */; };
537A853921123223004A52BB /* SKNamed.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84E321123223004A52BB /* SKNamed.mm */; };
537A853A21123223004A52BB /* SKTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A84E421123223004A52BB /* SKTouch.m */; };
537A853B21123223004A52BB /* SKTapListenerImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A84E521123223004A52BB /* SKTapListenerImpl.m */; };
537A853C21123223004A52BB /* UIView+SKInvalidation.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84E621123223004A52BB /* UIView+SKInvalidation.h */; };
537A853D21123223004A52BB /* SKHighlightOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84E721123223004A52BB /* SKHighlightOverlay.h */; };
537A853E21123223004A52BB /* UICollectionView+SKInvalidation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84E821123223004A52BB /* UICollectionView+SKInvalidation.mm */; };
537A853F21123223004A52BB /* SonarKitLayoutPlugin.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84E921123223004A52BB /* SonarKitLayoutPlugin.mm */; };
537A854021123223004A52BB /* SKInvalidation.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84EA21123223004A52BB /* SKInvalidation.h */; };
537A854121123223004A52BB /* SKHiddenWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84EC21123223004A52BB /* SKHiddenWindow.h */; };
537A854221123223004A52BB /* SKSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84ED21123223004A52BB /* SKSwizzle.h */; };
537A854321123223004A52BB /* SKYogaKitHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84EE21123223004A52BB /* SKYogaKitHelper.h */; };
537A854421123223004A52BB /* SKSwizzle.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84EF21123223004A52BB /* SKSwizzle.mm */; };
537A854521123223004A52BB /* SKHiddenWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A84F021123223004A52BB /* SKHiddenWindow.m */; };
537A854621123223004A52BB /* SKObjectHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84F121123223004A52BB /* SKObjectHash.h */; };
537A854721123223004A52BB /* SKNamed.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84F221123223004A52BB /* SKNamed.h */; };
537A854821123223004A52BB /* UIView+SKInvalidation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84F321123223004A52BB /* UIView+SKInvalidation.mm */; };
537A854921123223004A52BB /* SKSearchResultNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A84F421123223004A52BB /* SKSearchResultNode.m */; };
537A854A21123223004A52BB /* SKObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84F521123223004A52BB /* SKObject.mm */; };
537A854B21123223004A52BB /* SKDescriptorMapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84F621123223004A52BB /* SKDescriptorMapper.mm */; };
537A854C21123223004A52BB /* SonarKitLayoutPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84F721123223004A52BB /* SonarKitLayoutPlugin.h */; };
537A854D21123223004A52BB /* SKViewControllerDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84F921123223004A52BB /* SKViewControllerDescriptor.h */; };
537A854E21123223004A52BB /* SKScrollViewDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A84FA21123223004A52BB /* SKScrollViewDescriptor.m */; };
537A854F21123223004A52BB /* SKButtonDescriptor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A84FB21123223004A52BB /* SKButtonDescriptor.mm */; };
537A855021123223004A52BB /* SKApplicationDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A84FC21123223004A52BB /* SKApplicationDescriptor.m */; };
537A855121123223004A52BB /* SKButtonDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84FD21123223004A52BB /* SKButtonDescriptor.h */; };
537A855221123223004A52BB /* SKScrollViewDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A84FE21123223004A52BB /* SKScrollViewDescriptor.h */; };
537A855321123223004A52BB /* SKViewControllerDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A84FF21123223004A52BB /* SKViewControllerDescriptor.m */; };
537A855421123223004A52BB /* SKViewDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A850021123223004A52BB /* SKViewDescriptor.h */; };
537A855521123223004A52BB /* SKViewDescriptor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A850121123223004A52BB /* SKViewDescriptor.mm */; };
537A855621123223004A52BB /* SKApplicationDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A850221123223004A52BB /* SKApplicationDescriptor.h */; };
537A855721123223004A52BB /* SKTapListenerImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A850321123223004A52BB /* SKTapListenerImpl.h */; };
537A855821123223004A52BB /* UIColor+SKSonarValueCoder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A850421123223004A52BB /* UIColor+SKSonarValueCoder.mm */; };
537A855921123223004A52BB /* SKTouch.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A850521123223004A52BB /* SKTouch.h */; };
537A855A21123223004A52BB /* SKNodeDescriptor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 537A850621123223004A52BB /* SKNodeDescriptor.mm */; };
537A855B21123223004A52BB /* SKHighlightOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A850721123223004A52BB /* SKHighlightOverlay.m */; };
537A855C21123223004A52BB /* SKObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A850821123223004A52BB /* SKObject.h */; };
537A855D21123223004A52BB /* UICollectionView+SKInvalidation.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A850921123223004A52BB /* UICollectionView+SKInvalidation.h */; };
537A855E21123223004A52BB /* SKDescriptorMapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A850A21123223004A52BB /* SKDescriptorMapper.h */; };
537A855F21123223004A52BB /* SKInvalidation.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A850B21123223004A52BB /* SKInvalidation.m */; };
537A856021123223004A52BB /* SKTapListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A850C21123223004A52BB /* SKTapListener.h */; };
537A856921123BDB004A52BB /* SKRequestInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 537A856721123BDB004A52BB /* SKRequestInfo.h */; };
537A856A21123BDB004A52BB /* SKRequestInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 537A856821123BDB004A52BB /* SKRequestInfo.m */; };
53D19A2620A4BABA00A371E3 /* SonarClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53D19A1220A4BAB900A371E3 /* SonarClient.mm */; };
53D19A2820A4BABA00A371E3 /* SonarUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 53D19A1420A4BAB900A371E3 /* SonarUtil.m */; };
53D19A2F20A4BABA00A371E3 /* SKPortForwardingServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 53D19A1D20A4BABA00A371E3 /* SKPortForwardingServer.m */; };
@@ -25,11 +104,92 @@
53D4C50F20A5B72800613A96 /* SKPortForwardingServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 53D19A1B20A4BABA00A371E3 /* SKPortForwardingServer.h */; };
53D4C51020A5B72800613A96 /* SKPortForwardingCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 53D19A1C20A4BABA00A371E3 /* SKPortForwardingCommon.h */; };
53D4C51220A5B89900613A96 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53D4C51120A5B89900613A96 /* Foundation.framework */; };
53EF578A211240540072E1EA /* SKResponseInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EF5788211240540072E1EA /* SKResponseInfo.h */; };
53EF578B211240540072E1EA /* SKResponseInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 53EF5789211240540072E1EA /* SKResponseInfo.m */; };
6AE55F0A77A5644AADF2CEA6 /* libPods-SonarKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 104CB87D17FDFDC934630C14 /* libPods-SonarKit.a */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
104CB87D17FDFDC934630C14 /* libPods-SonarKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SonarKit.a"; sourceTree = BUILT_PRODUCTS_DIR; };
537A84B121123223004A52BB /* SKDispatchQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKDispatchQueue.h; sourceTree = "<group>"; };
537A84B221123223004A52BB /* SonarKitNetworkPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SonarKitNetworkPlugin.h; sourceTree = "<group>"; };
537A84B321123223004A52BB /* SonarKitNetworkPlugin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SonarKitNetworkPlugin.mm; sourceTree = "<group>"; };
537A84B421123223004A52BB /* SKNetworkReporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKNetworkReporter.h; sourceTree = "<group>"; };
537A84B521123223004A52BB /* SKBufferingPlugin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKBufferingPlugin.mm; sourceTree = "<group>"; };
537A84B621123223004A52BB /* SKBufferingPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKBufferingPlugin.h; sourceTree = "<group>"; };
537A84B921123223004A52BB /* FLEXNetworkObserver.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FLEXNetworkObserver.mm; sourceTree = "<group>"; };
537A84BA21123223004A52BB /* FLEXNetworkTransaction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLEXNetworkTransaction.m; sourceTree = "<group>"; };
537A84BB21123223004A52BB /* FLEXNetworkObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXNetworkObserver.h; sourceTree = "<group>"; };
537A84BC21123223004A52BB /* FLEXNetworkRecorder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FLEXNetworkRecorder.mm; sourceTree = "<group>"; };
537A84BD21123223004A52BB /* FLEXNetworkTransaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXNetworkTransaction.h; sourceTree = "<group>"; };
537A84BE21123223004A52BB /* FLEXUtility.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FLEXUtility.mm; sourceTree = "<group>"; };
537A84BF21123223004A52BB /* FLEXUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXUtility.h; sourceTree = "<group>"; };
537A84C021123223004A52BB /* FLEXNetworkRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLEXNetworkRecorder.h; sourceTree = "<group>"; };
537A84C121123223004A52BB /* SKIOSNetworkAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKIOSNetworkAdapter.mm; sourceTree = "<group>"; };
537A84C221123223004A52BB /* SKIOSNetworkAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKIOSNetworkAdapter.h; sourceTree = "<group>"; };
537A84CD21123223004A52BB /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utils.h; sourceTree = "<group>"; };
537A84CE21123223004A52BB /* CKFlexboxComponent+Sonar.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "CKFlexboxComponent+Sonar.mm"; sourceTree = "<group>"; };
537A84CF21123223004A52BB /* SKComponentRootViewDescriptor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKComponentRootViewDescriptor.mm; sourceTree = "<group>"; };
537A84D021123223004A52BB /* CKComponent+Sonar.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "CKComponent+Sonar.mm"; sourceTree = "<group>"; };
537A84D121123223004A52BB /* Utils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Utils.mm; sourceTree = "<group>"; };
537A84D221123223004A52BB /* CKInsetComponent+Sonar.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "CKInsetComponent+Sonar.mm"; sourceTree = "<group>"; };
537A84D321123223004A52BB /* SKComponentLayoutWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKComponentLayoutWrapper.h; sourceTree = "<group>"; };
537A84D421123223004A52BB /* CKComponent+Sonar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CKComponent+Sonar.h"; sourceTree = "<group>"; };
537A84D521123223004A52BB /* CKInsetComponent+Sonar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CKInsetComponent+Sonar.h"; sourceTree = "<group>"; };
537A84D621123223004A52BB /* SKComponentLayoutWrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKComponentLayoutWrapper.mm; sourceTree = "<group>"; };
537A84D721123223004A52BB /* CKFlexboxComponent+Sonar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CKFlexboxComponent+Sonar.h"; sourceTree = "<group>"; };
537A84D821123223004A52BB /* SKComponentHostingViewDescriptor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKComponentHostingViewDescriptor.mm; sourceTree = "<group>"; };
537A84D921123223004A52BB /* SKComponentLayoutDescriptor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKComponentLayoutDescriptor.mm; sourceTree = "<group>"; };
537A84DA21123223004A52BB /* SKComponentLayoutDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKComponentLayoutDescriptor.h; sourceTree = "<group>"; };
537A84DB21123223004A52BB /* SonarKitLayoutComponentKitSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SonarKitLayoutComponentKitSupport.h; sourceTree = "<group>"; };
537A84DC21123223004A52BB /* SKComponentHostingViewDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKComponentHostingViewDescriptor.h; sourceTree = "<group>"; };
537A84DD21123223004A52BB /* SonarKitLayoutComponentKitSupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SonarKitLayoutComponentKitSupport.mm; sourceTree = "<group>"; };
537A84DE21123223004A52BB /* SKComponentRootViewDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKComponentRootViewDescriptor.h; sourceTree = "<group>"; };
537A84E021123223004A52BB /* SKNodeDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKNodeDescriptor.h; sourceTree = "<group>"; };
537A84E121123223004A52BB /* SKSearchResultNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKSearchResultNode.h; sourceTree = "<group>"; };
537A84E221123223004A52BB /* UIColor+SKSonarValueCoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+SKSonarValueCoder.h"; sourceTree = "<group>"; };
537A84E321123223004A52BB /* SKNamed.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKNamed.mm; sourceTree = "<group>"; };
537A84E421123223004A52BB /* SKTouch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTouch.m; sourceTree = "<group>"; };
537A84E521123223004A52BB /* SKTapListenerImpl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTapListenerImpl.m; sourceTree = "<group>"; };
537A84E621123223004A52BB /* UIView+SKInvalidation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+SKInvalidation.h"; sourceTree = "<group>"; };
537A84E721123223004A52BB /* SKHighlightOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKHighlightOverlay.h; sourceTree = "<group>"; };
537A84E821123223004A52BB /* UICollectionView+SKInvalidation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "UICollectionView+SKInvalidation.mm"; sourceTree = "<group>"; };
537A84E921123223004A52BB /* SonarKitLayoutPlugin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SonarKitLayoutPlugin.mm; sourceTree = "<group>"; };
537A84EA21123223004A52BB /* SKInvalidation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKInvalidation.h; sourceTree = "<group>"; };
537A84EC21123223004A52BB /* SKHiddenWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKHiddenWindow.h; sourceTree = "<group>"; };
537A84ED21123223004A52BB /* SKSwizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKSwizzle.h; sourceTree = "<group>"; };
537A84EE21123223004A52BB /* SKYogaKitHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKYogaKitHelper.h; sourceTree = "<group>"; };
537A84EF21123223004A52BB /* SKSwizzle.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKSwizzle.mm; sourceTree = "<group>"; };
537A84F021123223004A52BB /* SKHiddenWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKHiddenWindow.m; sourceTree = "<group>"; };
537A84F121123223004A52BB /* SKObjectHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKObjectHash.h; sourceTree = "<group>"; };
537A84F221123223004A52BB /* SKNamed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKNamed.h; sourceTree = "<group>"; };
537A84F321123223004A52BB /* UIView+SKInvalidation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "UIView+SKInvalidation.mm"; sourceTree = "<group>"; };
537A84F421123223004A52BB /* SKSearchResultNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKSearchResultNode.m; sourceTree = "<group>"; };
537A84F521123223004A52BB /* SKObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKObject.mm; sourceTree = "<group>"; };
537A84F621123223004A52BB /* SKDescriptorMapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKDescriptorMapper.mm; sourceTree = "<group>"; };
537A84F721123223004A52BB /* SonarKitLayoutPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SonarKitLayoutPlugin.h; sourceTree = "<group>"; };
537A84F921123223004A52BB /* SKViewControllerDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKViewControllerDescriptor.h; sourceTree = "<group>"; };
537A84FA21123223004A52BB /* SKScrollViewDescriptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKScrollViewDescriptor.m; sourceTree = "<group>"; };
537A84FB21123223004A52BB /* SKButtonDescriptor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKButtonDescriptor.mm; sourceTree = "<group>"; };
537A84FC21123223004A52BB /* SKApplicationDescriptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKApplicationDescriptor.m; sourceTree = "<group>"; };
537A84FD21123223004A52BB /* SKButtonDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKButtonDescriptor.h; sourceTree = "<group>"; };
537A84FE21123223004A52BB /* SKScrollViewDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKScrollViewDescriptor.h; sourceTree = "<group>"; };
537A84FF21123223004A52BB /* SKViewControllerDescriptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKViewControllerDescriptor.m; sourceTree = "<group>"; };
537A850021123223004A52BB /* SKViewDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKViewDescriptor.h; sourceTree = "<group>"; };
537A850121123223004A52BB /* SKViewDescriptor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKViewDescriptor.mm; sourceTree = "<group>"; };
537A850221123223004A52BB /* SKApplicationDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKApplicationDescriptor.h; sourceTree = "<group>"; };
537A850321123223004A52BB /* SKTapListenerImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTapListenerImpl.h; sourceTree = "<group>"; };
537A850421123223004A52BB /* UIColor+SKSonarValueCoder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "UIColor+SKSonarValueCoder.mm"; sourceTree = "<group>"; };
537A850521123223004A52BB /* SKTouch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTouch.h; sourceTree = "<group>"; };
537A850621123223004A52BB /* SKNodeDescriptor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SKNodeDescriptor.mm; sourceTree = "<group>"; };
537A850721123223004A52BB /* SKHighlightOverlay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKHighlightOverlay.m; sourceTree = "<group>"; };
537A850821123223004A52BB /* SKObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKObject.h; sourceTree = "<group>"; };
537A850921123223004A52BB /* UICollectionView+SKInvalidation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UICollectionView+SKInvalidation.h"; sourceTree = "<group>"; };
537A850A21123223004A52BB /* SKDescriptorMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKDescriptorMapper.h; sourceTree = "<group>"; };
537A850B21123223004A52BB /* SKInvalidation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKInvalidation.m; sourceTree = "<group>"; };
537A850C21123223004A52BB /* SKTapListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTapListener.h; sourceTree = "<group>"; };
537A856721123BDB004A52BB /* SKRequestInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SKRequestInfo.h; sourceTree = "<group>"; };
537A856821123BDB004A52BB /* SKRequestInfo.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SKRequestInfo.m; sourceTree = "<group>"; };
53D19A0520A4BA3600A371E3 /* SonarKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SonarKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
53D19A0920A4BA3600A371E3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
53D19A1020A4BAB900A371E3 /* SKMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKMacros.h; sourceTree = "<group>"; };
@@ -50,6 +210,8 @@
53D3BBD620C629230022EB45 /* FBCxxFollyDynamicConvert.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FBCxxFollyDynamicConvert.mm; sourceTree = "<group>"; };
53D3BBD720C629230022EB45 /* FBCxxFollyDynamicConvert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBCxxFollyDynamicConvert.h; sourceTree = "<group>"; };
53D4C51120A5B89900613A96 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
53EF5788211240540072E1EA /* SKResponseInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SKResponseInfo.h; sourceTree = "<group>"; };
53EF5789211240540072E1EA /* SKResponseInfo.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SKResponseInfo.m; sourceTree = "<group>"; };
5B3C0104984F1A2F624E5394 /* Pods-SonarKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SonarKit.release.xcconfig"; path = "Pods/Target Support Files/Pods-SonarKit/Pods-SonarKit.release.xcconfig"; sourceTree = "<group>"; };
C6253FA5661121EDD200B8A9 /* Pods-SonarKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SonarKit.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SonarKit/Pods-SonarKit.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
@@ -76,6 +238,166 @@
name = Pods;
sourceTree = "<group>";
};
537A84AE21123223004A52BB /* Plugins */ = {
isa = PBXGroup;
children = (
537A84AF21123223004A52BB /* SonarKitNetworkPlugin */,
537A84C321123223004A52BB /* SonarKitLayoutPlugin */,
);
path = Plugins;
sourceTree = SOURCE_ROOT;
};
537A84AF21123223004A52BB /* SonarKitNetworkPlugin */ = {
isa = PBXGroup;
children = (
537A84B021123223004A52BB /* SonarKitNetworkPlugin */,
537A84B721123223004A52BB /* SKIOSNetworkPlugin */,
);
path = SonarKitNetworkPlugin;
sourceTree = "<group>";
};
537A84B021123223004A52BB /* SonarKitNetworkPlugin */ = {
isa = PBXGroup;
children = (
537A84B121123223004A52BB /* SKDispatchQueue.h */,
537A84B221123223004A52BB /* SonarKitNetworkPlugin.h */,
537A84B321123223004A52BB /* SonarKitNetworkPlugin.mm */,
537A84B421123223004A52BB /* SKNetworkReporter.h */,
537A84B521123223004A52BB /* SKBufferingPlugin.mm */,
537A84B621123223004A52BB /* SKBufferingPlugin.h */,
537A856721123BDB004A52BB /* SKRequestInfo.h */,
537A856821123BDB004A52BB /* SKRequestInfo.m */,
53EF5788211240540072E1EA /* SKResponseInfo.h */,
53EF5789211240540072E1EA /* SKResponseInfo.m */,
);
path = SonarKitNetworkPlugin;
sourceTree = "<group>";
};
537A84B721123223004A52BB /* SKIOSNetworkPlugin */ = {
isa = PBXGroup;
children = (
537A84B821123223004A52BB /* FLEXNetworkLib */,
537A84C121123223004A52BB /* SKIOSNetworkAdapter.mm */,
537A84C221123223004A52BB /* SKIOSNetworkAdapter.h */,
);
path = SKIOSNetworkPlugin;
sourceTree = "<group>";
};
537A84B821123223004A52BB /* FLEXNetworkLib */ = {
isa = PBXGroup;
children = (
537A84B921123223004A52BB /* FLEXNetworkObserver.mm */,
537A84BA21123223004A52BB /* FLEXNetworkTransaction.m */,
537A84BB21123223004A52BB /* FLEXNetworkObserver.h */,
537A84BC21123223004A52BB /* FLEXNetworkRecorder.mm */,
537A84BD21123223004A52BB /* FLEXNetworkTransaction.h */,
537A84BE21123223004A52BB /* FLEXUtility.mm */,
537A84BF21123223004A52BB /* FLEXUtility.h */,
537A84C021123223004A52BB /* FLEXNetworkRecorder.h */,
);
path = FLEXNetworkLib;
sourceTree = "<group>";
};
537A84C321123223004A52BB /* SonarKitLayoutPlugin */ = {
isa = PBXGroup;
children = (
537A84CC21123223004A52BB /* SonarKitLayoutComponentKitSupport */,
537A84DF21123223004A52BB /* SonarKitLayoutPlugin */,
);
path = SonarKitLayoutPlugin;
sourceTree = "<group>";
};
537A84CC21123223004A52BB /* SonarKitLayoutComponentKitSupport */ = {
isa = PBXGroup;
children = (
537A84CD21123223004A52BB /* Utils.h */,
537A84CE21123223004A52BB /* CKFlexboxComponent+Sonar.mm */,
537A84CF21123223004A52BB /* SKComponentRootViewDescriptor.mm */,
537A84D021123223004A52BB /* CKComponent+Sonar.mm */,
537A84D121123223004A52BB /* Utils.mm */,
537A84D221123223004A52BB /* CKInsetComponent+Sonar.mm */,
537A84D321123223004A52BB /* SKComponentLayoutWrapper.h */,
537A84D421123223004A52BB /* CKComponent+Sonar.h */,
537A84D521123223004A52BB /* CKInsetComponent+Sonar.h */,
537A84D621123223004A52BB /* SKComponentLayoutWrapper.mm */,
537A84D721123223004A52BB /* CKFlexboxComponent+Sonar.h */,
537A84D821123223004A52BB /* SKComponentHostingViewDescriptor.mm */,
537A84D921123223004A52BB /* SKComponentLayoutDescriptor.mm */,
537A84DA21123223004A52BB /* SKComponentLayoutDescriptor.h */,
537A84DB21123223004A52BB /* SonarKitLayoutComponentKitSupport.h */,
537A84DC21123223004A52BB /* SKComponentHostingViewDescriptor.h */,
537A84DD21123223004A52BB /* SonarKitLayoutComponentKitSupport.mm */,
537A84DE21123223004A52BB /* SKComponentRootViewDescriptor.h */,
);
path = SonarKitLayoutComponentKitSupport;
sourceTree = "<group>";
};
537A84DF21123223004A52BB /* SonarKitLayoutPlugin */ = {
isa = PBXGroup;
children = (
537A84E021123223004A52BB /* SKNodeDescriptor.h */,
537A84E121123223004A52BB /* SKSearchResultNode.h */,
537A84E221123223004A52BB /* UIColor+SKSonarValueCoder.h */,
537A84E321123223004A52BB /* SKNamed.mm */,
537A84E421123223004A52BB /* SKTouch.m */,
537A84E521123223004A52BB /* SKTapListenerImpl.m */,
537A84E621123223004A52BB /* UIView+SKInvalidation.h */,
537A84E721123223004A52BB /* SKHighlightOverlay.h */,
537A84E821123223004A52BB /* UICollectionView+SKInvalidation.mm */,
537A84E921123223004A52BB /* SonarKitLayoutPlugin.mm */,
537A84EA21123223004A52BB /* SKInvalidation.h */,
537A84EB21123223004A52BB /* utils */,
537A84F221123223004A52BB /* SKNamed.h */,
537A84F321123223004A52BB /* UIView+SKInvalidation.mm */,
537A84F421123223004A52BB /* SKSearchResultNode.m */,
537A84F521123223004A52BB /* SKObject.mm */,
537A84F621123223004A52BB /* SKDescriptorMapper.mm */,
537A84F721123223004A52BB /* SonarKitLayoutPlugin.h */,
537A84F821123223004A52BB /* descriptors */,
537A850321123223004A52BB /* SKTapListenerImpl.h */,
537A850421123223004A52BB /* UIColor+SKSonarValueCoder.mm */,
537A850521123223004A52BB /* SKTouch.h */,
537A850621123223004A52BB /* SKNodeDescriptor.mm */,
537A850721123223004A52BB /* SKHighlightOverlay.m */,
537A850821123223004A52BB /* SKObject.h */,
537A850921123223004A52BB /* UICollectionView+SKInvalidation.h */,
537A850A21123223004A52BB /* SKDescriptorMapper.h */,
537A850B21123223004A52BB /* SKInvalidation.m */,
537A850C21123223004A52BB /* SKTapListener.h */,
);
path = SonarKitLayoutPlugin;
sourceTree = "<group>";
};
537A84EB21123223004A52BB /* utils */ = {
isa = PBXGroup;
children = (
537A84EC21123223004A52BB /* SKHiddenWindow.h */,
537A84ED21123223004A52BB /* SKSwizzle.h */,
537A84EE21123223004A52BB /* SKYogaKitHelper.h */,
537A84EF21123223004A52BB /* SKSwizzle.mm */,
537A84F021123223004A52BB /* SKHiddenWindow.m */,
537A84F121123223004A52BB /* SKObjectHash.h */,
);
path = utils;
sourceTree = "<group>";
};
537A84F821123223004A52BB /* descriptors */ = {
isa = PBXGroup;
children = (
537A84F921123223004A52BB /* SKViewControllerDescriptor.h */,
537A84FA21123223004A52BB /* SKScrollViewDescriptor.m */,
537A84FB21123223004A52BB /* SKButtonDescriptor.mm */,
537A84FC21123223004A52BB /* SKApplicationDescriptor.m */,
537A84FD21123223004A52BB /* SKButtonDescriptor.h */,
537A84FE21123223004A52BB /* SKScrollViewDescriptor.h */,
537A84FF21123223004A52BB /* SKViewControllerDescriptor.m */,
537A850021123223004A52BB /* SKViewDescriptor.h */,
537A850121123223004A52BB /* SKViewDescriptor.mm */,
537A850221123223004A52BB /* SKApplicationDescriptor.h */,
);
path = descriptors;
sourceTree = "<group>";
};
53D199FB20A4BA3600A371E3 = {
isa = PBXGroup;
children = (
@@ -97,6 +419,7 @@
53D19A0720A4BA3600A371E3 /* SonarKit */ = {
isa = PBXGroup;
children = (
537A84AE21123223004A52BB /* Plugins */,
53D3BBD520C629230022EB45 /* FBCxxUtils */,
53D19A1E20A4BABA00A371E3 /* CppBridge */,
53D19A1020A4BAB900A371E3 /* SKMacros.h */,
@@ -167,16 +490,59 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
537A856021123223004A52BB /* SKTapListener.h in Headers */,
537A855E21123223004A52BB /* SKDescriptorMapper.h in Headers */,
53D4C50B20A5B72800613A96 /* SonarConnection.h in Headers */,
537A853C21123223004A52BB /* UIView+SKInvalidation.h in Headers */,
537A851221123223004A52BB /* SKBufferingPlugin.h in Headers */,
537A855221123223004A52BB /* SKScrollViewDescriptor.h in Headers */,
537A851721123223004A52BB /* FLEXNetworkTransaction.h in Headers */,
537A852E21123223004A52BB /* CKFlexboxComponent+Sonar.h in Headers */,
537A853521123223004A52BB /* SKComponentRootViewDescriptor.h in Headers */,
537A855D21123223004A52BB /* UICollectionView+SKInvalidation.h in Headers */,
537A853721123223004A52BB /* SKSearchResultNode.h in Headers */,
537A854221123223004A52BB /* SKSwizzle.h in Headers */,
537A853321123223004A52BB /* SKComponentHostingViewDescriptor.h in Headers */,
537A853221123223004A52BB /* SonarKitLayoutComponentKitSupport.h in Headers */,
53D4C50D20A5B72800613A96 /* SonarResponder.h in Headers */,
537A853D21123223004A52BB /* SKHighlightOverlay.h in Headers */,
537A854C21123223004A52BB /* SonarKitLayoutPlugin.h in Headers */,
537A850E21123223004A52BB /* SonarKitNetworkPlugin.h in Headers */,
53D4C50620A5B72800613A96 /* SonarCppWrapperPlugin.h in Headers */,
537A853621123223004A52BB /* SKNodeDescriptor.h in Headers */,
537A854621123223004A52BB /* SKObjectHash.h in Headers */,
537A855921123223004A52BB /* SKTouch.h in Headers */,
537A854021123223004A52BB /* SKInvalidation.h in Headers */,
537A852421123223004A52BB /* Utils.h in Headers */,
537A855621123223004A52BB /* SKApplicationDescriptor.h in Headers */,
53D4C50720A5B72800613A96 /* SonarCppBridgingConnection.h in Headers */,
537A852C21123223004A52BB /* CKInsetComponent+Sonar.h in Headers */,
537A856921123BDB004A52BB /* SKRequestInfo.h in Headers */,
537A855721123223004A52BB /* SKTapListenerImpl.h in Headers */,
537A851C21123223004A52BB /* SKIOSNetworkAdapter.h in Headers */,
537A855121123223004A52BB /* SKButtonDescriptor.h in Headers */,
53D4C50820A5B72800613A96 /* SonarCppBridgingResponder.h in Headers */,
537A854721123223004A52BB /* SKNamed.h in Headers */,
53D4C50920A5B72800613A96 /* SKMacros.h in Headers */,
537A854D21123223004A52BB /* SKViewControllerDescriptor.h in Headers */,
53D4C50A20A5B72800613A96 /* SonarClient.h in Headers */,
53EF578A211240540072E1EA /* SKResponseInfo.h in Headers */,
537A854321123223004A52BB /* SKYogaKitHelper.h in Headers */,
537A854121123223004A52BB /* SKHiddenWindow.h in Headers */,
537A855421123223004A52BB /* SKViewDescriptor.h in Headers */,
537A853821123223004A52BB /* UIColor+SKSonarValueCoder.h in Headers */,
537A855C21123223004A52BB /* SKObject.h in Headers */,
53D3BBD920C629230022EB45 /* FBCxxFollyDynamicConvert.h in Headers */,
53D4C50C20A5B72800613A96 /* SonarPlugin.h in Headers */,
537A853121123223004A52BB /* SKComponentLayoutDescriptor.h in Headers */,
537A851921123223004A52BB /* FLEXUtility.h in Headers */,
537A851A21123223004A52BB /* FLEXNetworkRecorder.h in Headers */,
53D4C50F20A5B72800613A96 /* SKPortForwardingServer.h in Headers */,
537A851521123223004A52BB /* FLEXNetworkObserver.h in Headers */,
537A852A21123223004A52BB /* SKComponentLayoutWrapper.h in Headers */,
537A850D21123223004A52BB /* SKDispatchQueue.h in Headers */,
537A851021123223004A52BB /* SKNetworkReporter.h in Headers */,
537A852B21123223004A52BB /* CKComponent+Sonar.h in Headers */,
53D4C51020A5B72800613A96 /* SKPortForwardingCommon.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -214,6 +580,7 @@
TargetAttributes = {
53D19A0420A4BA3600A371E3 = {
CreatedOnToolsVersion = 9.2;
LastSwiftMigration = 0920;
ProvisioningStyle = Automatic;
};
};
@@ -271,11 +638,49 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
537A854521123223004A52BB /* SKHiddenWindow.m in Sources */,
537A853E21123223004A52BB /* UICollectionView+SKInvalidation.mm in Sources */,
537A854921123223004A52BB /* SKSearchResultNode.m in Sources */,
537A854821123223004A52BB /* UIView+SKInvalidation.mm in Sources */,
537A851421123223004A52BB /* FLEXNetworkTransaction.m in Sources */,
537A853021123223004A52BB /* SKComponentLayoutDescriptor.mm in Sources */,
537A855321123223004A52BB /* SKViewControllerDescriptor.m in Sources */,
537A852F21123223004A52BB /* SKComponentHostingViewDescriptor.mm in Sources */,
537A854E21123223004A52BB /* SKScrollViewDescriptor.m in Sources */,
537A856A21123BDB004A52BB /* SKRequestInfo.m in Sources */,
537A852821123223004A52BB /* Utils.mm in Sources */,
537A853921123223004A52BB /* SKNamed.mm in Sources */,
537A854F21123223004A52BB /* SKButtonDescriptor.mm in Sources */,
537A852521123223004A52BB /* CKFlexboxComponent+Sonar.mm in Sources */,
537A852D21123223004A52BB /* SKComponentLayoutWrapper.mm in Sources */,
53D3BBD820C629230022EB45 /* FBCxxFollyDynamicConvert.mm in Sources */,
537A854B21123223004A52BB /* SKDescriptorMapper.mm in Sources */,
537A855521123223004A52BB /* SKViewDescriptor.mm in Sources */,
537A854421123223004A52BB /* SKSwizzle.mm in Sources */,
53EF578B211240540072E1EA /* SKResponseInfo.m in Sources */,
537A851121123223004A52BB /* SKBufferingPlugin.mm in Sources */,
537A855821123223004A52BB /* UIColor+SKSonarValueCoder.mm in Sources */,
537A854A21123223004A52BB /* SKObject.mm in Sources */,
53D19A3320A4BABA00A371E3 /* SonarCppBridgingResponder.mm in Sources */,
537A855B21123223004A52BB /* SKHighlightOverlay.m in Sources */,
537A855021123223004A52BB /* SKApplicationDescriptor.m in Sources */,
53D19A2F20A4BABA00A371E3 /* SKPortForwardingServer.m in Sources */,
537A855A21123223004A52BB /* SKNodeDescriptor.mm in Sources */,
537A851821123223004A52BB /* FLEXUtility.mm in Sources */,
537A853421123223004A52BB /* SonarKitLayoutComponentKitSupport.mm in Sources */,
537A852621123223004A52BB /* SKComponentRootViewDescriptor.mm in Sources */,
537A851621123223004A52BB /* FLEXNetworkRecorder.mm in Sources */,
53D19A3020A4BABA00A371E3 /* SonarCppBridgingConnection.mm in Sources */,
537A850F21123223004A52BB /* SonarKitNetworkPlugin.mm in Sources */,
537A853B21123223004A52BB /* SKTapListenerImpl.m in Sources */,
53D19A2620A4BABA00A371E3 /* SonarClient.mm in Sources */,
537A853F21123223004A52BB /* SonarKitLayoutPlugin.mm in Sources */,
537A853A21123223004A52BB /* SKTouch.m in Sources */,
537A852721123223004A52BB /* CKComponent+Sonar.mm in Sources */,
537A855F21123223004A52BB /* SKInvalidation.m in Sources */,
537A851B21123223004A52BB /* SKIOSNetworkAdapter.mm in Sources */,
537A852921123223004A52BB /* CKInsetComponent+Sonar.mm in Sources */,
537A851321123223004A52BB /* FLEXNetworkObserver.mm in Sources */,
53D19A2820A4BABA00A371E3 /* SonarUtil.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -406,6 +811,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
DEFINES_MODULE = YES;
@@ -428,6 +834,8 @@
"${PODS_ROOT}/Headers/Public/glog",
"${PODS_ROOT}/Headers/Public/CocoaAsyncSocket",
/usr/local/Cellar/openssl/1.0.2o_1/include,
"${SRCROOT}",
"${SRCROOT}/Plugins/**",
);
INFOPLIST_FILE = SonarKit/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -467,10 +875,13 @@
PRODUCT_BUNDLE_IDENTIFIER = FB.SonarKit;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "";
"USER_HEADER_SEARCH_PATHS[arch=*]" = "${SRCROOT}/SonarKit/** ${SRCROOT}/../xplat/**";
USE_HEADERMAP = YES;
VALID_ARCHS = "armv7s armv7 arm64";
};
name = Debug;
};
@@ -481,6 +892,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
DEFINES_MODULE = YES;
@@ -499,6 +911,8 @@
"${PODS_ROOT}/Headers/Public/glog",
"${PODS_ROOT}/Headers/Public/CocoaAsyncSocket",
/usr/local/Cellar/openssl/1.0.2o_1/include,
"${SRCROOT}",
"${SRCROOT}/Plugins/**",
);
INFOPLIST_FILE = SonarKit/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -538,9 +952,11 @@
PRODUCT_BUNDLE_IDENTIFIER = FB.SonarKit;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "";
USE_HEADERMAP = YES;
VALID_ARCHS = "armv7s armv7 arm64";
};
name = Release;
};