react-native-kenburns-view 4.0.0 → 5.0.0
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/README.md +48 -25
- package/example/kenburns-example/App.js +78 -0
- package/example/kenburns-example/README.md +32 -0
- package/example/kenburns-example/app.json +21 -0
- package/example/kenburns-example/babel.config.js +6 -0
- package/example/kenburns-example/ios/.xcode.env +11 -0
- package/example/kenburns-example/ios/KenBurnsExample/AppDelegate.h +7 -0
- package/example/kenburns-example/ios/KenBurnsExample/AppDelegate.mm +62 -0
- package/example/kenburns-example/ios/KenBurnsExample/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png +0 -0
- package/example/kenburns-example/ios/KenBurnsExample/Images.xcassets/AppIcon.appiconset/Contents.json +14 -0
- package/example/{KenBurnsExample/ios/KenBurnsExampleNew → kenburns-example/ios/KenBurnsExample}/Images.xcassets/Contents.json +1 -1
- package/example/kenburns-example/ios/KenBurnsExample/Images.xcassets/SplashScreenBackground.colorset/Contents.json +20 -0
- package/example/kenburns-example/ios/KenBurnsExample/Info.plist +74 -0
- package/example/kenburns-example/ios/KenBurnsExample/KenBurnsExample-Bridging-Header.h +3 -0
- package/example/kenburns-example/ios/KenBurnsExample/KenBurnsExample.entitlements +5 -0
- package/example/kenburns-example/ios/KenBurnsExample/PrivacyInfo.xcprivacy +37 -0
- package/example/kenburns-example/ios/KenBurnsExample/SplashScreen.storyboard +34 -0
- package/example/kenburns-example/ios/KenBurnsExample/Supporting/Expo.plist +12 -0
- package/example/{KenBurnsExample/ios/KenBurnsExampleNew → kenburns-example/ios/KenBurnsExample}/main.m +1 -7
- package/example/kenburns-example/ios/KenBurnsExample/noop-file.swift +4 -0
- package/example/kenburns-example/ios/KenBurnsExample.xcodeproj/project.pbxproj +536 -0
- package/example/{KenBurnsExample/ios/KenBurnsExampleNew.xcodeproj/xcshareddata/xcschemes/KenBurnsExampleNew.xcscheme → kenburns-example/ios/KenBurnsExample.xcodeproj/xcshareddata/xcschemes/KenBurnsExample.xcscheme} +14 -55
- package/example/kenburns-example/ios/KenBurnsExample.xcworkspace/contents.xcworkspacedata +10 -0
- package/example/kenburns-example/ios/Podfile +66 -0
- package/example/kenburns-example/ios/Podfile.lock +1828 -0
- package/example/kenburns-example/ios/Podfile.properties.json +5 -0
- package/example/kenburns-example/metro.config.js +17 -0
- package/example/kenburns-example/package-lock.json +10971 -0
- package/example/kenburns-example/package.json +21 -0
- package/lib/KenBurnsView.js +207 -107
- package/package.json +2 -5
- package/example/KenBurnsExample/.babelrc +0 -3
- package/example/KenBurnsExample/.buckconfig +0 -6
- package/example/KenBurnsExample/.flowconfig +0 -67
- package/example/KenBurnsExample/.gitattributes +0 -1
- package/example/KenBurnsExample/.snyk +0 -10
- package/example/KenBurnsExample/.watchmanconfig +0 -1
- package/example/KenBurnsExample/App.js +0 -64
- package/example/KenBurnsExample/android/app/BUCK +0 -65
- package/example/KenBurnsExample/android/app/build.gradle +0 -150
- package/example/KenBurnsExample/android/app/proguard-rules.pro +0 -17
- package/example/KenBurnsExample/android/app/src/main/AndroidManifest.xml +0 -26
- package/example/KenBurnsExample/android/app/src/main/java/com/kenburnsexamplenew/MainActivity.java +0 -15
- package/example/KenBurnsExample/android/app/src/main/java/com/kenburnsexamplenew/MainApplication.java +0 -45
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/example/KenBurnsExample/android/app/src/main/res/values/strings.xml +0 -3
- package/example/KenBurnsExample/android/app/src/main/res/values/styles.xml +0 -8
- package/example/KenBurnsExample/android/build.gradle +0 -40
- package/example/KenBurnsExample/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/example/KenBurnsExample/android/gradle/wrapper/gradle-wrapper.properties +0 -5
- package/example/KenBurnsExample/android/gradle.properties +0 -20
- package/example/KenBurnsExample/android/gradlew +0 -164
- package/example/KenBurnsExample/android/gradlew.bat +0 -90
- package/example/KenBurnsExample/android/keystores/BUCK +0 -8
- package/example/KenBurnsExample/android/keystores/debug.keystore.properties +0 -4
- package/example/KenBurnsExample/android/settings.gradle +0 -3
- package/example/KenBurnsExample/app.json +0 -4
- package/example/KenBurnsExample/index.js +0 -7
- package/example/KenBurnsExample/ios/KenBurnsExampleNew/AppDelegate.h +0 -14
- package/example/KenBurnsExample/ios/KenBurnsExampleNew/AppDelegate.m +0 -35
- package/example/KenBurnsExample/ios/KenBurnsExampleNew/Base.lproj/LaunchScreen.xib +0 -42
- package/example/KenBurnsExample/ios/KenBurnsExampleNew/Images.xcassets/AppIcon.appiconset/Contents.json +0 -38
- package/example/KenBurnsExample/ios/KenBurnsExampleNew/Info.plist +0 -56
- package/example/KenBurnsExample/ios/KenBurnsExampleNew-tvOS/Info.plist +0 -54
- package/example/KenBurnsExample/ios/KenBurnsExampleNew-tvOSTests/Info.plist +0 -24
- package/example/KenBurnsExample/ios/KenBurnsExampleNew.xcodeproj/project.pbxproj +0 -1468
- package/example/KenBurnsExample/ios/KenBurnsExampleNew.xcodeproj/xcshareddata/xcschemes/KenBurnsExampleNew-tvOS.xcscheme +0 -129
- package/example/KenBurnsExample/ios/KenBurnsExampleNewTests/Info.plist +0 -24
- package/example/KenBurnsExample/ios/KenBurnsExampleNewTests/KenBurnsExampleNewTests.m +0 -68
- package/example/KenBurnsExample/package.json +0 -27
- package/yarn.lock +0 -114
- /package/example/{KenBurnsExample → kenburns-example/assets}/images/image1.jpg +0 -0
- /package/example/{KenBurnsExample → kenburns-example/assets}/images/image2.jpg +0 -0
- /package/example/{KenBurnsExample → kenburns-example/assets}/images/image3.jpg +0 -0
- /package/example/{KenBurnsExample → kenburns-example/assets}/images/placeholder.jpg +0 -0
package/README.md
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
|
-
# react-native-kenburns-view
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
# react-native-kenburns-view
|
|
2
|
+
<p align="left">
|
|
3
|
+
<a href="http://opensource.org/licenses/ISC">
|
|
4
|
+
<img src="https://img.shields.io/badge/license-ISC-blue.svg" alt="react-native-kenburns-view is released under the ISC license." />
|
|
5
|
+
</a>
|
|
6
|
+
<a href="https://www.npmjs.com/package/react-native-kenburns-view">
|
|
7
|
+
<img src="https://badge.fury.io/js/react-native-kenburns-view.svg" alt="Current npm package version." />
|
|
8
|
+
</a>
|
|
9
|
+
<a href="https://twitter.com/intent/follow?screen_name=nHiRanZ">
|
|
10
|
+
<img src="https://img.shields.io/twitter/follow/nHiRanZ.svg?label=Follow%20@nHiRanZ" alt="Follow @nHiRanZ" />
|
|
11
|
+
</a>
|
|
12
|
+
<a href="https://nimila.online">
|
|
13
|
+
<img src="https://img.shields.io/badge/website-nimila.online-blue" alt="Website" />
|
|
14
|
+
</a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
[`KenBurns`](https://en.wikipedia.org/wiki/Ken_Burns_effect) Image Effect for React Native. Now implemented with the modern `Animated` API, supporting both smooth **zoom** and **pan**.
|
|
18
|
+
Version: 5.0.0
|
|
19
|
+
|
|
20
|
+
Tested on React Native 0.76.5 iOS and Android.
|
|
7
21
|
|
|
8
22
|
## Installation
|
|
9
|
-
|
|
10
|
-
Note: Requires React Timeout. If it's not available, install it from the command below.
|
|
11
|
-
```bash
|
|
12
|
-
$ npm i react-timeout --save
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
The proceed to install the library
|
|
16
23
|
```bash
|
|
17
24
|
$ npm i react-native-kenburns-view --save
|
|
18
25
|
```
|
|
@@ -21,26 +28,40 @@ $ npm i react-native-kenburns-view --save
|
|
|
21
28
|
|
|
22
29
|

|
|
23
30
|
|
|
24
|
-
|
|
31
|
+
Run the example app (Expo) from `example/kenburns-example`: `cd example/kenburns-example && npm install && npx expo start`.
|
|
25
32
|
|
|
26
33
|
## Usage
|
|
27
34
|
|
|
28
35
|
```jsx
|
|
29
|
-
|
|
30
|
-
|
|
36
|
+
import KenBurnsImage from 'react-native-kenburns-view';
|
|
37
|
+
|
|
38
|
+
<KenBurnsImage
|
|
39
|
+
imageWidth={200}
|
|
40
|
+
imageHeight={100}
|
|
41
|
+
sourceUri={require('./images/kenburnsimage.jpg')}
|
|
42
|
+
placeholderSource={require('./images/placeholder.jpg')}
|
|
43
|
+
// optional, see API below:
|
|
44
|
+
zoomStart={1}
|
|
45
|
+
zoomEnd={1.3}
|
|
46
|
+
panX={0.1}
|
|
47
|
+
panY={0.1}
|
|
48
|
+
/>
|
|
31
49
|
```
|
|
32
50
|
|
|
33
51
|
## API (props)
|
|
34
52
|
|
|
35
53
|
| Prop | Description |
|
|
36
54
|
|---|---|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
55
|
+
| **`imageWidth`** | `number` Image width. |
|
|
56
|
+
| **`imageHeight`** | `number` Image height. |
|
|
57
|
+
| **`sourceUri`** | `ImageSource` Image source (e.g. `require()` or `{ uri: string }`). |
|
|
58
|
+
| **`placeholderSource`** | `ImageSource` Placeholder image source (optional). |
|
|
59
|
+
| **`autoStart`** | `boolean` Autostarts the animation. Default: `true`. |
|
|
60
|
+
| **`duration`** | `number` Duration (ms) for a full zoom/pan in one direction before reversing. Default: `20000`. |
|
|
61
|
+
| **`zoomStart`** | `number` Start zoom factor. Default: `1`. |
|
|
62
|
+
| **`zoomEnd`** | `number` End zoom factor. Default: `1.3`. |
|
|
63
|
+
| **`panX`** | `number` Horizontal pan amount as a fraction of `imageWidth`. Default: `0.1` (10% each way). |
|
|
64
|
+
| **`panY`** | `number` Vertical pan amount as a fraction of `imageHeight`. Default: `0.1` (10% each way). |
|
|
44
65
|
|
|
45
66
|
## npm
|
|
46
67
|
|
|
@@ -52,5 +73,7 @@ Link: [`react-native-kenburns-view on npm`](https://www.npmjs.com/package/react-
|
|
|
52
73
|
|
|
53
74
|
## Feedback
|
|
54
75
|
|
|
55
|
-
|
|
56
|
-
|
|
76
|
+
Website: [nimila.online](https://nimila.online)
|
|
77
|
+
Email: nimilahiran@gmail.com
|
|
78
|
+
Twitter: [@nHiRanZ](https://twitter.com/nHiRanZ)
|
|
79
|
+
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Dimensions, ScrollView, StyleSheet, Text, View } from 'react-native';
|
|
3
|
+
import { StatusBar } from 'expo-status-bar';
|
|
4
|
+
import KenBurnsView from 'react-native-kenburns-view';
|
|
5
|
+
|
|
6
|
+
const { width } = Dimensions.get('window');
|
|
7
|
+
const CARD_HEIGHT = 220;
|
|
8
|
+
|
|
9
|
+
const IMAGES = [
|
|
10
|
+
require('./assets/images/image1.jpg'),
|
|
11
|
+
require('./assets/images/image2.jpg'),
|
|
12
|
+
require('./assets/images/image3.jpg'),
|
|
13
|
+
];
|
|
14
|
+
const PLACEHOLDER = require('./assets/images/placeholder.jpg');
|
|
15
|
+
|
|
16
|
+
export default function App() {
|
|
17
|
+
return (
|
|
18
|
+
<View style={styles.container}>
|
|
19
|
+
<StatusBar style="light" />
|
|
20
|
+
<Text style={styles.title}>Ken Burns Effect</Text>
|
|
21
|
+
<Text style={styles.subtitle}>Zoom + pan animation</Text>
|
|
22
|
+
<ScrollView
|
|
23
|
+
style={styles.scroll}
|
|
24
|
+
contentContainerStyle={styles.scrollContent}
|
|
25
|
+
showsVerticalScrollIndicator={false}
|
|
26
|
+
>
|
|
27
|
+
{IMAGES.map((source, index) => (
|
|
28
|
+
<View key={index} style={styles.card}>
|
|
29
|
+
<KenBurnsView
|
|
30
|
+
imageWidth={width}
|
|
31
|
+
imageHeight={CARD_HEIGHT}
|
|
32
|
+
sourceUri={source}
|
|
33
|
+
placeholderSource={PLACEHOLDER}
|
|
34
|
+
duration={15000}
|
|
35
|
+
zoomStart={1}
|
|
36
|
+
zoomEnd={1.2}
|
|
37
|
+
panX={0.08}
|
|
38
|
+
panY={0.08}
|
|
39
|
+
/>
|
|
40
|
+
</View>
|
|
41
|
+
))}
|
|
42
|
+
</ScrollView>
|
|
43
|
+
</View>
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const styles = StyleSheet.create({
|
|
48
|
+
container: {
|
|
49
|
+
flex: 1,
|
|
50
|
+
backgroundColor: '#1a1a2e',
|
|
51
|
+
},
|
|
52
|
+
title: {
|
|
53
|
+
fontSize: 28,
|
|
54
|
+
fontWeight: '700',
|
|
55
|
+
color: '#eee',
|
|
56
|
+
textAlign: 'center',
|
|
57
|
+
marginTop: 60,
|
|
58
|
+
marginBottom: 4,
|
|
59
|
+
},
|
|
60
|
+
subtitle: {
|
|
61
|
+
fontSize: 16,
|
|
62
|
+
color: '#888',
|
|
63
|
+
textAlign: 'center',
|
|
64
|
+
marginBottom: 24,
|
|
65
|
+
},
|
|
66
|
+
scroll: {
|
|
67
|
+
flex: 1,
|
|
68
|
+
},
|
|
69
|
+
scrollContent: {
|
|
70
|
+
paddingBottom: 40,
|
|
71
|
+
},
|
|
72
|
+
card: {
|
|
73
|
+
width,
|
|
74
|
+
height: CARD_HEIGHT,
|
|
75
|
+
marginBottom: 16,
|
|
76
|
+
overflow: 'hidden',
|
|
77
|
+
},
|
|
78
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Ken Burns Example
|
|
2
|
+
|
|
3
|
+
Example app for `react-native-kenburns-view` using Expo.
|
|
4
|
+
|
|
5
|
+
## Run
|
|
6
|
+
|
|
7
|
+
From this folder:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**Option A – development build (iOS simulator):**
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx expo run:ios
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Option B – Expo Go (no native build):**
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx expo start
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Then scan the QR code or press `i` / `a` for simulator.
|
|
26
|
+
|
|
27
|
+
If you see "Unable to resolve module react-native-kenburns-view", clear Metro’s cache and try again: `npx expo start --clear` (then run `npx expo run:ios` in another terminal, or run `expo run:ios` after the dev server is up).
|
|
28
|
+
|
|
29
|
+
## Notes
|
|
30
|
+
|
|
31
|
+
- The library is linked via `"react-native-kenburns-view": "file:../.."`.
|
|
32
|
+
- Test images are in `assets/images/` (image1–3 and placeholder).
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"expo": {
|
|
3
|
+
"name": "KenBurns Example",
|
|
4
|
+
"slug": "kenburns-example",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"orientation": "portrait",
|
|
7
|
+
"userInterfaceStyle": "light",
|
|
8
|
+
"assetBundlePatterns": [
|
|
9
|
+
"**/*"
|
|
10
|
+
],
|
|
11
|
+
"ios": {
|
|
12
|
+
"supportsTablet": true,
|
|
13
|
+
"bundleIdentifier": "com.anonymous.kenburns-example"
|
|
14
|
+
},
|
|
15
|
+
"android": {
|
|
16
|
+
"adaptiveIcon": {
|
|
17
|
+
"backgroundColor": "#1a1a2e"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -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,62 @@
|
|
|
1
|
+
#import "AppDelegate.h"
|
|
2
|
+
|
|
3
|
+
#import <React/RCTBundleURLProvider.h>
|
|
4
|
+
#import <React/RCTLinkingManager.h>
|
|
5
|
+
|
|
6
|
+
@implementation AppDelegate
|
|
7
|
+
|
|
8
|
+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
|
9
|
+
{
|
|
10
|
+
self.moduleName = @"main";
|
|
11
|
+
|
|
12
|
+
// You can add your custom initial props in the dictionary below.
|
|
13
|
+
// They will be passed down to the ViewController used by React Native.
|
|
14
|
+
self.initialProps = @{};
|
|
15
|
+
|
|
16
|
+
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
|
20
|
+
{
|
|
21
|
+
return [self bundleURL];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
- (NSURL *)bundleURL
|
|
25
|
+
{
|
|
26
|
+
#if DEBUG
|
|
27
|
+
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@".expo/.virtual-metro-entry"];
|
|
28
|
+
#else
|
|
29
|
+
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
|
|
30
|
+
#endif
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Linking API
|
|
34
|
+
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
|
|
35
|
+
return [super application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Universal Links
|
|
39
|
+
- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
|
|
40
|
+
BOOL result = [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler];
|
|
41
|
+
return [super application:application continueUserActivity:userActivity restorationHandler:restorationHandler] || result;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries
|
|
45
|
+
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
|
|
46
|
+
{
|
|
47
|
+
return [super application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries
|
|
51
|
+
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
|
|
52
|
+
{
|
|
53
|
+
return [super application:application didFailToRegisterForRemoteNotificationsWithError:error];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries
|
|
57
|
+
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
|
|
58
|
+
{
|
|
59
|
+
return [super application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@end
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"colors": [
|
|
3
|
+
{
|
|
4
|
+
"color": {
|
|
5
|
+
"components": {
|
|
6
|
+
"alpha": "1.000",
|
|
7
|
+
"blue": "1.00000000000000",
|
|
8
|
+
"green": "1.00000000000000",
|
|
9
|
+
"red": "1.00000000000000"
|
|
10
|
+
},
|
|
11
|
+
"color-space": "srgb"
|
|
12
|
+
},
|
|
13
|
+
"idiom": "universal"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"info": {
|
|
17
|
+
"version": 1,
|
|
18
|
+
"author": "expo"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
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>CADisableMinimumFrameDurationOnPhone</key>
|
|
6
|
+
<true/>
|
|
7
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
8
|
+
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
9
|
+
<key>CFBundleDisplayName</key>
|
|
10
|
+
<string>KenBurns Example</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>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
|
21
|
+
<key>CFBundleShortVersionString</key>
|
|
22
|
+
<string>1.0.0</string>
|
|
23
|
+
<key>CFBundleSignature</key>
|
|
24
|
+
<string>????</string>
|
|
25
|
+
<key>CFBundleURLTypes</key>
|
|
26
|
+
<array>
|
|
27
|
+
<dict>
|
|
28
|
+
<key>CFBundleURLSchemes</key>
|
|
29
|
+
<array>
|
|
30
|
+
<string>com.anonymous.kenburns-example</string>
|
|
31
|
+
</array>
|
|
32
|
+
</dict>
|
|
33
|
+
</array>
|
|
34
|
+
<key>CFBundleVersion</key>
|
|
35
|
+
<string>1</string>
|
|
36
|
+
<key>LSMinimumSystemVersion</key>
|
|
37
|
+
<string>12.0</string>
|
|
38
|
+
<key>LSRequiresIPhoneOS</key>
|
|
39
|
+
<true/>
|
|
40
|
+
<key>NSAppTransportSecurity</key>
|
|
41
|
+
<dict>
|
|
42
|
+
<key>NSAllowsArbitraryLoads</key>
|
|
43
|
+
<false/>
|
|
44
|
+
<key>NSAllowsLocalNetworking</key>
|
|
45
|
+
<true/>
|
|
46
|
+
</dict>
|
|
47
|
+
<key>UILaunchStoryboardName</key>
|
|
48
|
+
<string>SplashScreen</string>
|
|
49
|
+
<key>UIRequiredDeviceCapabilities</key>
|
|
50
|
+
<array>
|
|
51
|
+
<string>arm64</string>
|
|
52
|
+
</array>
|
|
53
|
+
<key>UIRequiresFullScreen</key>
|
|
54
|
+
<false/>
|
|
55
|
+
<key>UIStatusBarStyle</key>
|
|
56
|
+
<string>UIStatusBarStyleDefault</string>
|
|
57
|
+
<key>UISupportedInterfaceOrientations</key>
|
|
58
|
+
<array>
|
|
59
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
60
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
61
|
+
</array>
|
|
62
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
63
|
+
<array>
|
|
64
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
65
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
66
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
67
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
68
|
+
</array>
|
|
69
|
+
<key>UIUserInterfaceStyle</key>
|
|
70
|
+
<string>Light</string>
|
|
71
|
+
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
72
|
+
<false/>
|
|
73
|
+
</dict>
|
|
74
|
+
</plist>
|
|
@@ -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>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
|
10
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
11
|
+
<array>
|
|
12
|
+
<string>CA92.1</string>
|
|
13
|
+
</array>
|
|
14
|
+
</dict>
|
|
15
|
+
<dict>
|
|
16
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
17
|
+
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
|
|
18
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
19
|
+
<array>
|
|
20
|
+
<string>C617.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,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="EXPO-VIEWCONTROLLER-1">
|
|
3
|
+
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
|
4
|
+
<dependencies>
|
|
5
|
+
<deployment identifier="iOS"/>
|
|
6
|
+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
|
|
7
|
+
<capability name="Named colors" minToolsVersion="9.0"/>
|
|
8
|
+
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
|
9
|
+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
|
10
|
+
</dependencies>
|
|
11
|
+
<scenes>
|
|
12
|
+
<scene sceneID="EXPO-SCENE-1">
|
|
13
|
+
<objects>
|
|
14
|
+
<viewController storyboardIdentifier="SplashScreenViewController" id="EXPO-VIEWCONTROLLER-1" sceneMemberID="viewController">
|
|
15
|
+
<view key="view" userInteractionEnabled="NO" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="EXPO-ContainerView" userLabel="ContainerView">
|
|
16
|
+
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
|
17
|
+
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
|
18
|
+
<subviews/>
|
|
19
|
+
<viewLayoutGuide key="safeArea" id="Rmq-lb-GrQ"/>
|
|
20
|
+
<constraints>
|
|
21
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="centerY" secondItem="EXPO-ContainerView" secondAttribute="centerY" id="0VC-Wk-OaO"/>
|
|
22
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="centerX" secondItem="EXPO-ContainerView" secondAttribute="centerX" id="zR4-NK-mVN"/>
|
|
23
|
+
</constraints>
|
|
24
|
+
</view>
|
|
25
|
+
</viewController>
|
|
26
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="EXPO-PLACEHOLDER-1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
27
|
+
</objects>
|
|
28
|
+
<point key="canvasLocation" x="0.0" y="0.0"/>
|
|
29
|
+
</scene>
|
|
30
|
+
</scenes>
|
|
31
|
+
<resources>
|
|
32
|
+
<image name="SplashScreenLogo" width="100" height="90.333335876464844"/>
|
|
33
|
+
</resources>
|
|
34
|
+
</document>
|
|
@@ -0,0 +1,12 @@
|
|
|
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>EXUpdatesCheckOnLaunch</key>
|
|
6
|
+
<string>ALWAYS</string>
|
|
7
|
+
<key>EXUpdatesEnabled</key>
|
|
8
|
+
<false/>
|
|
9
|
+
<key>EXUpdatesLaunchWaitMs</key>
|
|
10
|
+
<integer>0</integer>
|
|
11
|
+
</dict>
|
|
12
|
+
</plist>
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2015-present, Facebook, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
1
|
#import <UIKit/UIKit.h>
|
|
9
2
|
|
|
10
3
|
#import "AppDelegate.h"
|
|
@@ -14,3 +7,4 @@ int main(int argc, char * argv[]) {
|
|
|
14
7
|
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
|
|
15
8
|
}
|
|
16
9
|
}
|
|
10
|
+
|