@react-native-ohos/react-native-background-timer 2.4.2-rc.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.
Files changed (45) hide show
  1. package/.circleci/config.yml +37 -0
  2. package/.eslintignore +1 -0
  3. package/.eslintrc.js +8 -0
  4. package/.prettierrc +4 -0
  5. package/COMMITTERS.md +10 -0
  6. package/LICENSE +21 -0
  7. package/OAT.xml +58 -0
  8. package/README.OpenSource +11 -0
  9. package/README.md +13 -0
  10. package/android/build.gradle +20 -0
  11. package/android/src/main/AndroidManifest.xml +3 -0
  12. package/android/src/main/java/com/ocetnik/timer/BackgroundTimerModule.java +97 -0
  13. package/android/src/main/java/com/ocetnik/timer/BackgroundTimerPackage.java +34 -0
  14. package/harmony/background_timer/Index.ets +9 -0
  15. package/harmony/background_timer/build-profile.json5 +12 -0
  16. package/harmony/background_timer/hvigorfile.ts +6 -0
  17. package/harmony/background_timer/oh-package.json5 +11 -0
  18. package/harmony/background_timer/src/main/cpp/CMakeLists.txt +13 -0
  19. package/harmony/background_timer/src/main/cpp/ReactNativeOhosReactNativeBackgroundTimerPackage.h +15 -0
  20. package/harmony/background_timer/src/main/cpp/generated/RNOH/generated/BaseReactNativeBackgroundTimerPackage.h +75 -0
  21. package/harmony/background_timer/src/main/cpp/generated/RNOH/generated/turbo_modules/BackgroundTimerTurboModule.cpp +21 -0
  22. package/harmony/background_timer/src/main/cpp/generated/RNOH/generated/turbo_modules/BackgroundTimerTurboModule.h +16 -0
  23. package/harmony/background_timer/src/main/ets/BackgroundTimerPackage.ts +30 -0
  24. package/harmony/background_timer/src/main/ets/BackgroundTimerTurboModule.ts +36 -0
  25. package/harmony/background_timer/src/main/ets/BackgroundTimerWorker.ts +17 -0
  26. package/harmony/background_timer/src/main/ets/generated/components/ts.ts +5 -0
  27. package/harmony/background_timer/src/main/ets/generated/index.ets +5 -0
  28. package/harmony/background_timer/src/main/ets/generated/ts.ts +6 -0
  29. package/harmony/background_timer/src/main/ets/generated/turboModules/BackgroundTimerTurboModule.ts +18 -0
  30. package/harmony/background_timer/src/main/ets/generated/turboModules/ts.ts +5 -0
  31. package/harmony/background_timer/src/main/ets/ts.ts +12 -0
  32. package/harmony/background_timer/src/main/module.json5 +11 -0
  33. package/harmony/background_timer/src/main/resources/base/element/string.json +8 -0
  34. package/harmony/background_timer/src/main/resources/en_US/element/string.json +8 -0
  35. package/harmony/background_timer/src/main/resources/zh_CN/element/string.json +8 -0
  36. package/harmony/background_timer/ts.ts +10 -0
  37. package/harmony/background_timer.har +0 -0
  38. package/index.js +111 -0
  39. package/ios/RNBackgroundTimer.h +21 -0
  40. package/ios/RNBackgroundTimer.m +90 -0
  41. package/ios/RNBackgroundTimer.xcodeproj/project.pbxproj +347 -0
  42. package/ios/RNBackgroundTimer.xcodeproj/xcuserdata/jlexyc.xcuserdatad/xcschemes/xcschememanagement.plist +19 -0
  43. package/package.json +65 -0
  44. package/react-native-background-timer.podspec +24 -0
  45. package/src/RNBackgroundTimerSpec.ts +18 -0
