pushwoosh-react-native-plugin 6.1.35 → 6.1.36
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/.github/ISSUE_TEMPLATE/bug_report.yml +1 -0
- package/example/LICENSE +21 -0
- package/example/README.md +58 -0
- package/example/Screenshots/Android_1.png +0 -0
- package/example/Screenshots/Android_2.png +0 -0
- package/example/Screenshots/iOS_1.png +0 -0
- package/example/Screenshots/iOS_2.png +0 -0
- package/example/demoapp/.bundle/config +2 -0
- package/example/demoapp/.eslintrc.js +4 -0
- package/example/demoapp/.prettierrc.js +7 -0
- package/example/demoapp/.watchmanconfig +1 -0
- package/example/demoapp/Actions.js +302 -0
- package/example/demoapp/App.tsx +118 -0
- package/example/demoapp/Gemfile +9 -0
- package/example/demoapp/Gemfile.lock +105 -0
- package/example/demoapp/README.md +79 -0
- package/example/demoapp/Settings.js +126 -0
- package/example/demoapp/__tests__/App.test.tsx +17 -0
- package/example/demoapp/android/app/build.gradle +118 -0
- package/example/demoapp/android/app/debug.keystore +0 -0
- package/example/demoapp/android/app/google-services.json +979 -0
- package/example/demoapp/android/app/proguard-rules.pro +10 -0
- package/example/demoapp/android/app/src/debug/AndroidManifest.xml +9 -0
- package/example/demoapp/android/app/src/main/AndroidManifest.xml +25 -0
- package/example/demoapp/android/app/src/main/java/com/demoapp/MainActivity.kt +22 -0
- package/example/demoapp/android/app/src/main/java/com/demoapp/MainApplication.kt +43 -0
- package/example/demoapp/android/app/src/main/res/drawable/rn_edit_text_material.xml +37 -0
- package/example/demoapp/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/example/demoapp/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/example/demoapp/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/example/demoapp/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/example/demoapp/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/example/demoapp/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/example/demoapp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/example/demoapp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/example/demoapp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/example/demoapp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/example/demoapp/android/app/src/main/res/values/strings.xml +3 -0
- package/example/demoapp/android/app/src/main/res/values/styles.xml +9 -0
- package/example/demoapp/android/build.gradle +21 -0
- package/example/demoapp/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/example/demoapp/android/gradle/wrapper/gradle-wrapper.properties +7 -0
- package/example/demoapp/android/gradle.properties +41 -0
- package/example/demoapp/android/gradlew +249 -0
- package/example/demoapp/android/gradlew.bat +92 -0
- package/example/demoapp/android/settings.gradle +4 -0
- package/example/demoapp/app.json +4 -0
- package/example/demoapp/babel.config.js +3 -0
- package/example/demoapp/index.js +46 -0
- package/example/demoapp/ios/.xcode.env +11 -0
- package/example/demoapp/ios/NotificationService/Info.plist +15 -0
- package/example/demoapp/ios/NotificationService/NotificationService.entitlements +8 -0
- package/example/demoapp/ios/NotificationService/NotificationService.swift +38 -0
- package/example/demoapp/ios/Podfile +40 -0
- package/example/demoapp/ios/demoapp/AppDelegate.h +6 -0
- package/example/demoapp/ios/demoapp/AppDelegate.mm +31 -0
- package/example/demoapp/ios/demoapp/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
- package/example/demoapp/ios/demoapp/Images.xcassets/Contents.json +6 -0
- package/example/demoapp/ios/demoapp/Info.plist +57 -0
- package/example/demoapp/ios/demoapp/LaunchScreen.storyboard +47 -0
- package/example/demoapp/ios/demoapp/PrivacyInfo.xcprivacy +37 -0
- package/example/demoapp/ios/demoapp/demoapp.entitlements +10 -0
- package/example/demoapp/ios/demoapp/main.m +10 -0
- package/example/demoapp/ios/demoapp.xcodeproj/project.pbxproj +937 -0
- package/example/demoapp/ios/demoapp.xcodeproj/xcshareddata/xcschemes/demoapp.xcscheme +88 -0
- package/example/demoapp/ios/demoapp.xcworkspace/contents.xcworkspacedata +10 -0
- package/example/demoapp/ios/demoapp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/example/demoapp/ios/demoappTests/Info.plist +24 -0
- package/example/demoapp/ios/demoappTests/demoappTests.m +66 -0
- package/example/demoapp/jest.config.js +3 -0
- package/example/demoapp/logos.png +0 -0
- package/example/demoapp/metro.config.js +20 -0
- package/example/demoapp/package.json +42 -0
- package/example/demoapp/tsconfig.json +3 -0
- package/example/demoapp/yarn.lock +7153 -0
- package/package.json +1 -1
- package/pushwoosh-react-native-plugin.podspec +1 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @format
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
// import App from './App';
|
|
6
|
+
import {name as appName} from './app.json';
|
|
7
|
+
import {
|
|
8
|
+
AppRegistry,
|
|
9
|
+
DeviceEventEmitter} from 'react-native';
|
|
10
|
+
import { NavigationContainer } from '@react-navigation/native';
|
|
11
|
+
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
|
|
12
|
+
import { enableScreens } from 'react-native-screens';
|
|
13
|
+
import Actions from './Actions';
|
|
14
|
+
import Settings from './Settings';
|
|
15
|
+
|
|
16
|
+
const Tab = createBottomTabNavigator();
|
|
17
|
+
|
|
18
|
+
const App = () => {
|
|
19
|
+
return (
|
|
20
|
+
<NavigationContainer>
|
|
21
|
+
<Tab.Navigator>
|
|
22
|
+
<Tab.Screen name="Actions" component={Actions} options={{
|
|
23
|
+
title: 'PUSHWOOSH DEMO',
|
|
24
|
+
tabBarLabel: 'Actions',
|
|
25
|
+
}} />
|
|
26
|
+
<Tab.Screen name="Settings" component={Settings} options={{ title: 'PUSHWOOSH DEMO', tabBarLabel: 'Settings' }} />
|
|
27
|
+
</Tab.Navigator>
|
|
28
|
+
</NavigationContainer>
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
AppRegistry.registerComponent(appName, () => App);
|
|
33
|
+
|
|
34
|
+
// this event is fired when the push is received in the app
|
|
35
|
+
DeviceEventEmitter.addListener('pushReceived', (e) => {
|
|
36
|
+
console.warn("pushReceived: " + JSON.stringify(e));
|
|
37
|
+
// shows a push is received. Implement passive reaction to a push, such as UI update or data download.
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// this event is fired when user clicks on notification
|
|
41
|
+
DeviceEventEmitter.addListener('pushOpened', (e) => {
|
|
42
|
+
console.warn("pushOpened: " + JSON.stringify(e));
|
|
43
|
+
// shows a user tapped the notification. Implement user interaction, such as showing push details
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
enableScreens();
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# This `.xcode.env` file is versioned and is used to source the environment
|
|
2
|
+
# used when running script phases inside Xcode.
|
|
3
|
+
# To customize your local environment, you can create an `.xcode.env.local`
|
|
4
|
+
# file that is not versioned.
|
|
5
|
+
|
|
6
|
+
# NODE_BINARY variable contains the PATH to the node executable.
|
|
7
|
+
#
|
|
8
|
+
# Customize the NODE_BINARY variable here.
|
|
9
|
+
# For example, to use nvm with brew, add the following line
|
|
10
|
+
# . "$(brew --prefix nvm)/nvm.sh" --no-use
|
|
11
|
+
export NODE_BINARY=$(command -v node)
|
|
@@ -0,0 +1,15 @@
|
|
|
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>PW_APP_GROUPS_NAME</key>
|
|
6
|
+
<string></string>
|
|
7
|
+
<key>NSExtension</key>
|
|
8
|
+
<dict>
|
|
9
|
+
<key>NSExtensionPointIdentifier</key>
|
|
10
|
+
<string>com.apple.usernotifications.service</string>
|
|
11
|
+
<key>NSExtensionPrincipalClass</key>
|
|
12
|
+
<string>$(PRODUCT_MODULE_NAME).NotificationService</string>
|
|
13
|
+
</dict>
|
|
14
|
+
</dict>
|
|
15
|
+
</plist>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//
|
|
2
|
+
// NotificationService.swift
|
|
3
|
+
// NotificationService
|
|
4
|
+
//
|
|
5
|
+
// Created by Andrew Kis on 15.5.24..
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import UserNotifications
|
|
9
|
+
import PushwooshFramework
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
Setting up Badges for Flutter
|
|
13
|
+
docs: https://docs.pushwoosh.com/platform-docs/pushwoosh-sdk/cross-platform-frameworks/react-native/integrating-react-native-plugin
|
|
14
|
+
|
|
15
|
+
1. Add App Groups capability to both Runner and NotificationService targets and add a new group with the same name for both targets
|
|
16
|
+
2. Add PW_APP_GROUPS_NAME info.plist flag to both Main Target and NotificationService targets with the group name as its string value
|
|
17
|
+
7. Add code
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
class NotificationService: UNNotificationServiceExtension {
|
|
21
|
+
|
|
22
|
+
var contentHandler: ((UNNotificationContent) -> Void)?
|
|
23
|
+
var bestAttemptContent: UNMutableNotificationContent?
|
|
24
|
+
|
|
25
|
+
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
|
|
26
|
+
|
|
27
|
+
PWNotificationExtensionManager.shared().handle(request, contentHandler: contentHandler)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
override func serviceExtensionTimeWillExpire() {
|
|
31
|
+
// Called just before the extension will be terminated by the system.
|
|
32
|
+
// Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
|
|
33
|
+
if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent {
|
|
34
|
+
contentHandler(bestAttemptContent)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Resolve react_native_pods.rb with node to allow for hoisting
|
|
2
|
+
require Pod::Executable.execute_command('node', ['-p',
|
|
3
|
+
'require.resolve(
|
|
4
|
+
"react-native/scripts/react_native_pods.rb",
|
|
5
|
+
{paths: [process.argv[1]]},
|
|
6
|
+
)', __dir__]).strip
|
|
7
|
+
|
|
8
|
+
platform :ios, min_ios_version_supported
|
|
9
|
+
prepare_react_native_project!
|
|
10
|
+
|
|
11
|
+
linkage = ENV['USE_FRAMEWORKS']
|
|
12
|
+
if linkage != nil
|
|
13
|
+
Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
|
|
14
|
+
use_frameworks! :linkage => linkage.to_sym
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
target 'demoapp' do
|
|
18
|
+
config = use_native_modules!
|
|
19
|
+
|
|
20
|
+
use_react_native!(
|
|
21
|
+
:path => config[:reactNativePath],
|
|
22
|
+
# An absolute path to your application root.
|
|
23
|
+
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
target 'demoappTests' do
|
|
27
|
+
inherit! :complete
|
|
28
|
+
# Pods for testing
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
post_install do |installer|
|
|
32
|
+
# https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
|
|
33
|
+
react_native_post_install(
|
|
34
|
+
installer,
|
|
35
|
+
config[:reactNativePath],
|
|
36
|
+
:mac_catalyst_enabled => false,
|
|
37
|
+
# :ccache_enabled => true
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#import "AppDelegate.h"
|
|
2
|
+
|
|
3
|
+
#import <React/RCTBundleURLProvider.h>
|
|
4
|
+
|
|
5
|
+
@implementation AppDelegate
|
|
6
|
+
|
|
7
|
+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
|
8
|
+
{
|
|
9
|
+
self.moduleName = @"demoapp";
|
|
10
|
+
// You can add your custom initial props in the dictionary below.
|
|
11
|
+
// They will be passed down to the ViewController used by React Native.
|
|
12
|
+
self.initialProps = @{};
|
|
13
|
+
|
|
14
|
+
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
|
18
|
+
{
|
|
19
|
+
return [self bundleURL];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
- (NSURL *)bundleURL
|
|
23
|
+
{
|
|
24
|
+
#if DEBUG
|
|
25
|
+
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
|
|
26
|
+
#else
|
|
27
|
+
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
|
|
28
|
+
#endif
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"images" : [
|
|
3
|
+
{
|
|
4
|
+
"idiom" : "iphone",
|
|
5
|
+
"scale" : "2x",
|
|
6
|
+
"size" : "20x20"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"idiom" : "iphone",
|
|
10
|
+
"scale" : "3x",
|
|
11
|
+
"size" : "20x20"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"idiom" : "iphone",
|
|
15
|
+
"scale" : "2x",
|
|
16
|
+
"size" : "29x29"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"idiom" : "iphone",
|
|
20
|
+
"scale" : "3x",
|
|
21
|
+
"size" : "29x29"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"idiom" : "iphone",
|
|
25
|
+
"scale" : "2x",
|
|
26
|
+
"size" : "40x40"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"idiom" : "iphone",
|
|
30
|
+
"scale" : "3x",
|
|
31
|
+
"size" : "40x40"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"idiom" : "iphone",
|
|
35
|
+
"scale" : "2x",
|
|
36
|
+
"size" : "60x60"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"idiom" : "iphone",
|
|
40
|
+
"scale" : "3x",
|
|
41
|
+
"size" : "60x60"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"idiom" : "ios-marketing",
|
|
45
|
+
"scale" : "1x",
|
|
46
|
+
"size" : "1024x1024"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"info" : {
|
|
50
|
+
"author" : "xcode",
|
|
51
|
+
"version" : 1
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
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>PW_APP_GROUPS_NAME</key>
|
|
6
|
+
<string></string>
|
|
7
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
8
|
+
<string>en</string>
|
|
9
|
+
<key>CFBundleDisplayName</key>
|
|
10
|
+
<string>demoapp</string>
|
|
11
|
+
<key>CFBundleExecutable</key>
|
|
12
|
+
<string>$(EXECUTABLE_NAME)</string>
|
|
13
|
+
<key>CFBundleIdentifier</key>
|
|
14
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
15
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
16
|
+
<string>6.0</string>
|
|
17
|
+
<key>CFBundleName</key>
|
|
18
|
+
<string>$(PRODUCT_NAME)</string>
|
|
19
|
+
<key>CFBundlePackageType</key>
|
|
20
|
+
<string>APPL</string>
|
|
21
|
+
<key>CFBundleShortVersionString</key>
|
|
22
|
+
<string>$(MARKETING_VERSION)</string>
|
|
23
|
+
<key>CFBundleSignature</key>
|
|
24
|
+
<string>????</string>
|
|
25
|
+
<key>CFBundleVersion</key>
|
|
26
|
+
<string>$(CURRENT_PROJECT_VERSION)</string>
|
|
27
|
+
<key>LSRequiresIPhoneOS</key>
|
|
28
|
+
<true/>
|
|
29
|
+
<key>NSAppTransportSecurity</key>
|
|
30
|
+
<dict>
|
|
31
|
+
<key>NSAllowsArbitraryLoads</key>
|
|
32
|
+
<false/>
|
|
33
|
+
<key>NSAllowsLocalNetworking</key>
|
|
34
|
+
<true/>
|
|
35
|
+
</dict>
|
|
36
|
+
<key>NSLocationWhenInUseUsageDescription</key>
|
|
37
|
+
<string></string>
|
|
38
|
+
<key>UIBackgroundModes</key>
|
|
39
|
+
<array>
|
|
40
|
+
<string>remote-notification</string>
|
|
41
|
+
</array>
|
|
42
|
+
<key>UILaunchStoryboardName</key>
|
|
43
|
+
<string>LaunchScreen</string>
|
|
44
|
+
<key>UIRequiredDeviceCapabilities</key>
|
|
45
|
+
<array>
|
|
46
|
+
<string>arm64</string>
|
|
47
|
+
</array>
|
|
48
|
+
<key>UISupportedInterfaceOrientations</key>
|
|
49
|
+
<array>
|
|
50
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
51
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
52
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
53
|
+
</array>
|
|
54
|
+
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
55
|
+
<false/>
|
|
56
|
+
</dict>
|
|
57
|
+
</plist>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
|
3
|
+
<device id="retina4_7" orientation="portrait" appearance="light"/>
|
|
4
|
+
<dependencies>
|
|
5
|
+
<deployment identifier="iOS"/>
|
|
6
|
+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
|
|
7
|
+
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
|
8
|
+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
|
9
|
+
</dependencies>
|
|
10
|
+
<scenes>
|
|
11
|
+
<!--View Controller-->
|
|
12
|
+
<scene sceneID="EHf-IW-A2E">
|
|
13
|
+
<objects>
|
|
14
|
+
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
|
15
|
+
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
|
16
|
+
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
|
17
|
+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
18
|
+
<subviews>
|
|
19
|
+
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="demoapp" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
|
|
20
|
+
<rect key="frame" x="0.0" y="202" width="375" height="43"/>
|
|
21
|
+
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
|
|
22
|
+
<nil key="highlightedColor"/>
|
|
23
|
+
</label>
|
|
24
|
+
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Powered by React Native" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="MN2-I3-ftu">
|
|
25
|
+
<rect key="frame" x="0.0" y="626" width="375" height="21"/>
|
|
26
|
+
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
|
27
|
+
<nil key="highlightedColor"/>
|
|
28
|
+
</label>
|
|
29
|
+
</subviews>
|
|
30
|
+
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
|
31
|
+
<constraints>
|
|
32
|
+
<constraint firstItem="Bcu-3y-fUS" firstAttribute="bottom" secondItem="MN2-I3-ftu" secondAttribute="bottom" constant="20" id="OZV-Vh-mqD"/>
|
|
33
|
+
<constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
|
|
34
|
+
<constraint firstItem="MN2-I3-ftu" firstAttribute="centerX" secondItem="Bcu-3y-fUS" secondAttribute="centerX" id="akx-eg-2ui"/>
|
|
35
|
+
<constraint firstItem="MN2-I3-ftu" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" id="i1E-0Y-4RG"/>
|
|
36
|
+
<constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
|
|
37
|
+
<constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" symbolic="YES" id="x7j-FC-K8j"/>
|
|
38
|
+
</constraints>
|
|
39
|
+
<viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
|
|
40
|
+
</view>
|
|
41
|
+
</viewController>
|
|
42
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
43
|
+
</objects>
|
|
44
|
+
<point key="canvasLocation" x="52.173913043478265" y="375"/>
|
|
45
|
+
</scene>
|
|
46
|
+
</scenes>
|
|
47
|
+
</document>
|
|
@@ -0,0 +1,37 @@
|
|
|
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>NSPrivacyAccessedAPITypes</key>
|
|
6
|
+
<array>
|
|
7
|
+
<dict>
|
|
8
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
9
|
+
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
|
|
10
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
11
|
+
<array>
|
|
12
|
+
<string>C617.1</string>
|
|
13
|
+
</array>
|
|
14
|
+
</dict>
|
|
15
|
+
<dict>
|
|
16
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
17
|
+
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
|
18
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
19
|
+
<array>
|
|
20
|
+
<string>CA92.1</string>
|
|
21
|
+
</array>
|
|
22
|
+
</dict>
|
|
23
|
+
<dict>
|
|
24
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
25
|
+
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
|
|
26
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
27
|
+
<array>
|
|
28
|
+
<string>35F9.1</string>
|
|
29
|
+
</array>
|
|
30
|
+
</dict>
|
|
31
|
+
</array>
|
|
32
|
+
<key>NSPrivacyCollectedDataTypes</key>
|
|
33
|
+
<array/>
|
|
34
|
+
<key>NSPrivacyTracking</key>
|
|
35
|
+
<false/>
|
|
36
|
+
</dict>
|
|
37
|
+
</plist>
|
|
@@ -0,0 +1,10 @@
|
|
|
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>aps-environment</key>
|
|
6
|
+
<string>development</string>
|
|
7
|
+
<key>com.apple.security.application-groups</key>
|
|
8
|
+
<array/>
|
|
9
|
+
</dict>
|
|
10
|
+
</plist>
|