@truewatchtech/react-native-mobile 0.3.15-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FTMobileReactNativeSDK.podspec +22 -0
- package/LICENSE +201 -0
- package/README.md +37 -0
- package/android/.project +17 -0
- package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
- package/android/build.gradle +183 -0
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/android/gradle.properties +5 -0
- package/android/gradlew +185 -0
- package/android/gradlew.bat +89 -0
- package/android/local.properties +8 -0
- package/android/src/main/AndroidManifest.xml +4 -0
- package/android/src/main/AndroidManifestNew.xml +4 -0
- package/android/src/main/java/com/ft/sdk/InnerClassProxy.java +8 -0
- package/android/src/main/java/com/ft/sdk/reactnative/FTLogImpl.java +133 -0
- package/android/src/main/java/com/ft/sdk/reactnative/FTMobileImpl.java +198 -0
- package/android/src/main/java/com/ft/sdk/reactnative/FTRUMImpl.java +267 -0
- package/android/src/main/java/com/ft/sdk/reactnative/FTTraceImpl.java +89 -0
- package/android/src/main/java/com/ft/sdk/reactnative/utils/ReactNativeUtils.java +59 -0
- package/android/src/newarch/java/com/ft/sdk/reactnative/FTLogModule.java +39 -0
- package/android/src/newarch/java/com/ft/sdk/reactnative/FTMobileModule.java +69 -0
- package/android/src/newarch/java/com/ft/sdk/reactnative/FTRUMModule.java +84 -0
- package/android/src/newarch/java/com/ft/sdk/reactnative/FTTraceModule.java +34 -0
- package/android/src/oldarch/java/com/ft/sdk/reactnative/FTLogModule.java +36 -0
- package/android/src/oldarch/java/com/ft/sdk/reactnative/FTMobileModule.java +69 -0
- package/android/src/oldarch/java/com/ft/sdk/reactnative/FTRUMModule.java +70 -0
- package/android/src/oldarch/java/com/ft/sdk/reactnative/FTTraceModule.java +30 -0
- package/android/src/rnpost74/java/com/ft/sdk/reactnative/FTMobilePackage.java +71 -0
- package/android/src/rnpre74/java/com/ft/sdk/reactnative/FTMobilePackage.java +33 -0
- package/ios/.idea/.name +1 -0
- package/ios/.idea/ios.iml +2 -0
- package/ios/.idea/modules.xml +8 -0
- package/ios/.idea/vcs.xml +6 -0
- package/ios/.idea/xcode.xml +4 -0
- package/ios/FTMobileReactNative.h +18 -0
- package/ios/FTMobileReactNative.m +183 -0
- package/ios/FTReactNativeLog.h +18 -0
- package/ios/FTReactNativeLog.m +60 -0
- package/ios/FTReactNativeRUM.h +19 -0
- package/ios/FTReactNativeRUM.m +173 -0
- package/ios/FTReactNativeTrace.h +20 -0
- package/ios/FTReactNativeTrace.m +58 -0
- package/ios/FTReactNativeUtils.h +16 -0
- package/ios/FTReactNativeUtils.m +32 -0
- package/ios/FtMobileAgent.xcodeproj/project.pbxproj +293 -0
- package/ios/FtMobileAgent.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
- package/ios/FtMobileAgent.xcodeproj/project.xcworkspace/xcuserdata/Brandon.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/FtMobileAgent.xcodeproj/project.xcworkspace/xcuserdata/Brandon.xcuserdatad/xcschemes/xcschememanagement.plist +5 -0
- package/ios/FtMobileAgent.xcodeproj/xcuserdata/Brandon.xcuserdatad/xcschemes/FtMobileAgent.xcscheme +56 -0
- package/ios/FtMobileAgent.xcodeproj/xcuserdata/Brandon.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/ios/RCTVersion.h +8 -0
- package/lib/commonjs/ft_logger.js +70 -0
- package/lib/commonjs/ft_logger.js.map +1 -0
- package/lib/commonjs/ft_mobile_agent.js +93 -0
- package/lib/commonjs/ft_mobile_agent.js.map +1 -0
- package/lib/commonjs/ft_rum.js +143 -0
- package/lib/commonjs/ft_rum.js.map +1 -0
- package/lib/commonjs/ft_tracing.js +61 -0
- package/lib/commonjs/ft_tracing.js.map +1 -0
- package/lib/commonjs/index.js +138 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/rum/FTRumActionTracking.js +214 -0
- package/lib/commonjs/rum/FTRumActionTracking.js.map +1 -0
- package/lib/commonjs/rum/FTRumErrorTracking.js +99 -0
- package/lib/commonjs/rum/FTRumErrorTracking.js.map +1 -0
- package/lib/commonjs/version.js +9 -0
- package/lib/commonjs/version.js.map +1 -0
- package/lib/module/ft_logger.js +64 -0
- package/lib/module/ft_logger.js.map +1 -0
- package/lib/module/ft_mobile_agent.js +88 -0
- package/lib/module/ft_mobile_agent.js.map +1 -0
- package/lib/module/ft_rum.js +138 -0
- package/lib/module/ft_rum.js.map +1 -0
- package/lib/module/ft_tracing.js +56 -0
- package/lib/module/ft_tracing.js.map +1 -0
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/rum/FTRumActionTracking.js +206 -0
- package/lib/module/rum/FTRumActionTracking.js.map +1 -0
- package/lib/module/rum/FTRumErrorTracking.js +92 -0
- package/lib/module/rum/FTRumErrorTracking.js.map +1 -0
- package/lib/module/version.js +3 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/ft_logger.d.ts +52 -0
- package/lib/typescript/ft_mobile_agent.d.ts +123 -0
- package/lib/typescript/ft_rum.d.ts +200 -0
- package/lib/typescript/ft_tracing.d.ts +47 -0
- package/lib/typescript/index.d.ts +7 -0
- package/lib/typescript/rum/FTRumActionTracking.d.ts +15 -0
- package/lib/typescript/rum/FTRumErrorTracking.d.ts +11 -0
- package/lib/typescript/version.d.ts +1 -0
- package/package.json +167 -0
- package/scripts/replace-react-require.js +52 -0
- package/src/ft_logger.tsx +77 -0
- package/src/ft_mobile_agent.tsx +162 -0
- package/src/ft_rum.tsx +247 -0
- package/src/ft_tracing.tsx +79 -0
- package/src/index.tsx +17 -0
- package/src/rum/FTRumActionTracking.tsx +232 -0
- package/src/rum/FTRumErrorTracking.tsx +110 -0
- package/src/version.ts +2 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FTReactNativeRUM.m
|
|
3
|
+
// FtMobileAgent
|
|
4
|
+
//
|
|
5
|
+
// Created by Hu Leilei on 2021/12/14.
|
|
6
|
+
// Copyright © 2021 Facebook. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "FTReactNativeRUM.h"
|
|
10
|
+
#import <FTMobileSDK/FTMobileAgent.h>
|
|
11
|
+
#import <FTMobileSDK/FTExternalDataManager.h>
|
|
12
|
+
#import <FTMobileSDK/FTResourceMetricsModel.h>
|
|
13
|
+
#import <FTMobileSDK/FTResourceContentModel.h>
|
|
14
|
+
#import <React/RCTConvert.h>
|
|
15
|
+
#import "FTReactNativeUtils.h"
|
|
16
|
+
|
|
17
|
+
@implementation FTReactNativeRUM
|
|
18
|
+
RCT_EXPORT_MODULE()
|
|
19
|
+
RCT_REMAP_METHOD(setConfig,
|
|
20
|
+
context:(NSDictionary *)context
|
|
21
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
22
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
23
|
+
NSString *rumAppId = [RCTConvert NSString:context[@"iOSAppId"]];
|
|
24
|
+
FTRumConfig *rumConfig = [[FTRumConfig alloc]initWithAppid:rumAppId];
|
|
25
|
+
if ([context.allKeys containsObject:@"sampleRate"]) {
|
|
26
|
+
rumConfig.samplerate = [RCTConvert double:context[@"sampleRate"]]*100;
|
|
27
|
+
}
|
|
28
|
+
if ([context.allKeys containsObject:@"sessionOnErrorSampleRate"]) {
|
|
29
|
+
rumConfig.sessionOnErrorSampleRate = [RCTConvert double:context[@"sessionOnErrorSampleRate"]]*100;
|
|
30
|
+
}
|
|
31
|
+
if ([context.allKeys containsObject:@"enableNativeUserAction"]) {
|
|
32
|
+
rumConfig.enableTraceUserAction = [RCTConvert BOOL:context[@"enableNativeUserAction"]];
|
|
33
|
+
}
|
|
34
|
+
if ([context.allKeys containsObject:@"enableNativeUserView"]) {
|
|
35
|
+
rumConfig.enableTraceUserView = [RCTConvert BOOL:context[@"enableNativeUserView"]];
|
|
36
|
+
}
|
|
37
|
+
if ([context.allKeys containsObject:@"enableNativeUserResource"]) {
|
|
38
|
+
rumConfig.enableTraceUserResource = [RCTConvert BOOL:context[@"enableNativeUserResource"]];
|
|
39
|
+
}
|
|
40
|
+
if ([context.allKeys containsObject:@"errorMonitorType"]) {
|
|
41
|
+
rumConfig.errorMonitorType =(FTErrorMonitorType)[RCTConvert int:context[@"errorMonitorType"]];
|
|
42
|
+
}
|
|
43
|
+
if ([context.allKeys containsObject:@"deviceMonitorType"]) {
|
|
44
|
+
rumConfig.deviceMetricsMonitorType =(FTDeviceMetricsMonitorType)[RCTConvert int:context[@"deviceMonitorType"]];
|
|
45
|
+
}
|
|
46
|
+
if ([context.allKeys containsObject:@"detectFrequency"]) {
|
|
47
|
+
rumConfig.monitorFrequency =(FTMonitorFrequency)[RCTConvert int:context[@"detectFrequency"]];
|
|
48
|
+
}
|
|
49
|
+
if ([context.allKeys containsObject:@"enableResourceHostIP"]) {
|
|
50
|
+
rumConfig.enableResourceHostIP = [RCTConvert BOOL:context[@"enableResourceHostIP"]];
|
|
51
|
+
}
|
|
52
|
+
if ([context.allKeys containsObject:@"enableTrackNativeCrash"]){
|
|
53
|
+
rumConfig.enableTrackAppCrash = [RCTConvert BOOL:context[@"enableTrackNativeCrash"]];
|
|
54
|
+
}
|
|
55
|
+
if ([context.allKeys containsObject:@"enableTrackNativeAppANR"]){
|
|
56
|
+
rumConfig.enableTrackAppANR = [RCTConvert BOOL:context[@"enableTrackNativeAppANR"]];
|
|
57
|
+
}
|
|
58
|
+
if ([context.allKeys containsObject:@"enableTrackNativeFreeze"]){
|
|
59
|
+
rumConfig.enableTrackAppFreeze = [RCTConvert BOOL:context[@"enableTrackNativeFreeze"]];
|
|
60
|
+
}
|
|
61
|
+
if ([context.allKeys containsObject:@"nativeFreezeDurationMs"]){
|
|
62
|
+
rumConfig.freezeDurationMs = [RCTConvert double:context[@"nativeFreezeDurationMs"]];
|
|
63
|
+
}
|
|
64
|
+
if ([context.allKeys containsObject:@"globalContext"]) {
|
|
65
|
+
rumConfig.globalContext = [RCTConvert NSDictionary:context[@"globalContext"]];
|
|
66
|
+
}
|
|
67
|
+
if ([context.allKeys containsObject:@"rumDiscardStrategy"]) {
|
|
68
|
+
rumConfig.rumDiscardType = [RCTConvert int:context[@"rumDiscardStrategy"]];
|
|
69
|
+
}
|
|
70
|
+
if ([context.allKeys containsObject:@"rumCacheLimitCount"]) {
|
|
71
|
+
rumConfig.rumCacheLimitCount = [RCTConvert int:context[@"rumCacheLimitCount"]];
|
|
72
|
+
}
|
|
73
|
+
#if DEBUG
|
|
74
|
+
rumConfig.resourceUrlHandler = ^BOOL(NSURL * _Nonnull url) {
|
|
75
|
+
return [FTReactNativeUtils filterBlackResource:url];
|
|
76
|
+
};
|
|
77
|
+
#endif
|
|
78
|
+
[[FTMobileAgent sharedInstance] startRumWithConfigOptions:rumConfig];
|
|
79
|
+
resolve(nil);
|
|
80
|
+
}
|
|
81
|
+
RCT_REMAP_METHOD(startAction,
|
|
82
|
+
actionName:(NSString *)actionName actionType:(NSString *)actionType property:(NSDictionary *)property
|
|
83
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
84
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
85
|
+
[[FTExternalDataManager sharedManager] startAction:actionName actionType:actionType property:property];
|
|
86
|
+
resolve(nil);
|
|
87
|
+
}
|
|
88
|
+
RCT_REMAP_METHOD(addAction,
|
|
89
|
+
addAction:(NSString *)actionName actionType:(NSString *)actionType property:(NSDictionary *)property
|
|
90
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
91
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
92
|
+
[[FTExternalDataManager sharedManager] addAction:actionName actionType:actionType property:property];
|
|
93
|
+
resolve(nil);
|
|
94
|
+
}
|
|
95
|
+
RCT_REMAP_METHOD(onCreateView,
|
|
96
|
+
viewName:(NSString *)viewName loadTime:(double)loadTime
|
|
97
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
98
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
99
|
+
[[FTExternalDataManager sharedManager] onCreateView:viewName loadTime:@(loadTime)];
|
|
100
|
+
resolve(nil);
|
|
101
|
+
}
|
|
102
|
+
RCT_REMAP_METHOD(startView,
|
|
103
|
+
viewName:(NSString *)viewName property:(NSDictionary *)property
|
|
104
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
105
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
106
|
+
[[FTExternalDataManager sharedManager] startViewWithName:viewName property:property];
|
|
107
|
+
resolve(nil);
|
|
108
|
+
}
|
|
109
|
+
RCT_REMAP_METHOD(stopView,
|
|
110
|
+
property:(NSDictionary *)property
|
|
111
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
112
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
113
|
+
[[FTExternalDataManager sharedManager] stopViewWithProperty:property];
|
|
114
|
+
resolve(nil);
|
|
115
|
+
}
|
|
116
|
+
RCT_REMAP_METHOD(addError,
|
|
117
|
+
stack:(NSString *)stack message:(NSString *)message property:(NSDictionary *)property
|
|
118
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
119
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
120
|
+
[[FTExternalDataManager sharedManager] addErrorWithType:@"reactnative_crash" message:message stack:stack property:property];
|
|
121
|
+
resolve(nil);
|
|
122
|
+
}
|
|
123
|
+
RCT_REMAP_METHOD(addErrorWithType,
|
|
124
|
+
type:(NSString *)type stack:(NSString *)stack message:(NSString *)message property:(NSDictionary *)property
|
|
125
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
126
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
127
|
+
[[FTExternalDataManager sharedManager] addErrorWithType:type message:message stack:stack property:property];
|
|
128
|
+
resolve(nil);
|
|
129
|
+
}
|
|
130
|
+
RCT_REMAP_METHOD(startResource,
|
|
131
|
+
startResource:(NSString *)key property:(NSDictionary *)property
|
|
132
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
133
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
134
|
+
[[FTExternalDataManager sharedManager] startResourceWithKey:key property:property];
|
|
135
|
+
resolve(nil);
|
|
136
|
+
}
|
|
137
|
+
RCT_REMAP_METHOD(stopResource,
|
|
138
|
+
stopResource:(NSString *)key property:(NSDictionary *)property
|
|
139
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
140
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
141
|
+
[[FTExternalDataManager sharedManager] stopResourceWithKey:key property:property];
|
|
142
|
+
resolve(nil);
|
|
143
|
+
}
|
|
144
|
+
RCT_REMAP_METHOD(addResource,
|
|
145
|
+
addResource:(NSString *)key content:(NSDictionary *)content metrics:(NSDictionary *)metrics
|
|
146
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
147
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
148
|
+
if (key.length==0 || content.allKeys.count == 0) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
FTResourceMetricsModel *metricsModel = nil;
|
|
152
|
+
if (metrics.allKeys.count>0) {
|
|
153
|
+
metricsModel = [[FTResourceMetricsModel alloc]init];
|
|
154
|
+
metricsModel.duration = [RCTConvert NSNumber:metrics[@"duration"]];
|
|
155
|
+
metricsModel.resource_dns = [RCTConvert NSNumber:metrics[@"resource_dns"]];
|
|
156
|
+
metricsModel.resource_tcp = [RCTConvert NSNumber:metrics[@"resource_tcp"]];
|
|
157
|
+
metricsModel.resource_ssl = [RCTConvert NSNumber:metrics[@"resource_ssl"]];
|
|
158
|
+
metricsModel.resource_ttfb = [RCTConvert NSNumber:metrics[@"resource_ttfb"]];
|
|
159
|
+
metricsModel.resource_trans = [RCTConvert NSNumber:metrics[@"resource_trans"]];
|
|
160
|
+
metricsModel.resource_first_byte = [RCTConvert NSNumber:metrics[@"resource_first_byte"]];
|
|
161
|
+
}
|
|
162
|
+
FTResourceContentModel *contentModel = [[FTResourceContentModel alloc]init];
|
|
163
|
+
contentModel.url = [RCTConvert NSURL:content[@"url"]];
|
|
164
|
+
contentModel.httpMethod = [RCTConvert NSString:content[@"httpMethod"]];
|
|
165
|
+
contentModel.requestHeader = [RCTConvert NSDictionary:content[@"requestHeader"]];
|
|
166
|
+
contentModel.responseHeader = [RCTConvert NSDictionary:content[@"responseHeader"]];
|
|
167
|
+
contentModel.responseBody = [RCTConvert NSString:content[@"responseBody"]];
|
|
168
|
+
contentModel.httpStatusCode = [RCTConvert int:content[@"resourceStatus"]];
|
|
169
|
+
|
|
170
|
+
[[FTExternalDataManager sharedManager] addResourceWithKey:key metrics:metricsModel content:contentModel];
|
|
171
|
+
resolve(nil);
|
|
172
|
+
}
|
|
173
|
+
@end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FTReactNativeTrace.h
|
|
3
|
+
// FtMobileAgent
|
|
4
|
+
//
|
|
5
|
+
// Created by Hu Leilei on 2021/12/14.
|
|
6
|
+
// Copyright © 2021 Facebook. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
#import <React/RCTBridgeModule.h>
|
|
11
|
+
|
|
12
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
13
|
+
|
|
14
|
+
@interface FTReactNativeTrace : NSObject <RCTBridgeModule>
|
|
15
|
+
|
|
16
|
+
@end
|
|
17
|
+
|
|
18
|
+
NS_ASSUME_NONNULL_END
|
|
19
|
+
|
|
20
|
+
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FTReactNativeTrace.m
|
|
3
|
+
// FtMobileAgent
|
|
4
|
+
//
|
|
5
|
+
// Created by Hu Leilei on 2021/12/14.
|
|
6
|
+
// Copyright © 2021 Facebook. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "FTReactNativeTrace.h"
|
|
10
|
+
#import "FtMobileAgent.h"
|
|
11
|
+
#import <FTMobileSDK/FTMobileAgent.h>
|
|
12
|
+
#import <FTMobileSDK/FTExternalDataManager.h>
|
|
13
|
+
#import <FTMobileSDK/FTResourceMetricsModel.h>
|
|
14
|
+
#import <FTMobileSDK/FTResourceContentModel.h>
|
|
15
|
+
#import <React/RCTConvert.h>
|
|
16
|
+
#import <FTMobileSDK/FTTraceManager.h>
|
|
17
|
+
@implementation FTReactNativeTrace
|
|
18
|
+
RCT_EXPORT_MODULE()
|
|
19
|
+
|
|
20
|
+
RCT_REMAP_METHOD(setConfig,
|
|
21
|
+
context:(NSDictionary *)context
|
|
22
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
23
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
24
|
+
FTTraceConfig *trace = [[FTTraceConfig alloc]init];
|
|
25
|
+
if ([context.allKeys containsObject:@"sampleRate"]) {
|
|
26
|
+
trace.samplerate =[RCTConvert double:context[@"sampleRate"]] * 100;
|
|
27
|
+
}
|
|
28
|
+
if ([context.allKeys containsObject:@"traceType"]) {
|
|
29
|
+
int traceType = [RCTConvert int:context[@"traceType"]];
|
|
30
|
+
trace.networkTraceType = traceType;
|
|
31
|
+
}
|
|
32
|
+
trace.enableLinkRumData = [RCTConvert BOOL:context[@"enableLinkRUMData"]];
|
|
33
|
+
trace.enableAutoTrace = [RCTConvert BOOL:context[@"enableNativeAutoTrace"]];
|
|
34
|
+
[[FTMobileAgent sharedInstance] startTraceWithConfigOptions:trace];
|
|
35
|
+
resolve(nil);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
RCT_REMAP_METHOD(getTraceHeaderFields,
|
|
39
|
+
url:(NSString *)url
|
|
40
|
+
key:(NSString *)key
|
|
41
|
+
findEventsWithResolver:(RCTPromiseResolveBlock)resolve
|
|
42
|
+
rejecter:(RCTPromiseRejectBlock)reject){
|
|
43
|
+
NSDictionary *traceHeader = nil;
|
|
44
|
+
if(key&&key.length>0){
|
|
45
|
+
traceHeader = [[FTExternalDataManager sharedManager] getTraceHeaderWithKey:key url:[NSURL URLWithString:url]];
|
|
46
|
+
}else{
|
|
47
|
+
traceHeader = [[FTExternalDataManager sharedManager] getTraceHeaderWithUrl:[NSURL URLWithString:url]];
|
|
48
|
+
}
|
|
49
|
+
if (traceHeader) {
|
|
50
|
+
resolve(traceHeader);
|
|
51
|
+
}else{
|
|
52
|
+
resolve(nil);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@end
|
|
57
|
+
|
|
58
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FTReactNativeUtils.h
|
|
3
|
+
// FTMobileReactNativeSDK
|
|
4
|
+
//
|
|
5
|
+
// Created by hulilei on 2025/1/24.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <Foundation/Foundation.h>
|
|
9
|
+
|
|
10
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
11
|
+
|
|
12
|
+
@interface FTReactNativeUtils : NSObject
|
|
13
|
+
+ (BOOL)filterBlackResource:(NSURL *)url;
|
|
14
|
+
@end
|
|
15
|
+
|
|
16
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FTReactNativeUtils.m
|
|
3
|
+
// FTMobileReactNativeSDK
|
|
4
|
+
//
|
|
5
|
+
// Created by hulilei on 2025/1/24.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import "FTReactNativeUtils.h"
|
|
9
|
+
|
|
10
|
+
@implementation FTReactNativeUtils
|
|
11
|
+
+ (BOOL)filterBlackResource:(NSURL *)url{
|
|
12
|
+
static NSMutableArray *internalDevResourceBlacklist;
|
|
13
|
+
static dispatch_once_t onceToken;
|
|
14
|
+
dispatch_once(&onceToken, ^{
|
|
15
|
+
internalDevResourceBlacklist = [NSMutableArray new];
|
|
16
|
+
NSError *error = nil;
|
|
17
|
+
NSString *pattern = @"^http://((10|172|192).[0-9]+.[0-9]+.[0-9]+|localhost|127.0.0.1):808[0-9]/logs$";
|
|
18
|
+
NSRegularExpression * regularExpress = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&error];
|
|
19
|
+
[internalDevResourceBlacklist addObject:regularExpress];
|
|
20
|
+
NSString *rn = @"^http://localhost:808[0-9]/(hot|symbolicate|message|inspector|status|assets).*$";
|
|
21
|
+
NSRegularExpression * rnRegularExpress = [NSRegularExpression regularExpressionWithPattern:rn options:NSRegularExpressionCaseInsensitive error:&error];
|
|
22
|
+
[internalDevResourceBlacklist addObject:rnRegularExpress];
|
|
23
|
+
});
|
|
24
|
+
for (NSRegularExpression *regex in internalDevResourceBlacklist) {
|
|
25
|
+
NSTextCheckingResult *firstMatch =[regex firstMatchInString:url.absoluteString options:0 range:NSMakeRange(0, [url.absoluteString length])];
|
|
26
|
+
if (firstMatch) {
|
|
27
|
+
return YES;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return NO;
|
|
31
|
+
}
|
|
32
|
+
@end
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
// !$*UTF8*$!
|
|
2
|
+
{
|
|
3
|
+
archiveVersion = 1;
|
|
4
|
+
classes = {
|
|
5
|
+
};
|
|
6
|
+
objectVersion = 46;
|
|
7
|
+
objects = {
|
|
8
|
+
|
|
9
|
+
/* Begin PBXBuildFile section */
|
|
10
|
+
17C492802D43B4F900487920 /* FTReactNativeUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C4927F2D43B4F900487920 /* FTReactNativeUtils.m */; };
|
|
11
|
+
/* End PBXBuildFile section */
|
|
12
|
+
|
|
13
|
+
/* Begin PBXCopyFilesBuildPhase section */
|
|
14
|
+
58B511D91A9E6C8500147676 /* CopyFiles */ = {
|
|
15
|
+
isa = PBXCopyFilesBuildPhase;
|
|
16
|
+
buildActionMask = 2147483647;
|
|
17
|
+
dstPath = "include/$(PRODUCT_NAME)";
|
|
18
|
+
dstSubfolderSpec = 16;
|
|
19
|
+
files = (
|
|
20
|
+
);
|
|
21
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
22
|
+
};
|
|
23
|
+
/* End PBXCopyFilesBuildPhase section */
|
|
24
|
+
|
|
25
|
+
/* Begin PBXFileReference section */
|
|
26
|
+
134814201AA4EA6300B7C361 /* libFtMobileAgent.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libFtMobileAgent.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
27
|
+
17C4927E2D43B4F900487920 /* FTReactNativeUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FTReactNativeUtils.h; sourceTree = "<group>"; };
|
|
28
|
+
17C4927F2D43B4F900487920 /* FTReactNativeUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTReactNativeUtils.m; sourceTree = "<group>"; };
|
|
29
|
+
7C3C28A527684CDF009DB8E2 /* FTMobileReactNative.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FTMobileReactNative.h; sourceTree = "<group>"; };
|
|
30
|
+
7C3C28A627684CDF009DB8E2 /* FTMobileReactNative.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTMobileReactNative.m; sourceTree = "<group>"; };
|
|
31
|
+
7C3C28A727684D03009DB8E2 /* FTReactNativeRUM.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FTReactNativeRUM.h; sourceTree = "<group>"; };
|
|
32
|
+
7C3C28A827684D03009DB8E2 /* FTReactNativeRUM.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTReactNativeRUM.m; sourceTree = "<group>"; };
|
|
33
|
+
7C3C28A927684D21009DB8E2 /* FTReactNativeTrace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FTReactNativeTrace.h; sourceTree = "<group>"; };
|
|
34
|
+
7C3C28AA27684D21009DB8E2 /* FTReactNativeTrace.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTReactNativeTrace.m; sourceTree = "<group>"; };
|
|
35
|
+
7C3C28AB27684D36009DB8E2 /* FTReactNativeLog.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FTReactNativeLog.h; sourceTree = "<group>"; };
|
|
36
|
+
7C3C28AC27684D36009DB8E2 /* FTReactNativeLog.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTReactNativeLog.m; sourceTree = "<group>"; };
|
|
37
|
+
/* End PBXFileReference section */
|
|
38
|
+
|
|
39
|
+
/* Begin PBXFrameworksBuildPhase section */
|
|
40
|
+
58B511D81A9E6C8500147676 /* Frameworks */ = {
|
|
41
|
+
isa = PBXFrameworksBuildPhase;
|
|
42
|
+
buildActionMask = 2147483647;
|
|
43
|
+
files = (
|
|
44
|
+
);
|
|
45
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
46
|
+
};
|
|
47
|
+
/* End PBXFrameworksBuildPhase section */
|
|
48
|
+
|
|
49
|
+
/* Begin PBXGroup section */
|
|
50
|
+
134814211AA4EA7D00B7C361 /* Products */ = {
|
|
51
|
+
isa = PBXGroup;
|
|
52
|
+
children = (
|
|
53
|
+
134814201AA4EA6300B7C361 /* libFtMobileAgent.a */,
|
|
54
|
+
);
|
|
55
|
+
name = Products;
|
|
56
|
+
sourceTree = "<group>";
|
|
57
|
+
};
|
|
58
|
+
58B511D21A9E6C8500147676 = {
|
|
59
|
+
isa = PBXGroup;
|
|
60
|
+
children = (
|
|
61
|
+
7C3C28AB27684D36009DB8E2 /* FTReactNativeLog.h */,
|
|
62
|
+
7C3C28AC27684D36009DB8E2 /* FTReactNativeLog.m */,
|
|
63
|
+
7C3C28A927684D21009DB8E2 /* FTReactNativeTrace.h */,
|
|
64
|
+
7C3C28AA27684D21009DB8E2 /* FTReactNativeTrace.m */,
|
|
65
|
+
7C3C28A727684D03009DB8E2 /* FTReactNativeRUM.h */,
|
|
66
|
+
7C3C28A827684D03009DB8E2 /* FTReactNativeRUM.m */,
|
|
67
|
+
7C3C28A527684CDF009DB8E2 /* FTMobileReactNative.h */,
|
|
68
|
+
7C3C28A627684CDF009DB8E2 /* FTMobileReactNative.m */,
|
|
69
|
+
17C4927E2D43B4F900487920 /* FTReactNativeUtils.h */,
|
|
70
|
+
17C4927F2D43B4F900487920 /* FTReactNativeUtils.m */,
|
|
71
|
+
134814211AA4EA7D00B7C361 /* Products */,
|
|
72
|
+
);
|
|
73
|
+
sourceTree = "<group>";
|
|
74
|
+
};
|
|
75
|
+
/* End PBXGroup section */
|
|
76
|
+
|
|
77
|
+
/* Begin PBXNativeTarget section */
|
|
78
|
+
58B511DA1A9E6C8500147676 /* FtMobileAgent */ = {
|
|
79
|
+
isa = PBXNativeTarget;
|
|
80
|
+
buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "FtMobileAgent" */;
|
|
81
|
+
buildPhases = (
|
|
82
|
+
58B511D71A9E6C8500147676 /* Sources */,
|
|
83
|
+
58B511D81A9E6C8500147676 /* Frameworks */,
|
|
84
|
+
58B511D91A9E6C8500147676 /* CopyFiles */,
|
|
85
|
+
);
|
|
86
|
+
buildRules = (
|
|
87
|
+
);
|
|
88
|
+
dependencies = (
|
|
89
|
+
);
|
|
90
|
+
name = FtMobileAgent;
|
|
91
|
+
productName = RCTDataManager;
|
|
92
|
+
productReference = 134814201AA4EA6300B7C361 /* libFtMobileAgent.a */;
|
|
93
|
+
productType = "com.apple.product-type.library.static";
|
|
94
|
+
};
|
|
95
|
+
/* End PBXNativeTarget section */
|
|
96
|
+
|
|
97
|
+
/* Begin PBXProject section */
|
|
98
|
+
58B511D31A9E6C8500147676 /* Project object */ = {
|
|
99
|
+
isa = PBXProject;
|
|
100
|
+
attributes = {
|
|
101
|
+
LastUpgradeCheck = 0920;
|
|
102
|
+
ORGANIZATIONNAME = Facebook;
|
|
103
|
+
TargetAttributes = {
|
|
104
|
+
58B511DA1A9E6C8500147676 = {
|
|
105
|
+
CreatedOnToolsVersion = 6.1.1;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "FtMobileAgent" */;
|
|
110
|
+
compatibilityVersion = "Xcode 3.2";
|
|
111
|
+
developmentRegion = English;
|
|
112
|
+
hasScannedForEncodings = 0;
|
|
113
|
+
knownRegions = (
|
|
114
|
+
English,
|
|
115
|
+
en,
|
|
116
|
+
);
|
|
117
|
+
mainGroup = 58B511D21A9E6C8500147676;
|
|
118
|
+
productRefGroup = 58B511D21A9E6C8500147676;
|
|
119
|
+
projectDirPath = "";
|
|
120
|
+
projectRoot = "";
|
|
121
|
+
targets = (
|
|
122
|
+
58B511DA1A9E6C8500147676 /* FtMobileAgent */,
|
|
123
|
+
);
|
|
124
|
+
};
|
|
125
|
+
/* End PBXProject section */
|
|
126
|
+
|
|
127
|
+
/* Begin PBXSourcesBuildPhase section */
|
|
128
|
+
58B511D71A9E6C8500147676 /* Sources */ = {
|
|
129
|
+
isa = PBXSourcesBuildPhase;
|
|
130
|
+
buildActionMask = 2147483647;
|
|
131
|
+
files = (
|
|
132
|
+
17C492802D43B4F900487920 /* FTReactNativeUtils.m in Sources */,
|
|
133
|
+
);
|
|
134
|
+
runOnlyForDeploymentPostprocessing = 0;
|
|
135
|
+
};
|
|
136
|
+
/* End PBXSourcesBuildPhase section */
|
|
137
|
+
|
|
138
|
+
/* Begin XCBuildConfiguration section */
|
|
139
|
+
58B511ED1A9E6C8500147676 /* Debug */ = {
|
|
140
|
+
isa = XCBuildConfiguration;
|
|
141
|
+
buildSettings = {
|
|
142
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
143
|
+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
144
|
+
CLANG_CXX_LIBRARY = "libc++";
|
|
145
|
+
CLANG_ENABLE_MODULES = YES;
|
|
146
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
147
|
+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
148
|
+
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
149
|
+
CLANG_WARN_COMMA = YES;
|
|
150
|
+
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
151
|
+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
152
|
+
CLANG_WARN_EMPTY_BODY = YES;
|
|
153
|
+
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
154
|
+
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
155
|
+
CLANG_WARN_INT_CONVERSION = YES;
|
|
156
|
+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
157
|
+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
158
|
+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
159
|
+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
160
|
+
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
161
|
+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
162
|
+
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
163
|
+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
164
|
+
COPY_PHASE_STRIP = NO;
|
|
165
|
+
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
166
|
+
ENABLE_TESTABILITY = YES;
|
|
167
|
+
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
168
|
+
GCC_DYNAMIC_NO_PIC = NO;
|
|
169
|
+
GCC_NO_COMMON_BLOCKS = YES;
|
|
170
|
+
GCC_OPTIMIZATION_LEVEL = 0;
|
|
171
|
+
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
172
|
+
"DEBUG=1",
|
|
173
|
+
"$(inherited)",
|
|
174
|
+
);
|
|
175
|
+
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
|
176
|
+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
177
|
+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
178
|
+
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
179
|
+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
180
|
+
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
181
|
+
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
182
|
+
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
|
183
|
+
MTL_ENABLE_DEBUG_INFO = YES;
|
|
184
|
+
ONLY_ACTIVE_ARCH = YES;
|
|
185
|
+
SDKROOT = iphoneos;
|
|
186
|
+
};
|
|
187
|
+
name = Debug;
|
|
188
|
+
};
|
|
189
|
+
58B511EE1A9E6C8500147676 /* Release */ = {
|
|
190
|
+
isa = XCBuildConfiguration;
|
|
191
|
+
buildSettings = {
|
|
192
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
193
|
+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
194
|
+
CLANG_CXX_LIBRARY = "libc++";
|
|
195
|
+
CLANG_ENABLE_MODULES = YES;
|
|
196
|
+
CLANG_ENABLE_OBJC_ARC = YES;
|
|
197
|
+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
198
|
+
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
199
|
+
CLANG_WARN_COMMA = YES;
|
|
200
|
+
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
201
|
+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
202
|
+
CLANG_WARN_EMPTY_BODY = YES;
|
|
203
|
+
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
204
|
+
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
205
|
+
CLANG_WARN_INT_CONVERSION = YES;
|
|
206
|
+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
207
|
+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
208
|
+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
209
|
+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
210
|
+
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
211
|
+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
212
|
+
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
213
|
+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
214
|
+
COPY_PHASE_STRIP = YES;
|
|
215
|
+
ENABLE_NS_ASSERTIONS = NO;
|
|
216
|
+
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
217
|
+
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
218
|
+
GCC_NO_COMMON_BLOCKS = YES;
|
|
219
|
+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
220
|
+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
221
|
+
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
222
|
+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
223
|
+
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
224
|
+
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
225
|
+
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
|
226
|
+
MTL_ENABLE_DEBUG_INFO = NO;
|
|
227
|
+
SDKROOT = iphoneos;
|
|
228
|
+
VALIDATE_PRODUCT = YES;
|
|
229
|
+
};
|
|
230
|
+
name = Release;
|
|
231
|
+
};
|
|
232
|
+
58B511F01A9E6C8500147676 /* Debug */ = {
|
|
233
|
+
isa = XCBuildConfiguration;
|
|
234
|
+
buildSettings = {
|
|
235
|
+
HEADER_SEARCH_PATHS = (
|
|
236
|
+
"$(inherited)",
|
|
237
|
+
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
|
238
|
+
"$(SRCROOT)/../../../React/**",
|
|
239
|
+
"$(SRCROOT)/../../react-native/React/**",
|
|
240
|
+
);
|
|
241
|
+
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
242
|
+
OTHER_LDFLAGS = "-ObjC";
|
|
243
|
+
PRODUCT_NAME = FtMobileAgent;
|
|
244
|
+
SKIP_INSTALL = YES;
|
|
245
|
+
SWIFT_OBJC_BRIDGING_HEADER = "FtMobileAgent-Bridging-Header.h";
|
|
246
|
+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
247
|
+
SWIFT_VERSION = 5.0;
|
|
248
|
+
};
|
|
249
|
+
name = Debug;
|
|
250
|
+
};
|
|
251
|
+
58B511F11A9E6C8500147676 /* Release */ = {
|
|
252
|
+
isa = XCBuildConfiguration;
|
|
253
|
+
buildSettings = {
|
|
254
|
+
HEADER_SEARCH_PATHS = (
|
|
255
|
+
"$(inherited)",
|
|
256
|
+
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
|
257
|
+
"$(SRCROOT)/../../../React/**",
|
|
258
|
+
"$(SRCROOT)/../../react-native/React/**",
|
|
259
|
+
);
|
|
260
|
+
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
261
|
+
OTHER_LDFLAGS = "-ObjC";
|
|
262
|
+
PRODUCT_NAME = FtMobileAgent;
|
|
263
|
+
SKIP_INSTALL = YES;
|
|
264
|
+
SWIFT_OBJC_BRIDGING_HEADER = "FtMobileAgent-Bridging-Header.h";
|
|
265
|
+
SWIFT_VERSION = 5.0;
|
|
266
|
+
};
|
|
267
|
+
name = Release;
|
|
268
|
+
};
|
|
269
|
+
/* End XCBuildConfiguration section */
|
|
270
|
+
|
|
271
|
+
/* Begin XCConfigurationList section */
|
|
272
|
+
58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "FtMobileAgent" */ = {
|
|
273
|
+
isa = XCConfigurationList;
|
|
274
|
+
buildConfigurations = (
|
|
275
|
+
58B511ED1A9E6C8500147676 /* Debug */,
|
|
276
|
+
58B511EE1A9E6C8500147676 /* Release */,
|
|
277
|
+
);
|
|
278
|
+
defaultConfigurationIsVisible = 0;
|
|
279
|
+
defaultConfigurationName = Release;
|
|
280
|
+
};
|
|
281
|
+
58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "FtMobileAgent" */ = {
|
|
282
|
+
isa = XCConfigurationList;
|
|
283
|
+
buildConfigurations = (
|
|
284
|
+
58B511F01A9E6C8500147676 /* Debug */,
|
|
285
|
+
58B511F11A9E6C8500147676 /* Release */,
|
|
286
|
+
);
|
|
287
|
+
defaultConfigurationIsVisible = 0;
|
|
288
|
+
defaultConfigurationName = Release;
|
|
289
|
+
};
|
|
290
|
+
/* End XCConfigurationList section */
|
|
291
|
+
};
|
|
292
|
+
rootObject = 58B511D31A9E6C8500147676 /* Project object */;
|
|
293
|
+
}
|
|
Binary file
|
package/ios/FtMobileAgent.xcodeproj/xcuserdata/Brandon.xcuserdatad/xcschemes/FtMobileAgent.xcscheme
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<Scheme
|
|
3
|
+
version = "1.7">
|
|
4
|
+
<BuildAction
|
|
5
|
+
parallelizeBuildables = "YES"
|
|
6
|
+
buildImplicitDependencies = "YES">
|
|
7
|
+
<BuildActionEntries>
|
|
8
|
+
<BuildActionEntry
|
|
9
|
+
buildForTesting = "YES"
|
|
10
|
+
buildForRunning = "YES"
|
|
11
|
+
buildForProfiling = "YES"
|
|
12
|
+
buildForArchiving = "YES"
|
|
13
|
+
buildForAnalyzing = "YES">
|
|
14
|
+
<BuildableReference
|
|
15
|
+
BuildableIdentifier = "primary"
|
|
16
|
+
BlueprintIdentifier = "58B511DA1A9E6C8500147676"
|
|
17
|
+
BuildableName = "libFtMobileAgent.a"
|
|
18
|
+
BlueprintName = "FtMobileAgent"
|
|
19
|
+
ReferencedContainer = "container:FtMobileAgent.xcodeproj">
|
|
20
|
+
</BuildableReference>
|
|
21
|
+
</BuildActionEntry>
|
|
22
|
+
</BuildActionEntries>
|
|
23
|
+
</BuildAction>
|
|
24
|
+
<TestAction
|
|
25
|
+
buildConfiguration = "Debug"
|
|
26
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
27
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
28
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
29
|
+
shouldAutocreateTestPlan = "YES">
|
|
30
|
+
</TestAction>
|
|
31
|
+
<LaunchAction
|
|
32
|
+
buildConfiguration = "Debug"
|
|
33
|
+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
34
|
+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
35
|
+
launchStyle = "0"
|
|
36
|
+
useCustomWorkingDirectory = "NO"
|
|
37
|
+
ignoresPersistentStateOnLaunch = "NO"
|
|
38
|
+
debugDocumentVersioning = "YES"
|
|
39
|
+
debugServiceExtension = "internal"
|
|
40
|
+
allowLocationSimulation = "YES">
|
|
41
|
+
</LaunchAction>
|
|
42
|
+
<ProfileAction
|
|
43
|
+
buildConfiguration = "Release"
|
|
44
|
+
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
45
|
+
savedToolIdentifier = ""
|
|
46
|
+
useCustomWorkingDirectory = "NO"
|
|
47
|
+
debugDocumentVersioning = "YES">
|
|
48
|
+
</ProfileAction>
|
|
49
|
+
<AnalyzeAction
|
|
50
|
+
buildConfiguration = "Debug">
|
|
51
|
+
</AnalyzeAction>
|
|
52
|
+
<ArchiveAction
|
|
53
|
+
buildConfiguration = "Release"
|
|
54
|
+
revealArchiveInOrganizer = "YES">
|
|
55
|
+
</ArchiveAction>
|
|
56
|
+
</Scheme>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>SchemeUserState</key>
|
|
6
|
+
<dict>
|
|
7
|
+
<key>FtMobileAgent.xcscheme</key>
|
|
8
|
+
<dict>
|
|
9
|
+
<key>orderHint</key>
|
|
10
|
+
<integer>0</integer>
|
|
11
|
+
</dict>
|
|
12
|
+
</dict>
|
|
13
|
+
</dict>
|
|
14
|
+
</plist>
|