@@ -0,0 +1,5 @@
1
+ /**
2
+ * This code was generated by "react-native codegen-lib-harmony"
3
+ */
4
+
5
+ export * from "./BackgroundTimerTurboModule"
@@ -0,0 +1,12 @@
1
+
2
+ /*
3
+ *
4
+ * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved
5
+ * Use of this source code is governed by a MIT license that can be
6
+ * found in the LICENSE file
7
+ *
8
+ */
9
+
10
+ export * from './BackgroundTimerPackage';
11
+ export * from './BackgroundTimerTurboModule';
12
+ // export * from './BackgroundTimerWorker'
@@ -0,0 +1,11 @@
1
+ {
2
+ "module": {
3
+ "name": "background_timer",
4
+ "type": "har",
5
+ "deviceTypes": [
6
+ "default",
7
+ "tablet",
8
+ "2in1"
9
+ ]
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "string": [
3
+ {
4
+ "name": "page_show",
5
+ "value": "page from package"
6
+ }
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "string": [
3
+ {
4
+ "name": "page_show",
5
+ "value": "page from package"
6
+ }
7
+ ]
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "string": [
3
+ {
4
+ "name": "page_show",
5
+ "value": "page from package"
6
+ }
7
+ ]
8
+ }
@@ -0,0 +1,10 @@
1
+ /*
2
+ *
3
+ * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved
4
+ * Use of this source code is governed by a MIT license that can be
5
+ * found in the LICENSE file
6
+ *
7
+ */
8
+ export * from './src/main/ets/BackgroundTimerPackage';
9
+ export * from './src/main/ets/BackgroundTimerTurboModule';
10
+ // export * from './src/main/ets/BackgroundTimerWorker'
Binary file
package/index.js ADDED
@@ -0,0 +1,111 @@
1
+ import {
2
+ DeviceEventEmitter,
3
+ NativeAppEventEmitter,
4
+ NativeEventEmitter,
5
+ NativeModules,
6
+ Platform,
7
+ TurboModuleRegistry,
8
+ } from 'react-native';
9
+
10
+ const RNBackgroundTimer = TurboModuleRegistry
11
+ ? TurboModuleRegistry.get('BackgroundTimerTurboModule')
12
+ : NativeModules.BackgroundTimer;
13
+ const Emitter = new NativeEventEmitter(RNBackgroundTimer);
14
+
15
+ class BackgroundTimer {
16
+ constructor() {
17
+ this.uniqueId = 0;
18
+ this.callbacks = {};
19
+
20
+ Emitter.addListener('backgroundTimer.timeout', (id) => {
21
+ if (this.callbacks[id]) {
22
+ const callbackById = this.callbacks[id];
23
+ const { callback } = callbackById;
24
+ if (!this.callbacks[id].interval) {
25
+ delete this.callbacks[id];
26
+ } else {
27
+ RNBackgroundTimer.setTimeout(id, this.callbacks[id].timeout);
28
+ }
29
+ callback();
30
+ }
31
+ });
32
+ }
33
+
34
+ // Original API
35
+ start(delay = 0) {
36
+ return RNBackgroundTimer.start(delay);
37
+ }
38
+
39
+ stop() {
40
+ return RNBackgroundTimer.stop();
41
+ }
42
+
43
+ runBackgroundTimer(callback, delay) {
44
+ const EventEmitter = Platform.select({
45
+ ios: () => NativeAppEventEmitter,
46
+ android: () => DeviceEventEmitter,
47
+ harmony: () => DeviceEventEmitter,
48
+ })();
49
+ this.start(0);
50
+ this.backgroundListener = EventEmitter.addListener(
51
+ 'backgroundTimer',
52
+ () => {
53
+ this.backgroundListener.remove();
54
+ this.backgroundClockMethod(callback, delay);
55
+ },
56
+ );
57
+ }
58
+
59
+ backgroundClockMethod(callback, delay) {
60
+ this.backgroundTimer = this.setTimeout(() => {
61
+ callback();
62
+ this.backgroundClockMethod(callback, delay);
63
+ }, delay);
64
+ }
65
+
66
+ stopBackgroundTimer() {
67
+ this.stop();
68
+ this.clearTimeout(this.backgroundTimer);
69
+ }
70
+
71
+ // New API, allowing for multiple timers
72
+ setTimeout(callback, timeout) {
73
+ this.uniqueId += 1;
74
+ const timeoutId = this.uniqueId;
75
+ this.callbacks[timeoutId] = {
76
+ callback,
77
+ interval: false,
78
+ timeout,
79
+ };
80
+ RNBackgroundTimer.setTimeout(timeoutId, timeout);
81
+ return timeoutId;
82
+ }
83
+
84
+ clearTimeout(timeoutId) {
85
+ if (this.callbacks[timeoutId]) {
86
+ delete this.callbacks[timeoutId];
87
+ // RNBackgroundTimer.clearTimeout(timeoutId);
88
+ }
89
+ }
90
+
91
+ setInterval(callback, timeout) {
92
+ this.uniqueId += 1;
93
+ const intervalId = this.uniqueId;
94
+ this.callbacks[intervalId] = {
95
+ callback,
96
+ interval: true,
97
+ timeout,
98
+ };
99
+ RNBackgroundTimer.setTimeout(intervalId, timeout);
100
+ return intervalId;
101
+ }
102
+
103
+ clearInterval(intervalId) {
104
+ if (this.callbacks[intervalId]) {
105
+ delete this.callbacks[intervalId];
106
+ // RNBackgroundTimer.clearTimeout(intervalId);
107
+ }
108
+ }
109
+ }
110
+
111
+ export default new BackgroundTimer();
@@ -0,0 +1,21 @@
1
+ //
2
+ // RNBackgroundTimer.h
3
+ // react-native-background-timer
4
+ //
5
+ // Created by IjzerenHein on 06-09-2016.
6
+ // Copyright (c) ATO Gear. All rights reserved.
7
+ //
8
+
9
+ #import <React/RCTBridgeModule.h>
10
+ // Support React Native headers both in the React namespace, where they are in RN version 0.40+,
11
+ // and no namespace, for older versions of React Native
12
+ #if __has_include(<React/RCTEventEmitter.h>)
13
+ #import <React/RCTEventEmitter.h>
14
+ #else
15
+ #import "RCTEventEmitter.h"
16
+ #endif
17
+
18
+
19
+ @interface RNBackgroundTimer : RCTEventEmitter <RCTBridgeModule>
20
+
21
+ @end
@@ -0,0 +1,90 @@
1
+ //
2
+ // RNBackgroundTimer.m
3
+ // react-native-background-timer
4
+ //
5
+ // Created by IjzerenHein on 06-09-2016.
6
+ // Copyright (c) ATO Gear. All rights reserved.
7
+ //
8
+
9
+ @import UIKit;
10
+ #import "RNBackgroundTimer.h"
11
+
12
+ @implementation RNBackgroundTimer {
13
+ UIBackgroundTaskIdentifier bgTask;
14
+ int delay;
15
+ }
16
+
17
+ RCT_EXPORT_MODULE()
18
+
19
+ - (NSArray<NSString *> *)supportedEvents { return @[@"backgroundTimer", @"backgroundTimer.timeout"]; }
20
+
21
+ - (void) _start
22
+ {
23
+ [self _stop];
24
+ bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithName:@"RNBackgroundTimer" expirationHandler:^{
25
+ // Clean up any unfinished task business by marking where you
26
+ // stopped or ending the task outright.
27
+ [[UIApplication sharedApplication] endBackgroundTask:bgTask];
28
+ bgTask = UIBackgroundTaskInvalid;
29
+ }];
30
+
31
+ UIBackgroundTaskIdentifier thisBgTask = bgTask;
32
+ dispatch_async(dispatch_get_main_queue(), ^{
33
+ if ([self bridge] != nil && thisBgTask == bgTask) {
34
+ [self sendEventWithName:@"backgroundTimer" body:[NSNumber numberWithInt:(int)thisBgTask]];
35
+ }
36
+ });
37
+ }
38
+
39
+ - (void) _stop
40
+ {
41
+ if (bgTask != UIBackgroundTaskInvalid) {
42
+ [[UIApplication sharedApplication] endBackgroundTask:bgTask];
43
+ bgTask = UIBackgroundTaskInvalid;
44
+ }
45
+ }
46
+
47
+ RCT_EXPORT_METHOD(start:(double)_delay
48
+ resolver:(RCTPromiseResolveBlock)resolve
49
+ rejecter:(RCTPromiseRejectBlock)reject)
50
+ {
51
+ delay = _delay;
52
+ [self _start];
53
+ resolve([NSNumber numberWithBool:YES]);
54
+ }
55
+
56
+ RCT_EXPORT_METHOD(stop:(RCTPromiseResolveBlock)resolve
57
+ rejecter:(RCTPromiseRejectBlock)reject)
58
+ {
59
+ [self _stop];
60
+ resolve([NSNumber numberWithBool:YES]);
61
+ }
62
+
63
+ RCT_EXPORT_METHOD(setTimeout:(int)timeoutId
64
+ timeout:(double)timeout
65
+ resolver:(RCTPromiseResolveBlock)resolve
66
+ rejecter:(RCTPromiseRejectBlock)reject)
67
+ {
68
+ __block UIBackgroundTaskIdentifier task = [[UIApplication sharedApplication] beginBackgroundTaskWithName:@"RNBackgroundTimer" expirationHandler:^{
69
+ [[UIApplication sharedApplication] endBackgroundTask:task];
70
+ }];
71
+
72
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, timeout * NSEC_PER_MSEC), dispatch_get_main_queue(), ^{
73
+ if ([self bridge] != nil) {
74
+ [self sendEventWithName:@"backgroundTimer.timeout" body:[NSNumber numberWithInt:timeoutId]];
75
+ }
76
+ [[UIApplication sharedApplication] endBackgroundTask:task];
77
+ });
78
+ resolve([NSNumber numberWithBool:YES]);
79
+ }
80
+
81
+ /*
82
+ RCT_EXPORT_METHOD(clearTimeout:(int)timeoutId
83
+ resolver:(RCTPromiseResolveBlock)resolve
84
+ rejecter:(RCTPromiseRejectBlock)reject)
85
+ {
86
+ // Do nothing :)
87
+ // timeout will be ignored in javascript anyway :)
88
+ }*/
89
+
90
+ @end
@@ -0,0 +1,347 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 6419269B1ECB4266009CF731 /* RNBackgroundTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNBackgroundTimer.m */; };
11
+ B3E7B58A1CC2AC0600A0062D /* RNBackgroundTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNBackgroundTimer.m */; };
12
+ /* End PBXBuildFile section */
13
+
14
+ /* Begin PBXCopyFilesBuildPhase section */
15
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
16
+ isa = PBXCopyFilesBuildPhase;
17
+ buildActionMask = 2147483647;
18
+ dstPath = "include/$(PRODUCT_NAME)";
19
+ dstSubfolderSpec = 16;
20
+ files = (
21
+ );
22
+ runOnlyForDeploymentPostprocessing = 0;
23
+ };
24
+ 641926901ECB4257009CF731 /* CopyFiles */ = {
25
+ isa = PBXCopyFilesBuildPhase;
26
+ buildActionMask = 2147483647;
27
+ dstPath = "include/$(PRODUCT_NAME)";
28
+ dstSubfolderSpec = 16;
29
+ files = (
30
+ );
31
+ runOnlyForDeploymentPostprocessing = 0;
32
+ };
33
+ /* End PBXCopyFilesBuildPhase section */
34
+
35
+ /* Begin PBXFileReference section */
36
+ 134814201AA4EA6300B7C361 /* libRNBackgroundTimer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNBackgroundTimer.a; sourceTree = BUILT_PRODUCTS_DIR; };
37
+ 641926921ECB4257009CF731 /* libRNBackgroundTimer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNBackgroundTimer.a; sourceTree = BUILT_PRODUCTS_DIR; };
38
+ B3E7B5881CC2AC0600A0062D /* RNBackgroundTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNBackgroundTimer.h; sourceTree = "<group>"; };
39
+ B3E7B5891CC2AC0600A0062D /* RNBackgroundTimer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNBackgroundTimer.m; sourceTree = "<group>"; };
40
+ /* End PBXFileReference section */
41
+
42
+ /* Begin PBXFrameworksBuildPhase section */
43
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
44
+ isa = PBXFrameworksBuildPhase;
45
+ buildActionMask = 2147483647;
46
+ files = (
47
+ );
48
+ runOnlyForDeploymentPostprocessing = 0;
49
+ };
50
+ 6419268F1ECB4257009CF731 /* Frameworks */ = {
51
+ isa = PBXFrameworksBuildPhase;
52
+ buildActionMask = 2147483647;
53
+ files = (
54
+ );
55
+ runOnlyForDeploymentPostprocessing = 0;
56
+ };
57
+ /* End PBXFrameworksBuildPhase section */
58
+
59
+ /* Begin PBXGroup section */
60
+ 134814211AA4EA7D00B7C361 /* Products */ = {
61
+ isa = PBXGroup;
62
+ children = (
63
+ 134814201AA4EA6300B7C361 /* libRNBackgroundTimer.a */,
64
+ );
65
+ name = Products;
66
+ sourceTree = "<group>";
67
+ };
68
+ 58B511D21A9E6C8500147676 = {
69
+ isa = PBXGroup;
70
+ children = (
71
+ B3E7B5881CC2AC0600A0062D /* RNBackgroundTimer.h */,
72
+ B3E7B5891CC2AC0600A0062D /* RNBackgroundTimer.m */,
73
+ 134814211AA4EA7D00B7C361 /* Products */,
74
+ 641926921ECB4257009CF731 /* libRNBackgroundTimer.a */,
75
+ );
76
+ sourceTree = "<group>";
77
+ };
78
+ /* End PBXGroup section */
79
+
80
+ /* Begin PBXNativeTarget section */
81
+ 58B511DA1A9E6C8500147676 /* RNBackgroundTimer */ = {
82
+ isa = PBXNativeTarget;
83
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNBackgroundTimer" */;
84
+ buildPhases = (
85
+ 58B511D71A9E6C8500147676 /* Sources */,
86
+ 58B511D81A9E6C8500147676 /* Frameworks */,
87
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
88
+ );
89
+ buildRules = (
90
+ );
91
+ dependencies = (
92
+ );
93
+ name = RNBackgroundTimer;
94
+ productName = RCTDataManager;
95
+ productReference = 134814201AA4EA6300B7C361 /* libRNBackgroundTimer.a */;
96
+ productType = "com.apple.product-type.library.static";
97
+ };
98
+ 641926911ECB4257009CF731 /* RNBackgroundTimer-tvOS */ = {
99
+ isa = PBXNativeTarget;
100
+ buildConfigurationList = 6419269A1ECB4257009CF731 /* Build configuration list for PBXNativeTarget "RNBackgroundTimer-tvOS" */;
101
+ buildPhases = (
102
+ 6419268E1ECB4257009CF731 /* Sources */,
103
+ 6419268F1ECB4257009CF731 /* Frameworks */,
104
+ 641926901ECB4257009CF731 /* CopyFiles */,
105
+ );
106
+ buildRules = (
107
+ );
108
+ dependencies = (
109
+ );
110
+ name = "RNBackgroundTimer-tvOS";
111
+ productName = "RNBackgroundTimer-tvOS";
112
+ productReference = 641926921ECB4257009CF731 /* libRNBackgroundTimer.a */;
113
+ productType = "com.apple.product-type.library.static";
114
+ };
115
+ /* End PBXNativeTarget section */
116
+
117
+ /* Begin PBXProject section */
118
+ 58B511D31A9E6C8500147676 /* Project object */ = {
119
+ isa = PBXProject;
120
+ attributes = {
121
+ LastUpgradeCheck = 0610;
122
+ ORGANIZATIONNAME = Facebook;
123
+ TargetAttributes = {
124
+ 58B511DA1A9E6C8500147676 = {
125
+ CreatedOnToolsVersion = 6.1.1;
126
+ };
127
+ 641926911ECB4257009CF731 = {
128
+ CreatedOnToolsVersion = 8.3.2;
129
+ ProvisioningStyle = Automatic;
130
+ };
131
+ };
132
+ };
133
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNBackgroundTimer" */;
134
+ compatibilityVersion = "Xcode 3.2";
135
+ developmentRegion = English;
136
+ hasScannedForEncodings = 0;
137
+ knownRegions = (
138
+ en,
139
+ );
140
+ mainGroup = 58B511D21A9E6C8500147676;
141
+ productRefGroup = 58B511D21A9E6C8500147676;
142
+ projectDirPath = "";
143
+ projectRoot = "";
144
+ targets = (
145
+ 58B511DA1A9E6C8500147676 /* RNBackgroundTimer */,
146
+ 641926911ECB4257009CF731 /* RNBackgroundTimer-tvOS */,
147
+ );
148
+ };
149
+ /* End PBXProject section */
150
+
151
+ /* Begin PBXSourcesBuildPhase section */
152
+ 58B511D71A9E6C8500147676 /* Sources */ = {
153
+ isa = PBXSourcesBuildPhase;
154
+ buildActionMask = 2147483647;
155
+ files = (
156
+ B3E7B58A1CC2AC0600A0062D /* RNBackgroundTimer.m in Sources */,
157
+ );
158
+ runOnlyForDeploymentPostprocessing = 0;
159
+ };
160
+ 6419268E1ECB4257009CF731 /* Sources */ = {
161
+ isa = PBXSourcesBuildPhase;
162
+ buildActionMask = 2147483647;
163
+ files = (
164
+ 6419269B1ECB4266009CF731 /* RNBackgroundTimer.m in Sources */,
165
+ );
166
+ runOnlyForDeploymentPostprocessing = 0;
167
+ };
168
+ /* End PBXSourcesBuildPhase section */
169
+
170
+ /* Begin XCBuildConfiguration section */
171
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
172
+ isa = XCBuildConfiguration;
173
+ buildSettings = {
174
+ ALWAYS_SEARCH_USER_PATHS = NO;
175
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
176
+ CLANG_CXX_LIBRARY = "libc++";
177
+ CLANG_ENABLE_MODULES = YES;
178
+ CLANG_ENABLE_OBJC_ARC = YES;
179
+ CLANG_WARN_BOOL_CONVERSION = YES;
180
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
181
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
182
+ CLANG_WARN_EMPTY_BODY = YES;
183
+ CLANG_WARN_ENUM_CONVERSION = YES;
184
+ CLANG_WARN_INT_CONVERSION = YES;
185
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
186
+ CLANG_WARN_UNREACHABLE_CODE = YES;
187
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
188
+ COPY_PHASE_STRIP = NO;
189
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
190
+ GCC_C_LANGUAGE_STANDARD = gnu99;
191
+ GCC_DYNAMIC_NO_PIC = NO;
192
+ GCC_OPTIMIZATION_LEVEL = 0;
193
+ GCC_PREPROCESSOR_DEFINITIONS = (
194
+ "DEBUG=1",
195
+ "$(inherited)",
196
+ );
197
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
198
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
199
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
200
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
201
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
202
+ GCC_WARN_UNUSED_FUNCTION = YES;
203
+ GCC_WARN_UNUSED_VARIABLE = YES;
204
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
205
+ MTL_ENABLE_DEBUG_INFO = YES;
206
+ ONLY_ACTIVE_ARCH = YES;
207
+ SDKROOT = iphoneos;
208
+ };
209
+ name = Debug;
210
+ };
211
+ 58B511EE1A9E6C8500147676 /* Release */ = {
212
+ isa = XCBuildConfiguration;
213
+ buildSettings = {
214
+ ALWAYS_SEARCH_USER_PATHS = NO;
215
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
216
+ CLANG_CXX_LIBRARY = "libc++";
217
+ CLANG_ENABLE_MODULES = YES;
218
+ CLANG_ENABLE_OBJC_ARC = YES;
219
+ CLANG_WARN_BOOL_CONVERSION = YES;
220
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
221
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
222
+ CLANG_WARN_EMPTY_BODY = YES;
223
+ CLANG_WARN_ENUM_CONVERSION = YES;
224
+ CLANG_WARN_INT_CONVERSION = YES;
225
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
226
+ CLANG_WARN_UNREACHABLE_CODE = YES;
227
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
228
+ COPY_PHASE_STRIP = YES;
229
+ ENABLE_NS_ASSERTIONS = NO;
230
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
231
+ GCC_C_LANGUAGE_STANDARD = gnu99;
232
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
233
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
234
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
235
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
236
+ GCC_WARN_UNUSED_FUNCTION = YES;
237
+ GCC_WARN_UNUSED_VARIABLE = YES;
238
+ IPHONEOS_DEPLOYMENT_TARGET = 7.0;
239
+ MTL_ENABLE_DEBUG_INFO = NO;
240
+ SDKROOT = iphoneos;
241
+ VALIDATE_PRODUCT = YES;
242
+ };
243
+ name = Release;
244
+ };
245
+ 58B511F01A9E6C8500147676 /* Debug */ = {
246
+ isa = XCBuildConfiguration;
247
+ buildSettings = {
248
+ HEADER_SEARCH_PATHS = (
249
+ "$(inherited)",
250
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
251
+ "$(SRCROOT)/../../../React/**",
252
+ "$(SRCROOT)/../../react-native/React/**",
253
+ );
254
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
255
+ OTHER_LDFLAGS = "-ObjC";
256
+ PRODUCT_NAME = RNBackgroundTimer;
257
+ SKIP_INSTALL = YES;
258
+ };
259
+ name = Debug;
260
+ };
261
+ 58B511F11A9E6C8500147676 /* Release */ = {
262
+ isa = XCBuildConfiguration;
263
+ buildSettings = {
264
+ HEADER_SEARCH_PATHS = (
265
+ "$(inherited)",
266
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
267
+ "$(SRCROOT)/../../../React/**",
268
+ "$(SRCROOT)/../../react-native/React/**",
269
+ );
270
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
271
+ OTHER_LDFLAGS = "-ObjC";
272
+ PRODUCT_NAME = RNBackgroundTimer;
273
+ SKIP_INSTALL = YES;
274
+ };
275
+ name = Release;
276
+ };
277
+ 641926981ECB4257009CF731 /* Debug */ = {
278
+ isa = XCBuildConfiguration;
279
+ buildSettings = {
280
+ CLANG_ANALYZER_NONNULL = YES;
281
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
282
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
283
+ CLANG_WARN_INFINITE_RECURSION = YES;
284
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
285
+ DEBUG_INFORMATION_FORMAT = dwarf;
286
+ ENABLE_TESTABILITY = YES;
287
+ GCC_NO_COMMON_BLOCKS = YES;
288
+ OTHER_LDFLAGS = "-ObjC";
289
+ PRODUCT_NAME = RNBackgroundTimer;
290
+ SDKROOT = appletvos;
291
+ SKIP_INSTALL = YES;
292
+ TVOS_DEPLOYMENT_TARGET = 10.2;
293
+ };
294
+ name = Debug;
295
+ };
296
+ 641926991ECB4257009CF731 /* Release */ = {
297
+ isa = XCBuildConfiguration;
298
+ buildSettings = {
299
+ CLANG_ANALYZER_NONNULL = YES;
300
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
301
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
302
+ CLANG_WARN_INFINITE_RECURSION = YES;
303
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
304
+ COPY_PHASE_STRIP = NO;
305
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
306
+ GCC_NO_COMMON_BLOCKS = YES;
307
+ OTHER_LDFLAGS = "-ObjC";
308
+ PRODUCT_NAME = RNBackgroundTimer;
309
+ SDKROOT = appletvos;
310
+ SKIP_INSTALL = YES;
311
+ TVOS_DEPLOYMENT_TARGET = 10.2;
312
+ };
313
+ name = Release;
314
+ };
315
+ /* End XCBuildConfiguration section */
316
+
317
+ /* Begin XCConfigurationList section */
318
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNBackgroundTimer" */ = {
319
+ isa = XCConfigurationList;
320
+ buildConfigurations = (
321
+ 58B511ED1A9E6C8500147676 /* Debug */,
322
+ 58B511EE1A9E6C8500147676 /* Release */,
323
+ );
324
+ defaultConfigurationIsVisible = 0;
325
+ defaultConfigurationName = Release;
326
+ };
327
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNBackgroundTimer" */ = {
328
+ isa = XCConfigurationList;
329
+ buildConfigurations = (
330
+ 58B511F01A9E6C8500147676 /* Debug */,
331
+ 58B511F11A9E6C8500147676 /* Release */,
332
+ );
333
+ defaultConfigurationIsVisible = 0;
334
+ defaultConfigurationName = Release;
335
+ };
336
+ 6419269A1ECB4257009CF731 /* Build configuration list for PBXNativeTarget "RNBackgroundTimer-tvOS" */ = {
337
+ isa = XCConfigurationList;
338
+ buildConfigurations = (
339
+ 641926981ECB4257009CF731 /* Debug */,
340
+ 641926991ECB4257009CF731 /* Release */,
341
+ );
342
+ defaultConfigurationIsVisible = 0;
343
+ };
344
+ /* End XCConfigurationList section */
345
+ };
346
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
347
+ }
@@ -0,0 +1,19 @@
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>RNBackgroundTimer-tvOS.xcscheme</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>42</integer>
11
+ </dict>
12
+ <key>RNBackgroundTimer.xcscheme</key>
13
+ <dict>
14
+ <key>orderHint</key>
15
+ <integer>41</integer>
16
+ </dict>
17
+ </dict>
18
+ </dict>
19
+ </plist>