@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.
- package/.circleci/config.yml +37 -0
- package/.eslintignore +1 -0
- package/.eslintrc.js +8 -0
- package/.prettierrc +4 -0
- package/COMMITTERS.md +10 -0
- package/LICENSE +21 -0
- package/OAT.xml +58 -0
- package/README.OpenSource +11 -0
- package/README.md +13 -0
- package/android/build.gradle +20 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/com/ocetnik/timer/BackgroundTimerModule.java +97 -0
- package/android/src/main/java/com/ocetnik/timer/BackgroundTimerPackage.java +34 -0
- package/harmony/background_timer/Index.ets +9 -0
- package/harmony/background_timer/build-profile.json5 +12 -0
- package/harmony/background_timer/hvigorfile.ts +6 -0
- package/harmony/background_timer/oh-package.json5 +11 -0
- package/harmony/background_timer/src/main/cpp/CMakeLists.txt +13 -0
- package/harmony/background_timer/src/main/cpp/ReactNativeOhosReactNativeBackgroundTimerPackage.h +15 -0
- package/harmony/background_timer/src/main/cpp/generated/RNOH/generated/BaseReactNativeBackgroundTimerPackage.h +75 -0
- package/harmony/background_timer/src/main/cpp/generated/RNOH/generated/turbo_modules/BackgroundTimerTurboModule.cpp +21 -0
- package/harmony/background_timer/src/main/cpp/generated/RNOH/generated/turbo_modules/BackgroundTimerTurboModule.h +16 -0
- package/harmony/background_timer/src/main/ets/BackgroundTimerPackage.ts +30 -0
- package/harmony/background_timer/src/main/ets/BackgroundTimerTurboModule.ts +36 -0
- package/harmony/background_timer/src/main/ets/BackgroundTimerWorker.ts +17 -0
- package/harmony/background_timer/src/main/ets/generated/components/ts.ts +5 -0
- package/harmony/background_timer/src/main/ets/generated/index.ets +5 -0
- package/harmony/background_timer/src/main/ets/generated/ts.ts +6 -0
- package/harmony/background_timer/src/main/ets/generated/turboModules/BackgroundTimerTurboModule.ts +18 -0
- package/harmony/background_timer/src/main/ets/generated/turboModules/ts.ts +5 -0
- package/harmony/background_timer/src/main/ets/ts.ts +12 -0
- package/harmony/background_timer/src/main/module.json5 +11 -0
- package/harmony/background_timer/src/main/resources/base/element/string.json +8 -0
- package/harmony/background_timer/src/main/resources/en_US/element/string.json +8 -0
- package/harmony/background_timer/src/main/resources/zh_CN/element/string.json +8 -0
- package/harmony/background_timer/ts.ts +10 -0
- package/harmony/background_timer.har +0 -0
- package/index.js +111 -0
- package/ios/RNBackgroundTimer.h +21 -0
- package/ios/RNBackgroundTimer.m +90 -0
- package/ios/RNBackgroundTimer.xcodeproj/project.pbxproj +347 -0
- package/ios/RNBackgroundTimer.xcodeproj/xcuserdata/jlexyc.xcuserdatad/xcschemes/xcschememanagement.plist +19 -0
- package/package.json +65 -0
- package/react-native-background-timer.podspec +24 -0
- package/src/RNBackgroundTimerSpec.ts +18 -0
|
@@ -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,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>
|