react-native-kenburns-view 4.1.0 → 5.1.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/README.md +58 -23
- package/example/kenburns-example/App.js +78 -0
- package/example/kenburns-example/README.md +20 -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.swift +69 -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/{KenBurnsExample/ios/KenBurnsExampleNew → kenburns-example/ios/KenBurnsExample}/Info.plist +41 -21
- 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 +48 -0
- package/example/kenburns-example/ios/KenBurnsExample/SplashScreen.storyboard +39 -0
- package/example/kenburns-example/ios/KenBurnsExample/Supporting/Expo.plist +12 -0
- package/example/kenburns-example/ios/KenBurnsExample.xcodeproj/project.pbxproj +544 -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 +63 -0
- package/example/kenburns-example/ios/Podfile.lock +2195 -0
- package/example/kenburns-example/ios/Podfile.properties.json +4 -0
- package/example/kenburns-example/metro.config.js +20 -0
- package/example/kenburns-example/package-lock.json +7160 -0
- package/example/kenburns-example/package.json +25 -0
- package/lib/KenBurnsView.js +206 -106
- 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/images/image1.jpg +0 -0
- package/example/KenBurnsExample/images/image2.jpg +0 -0
- package/example/KenBurnsExample/images/image3.jpg +0 -0
- package/example/KenBurnsExample/images/placeholder.jpg +0 -0
- 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/main.m +0 -16
- 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/README.md
CHANGED
|
@@ -1,46 +1,79 @@
|
|
|
1
|
-
# react-native-kenburns-view
|
|
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>
|
|
2
16
|
|
|
3
|
-
|
|
4
|
-
Version: 3.0.0
|
|
17
|
+
## About
|
|
5
18
|
|
|
6
|
-
|
|
19
|
+
[**Ken Burns effect**](https://en.wikipedia.org/wiki/Ken_Burns_effect)—the slow zoom and pan over still images—for React Native. Drop in a single component, pass an image and size, and get a smooth, cinematic motion that’s great for hero images, galleries, or slideshows.
|
|
7
20
|
|
|
8
|
-
|
|
21
|
+
**Lightweight:** No native code or custom native modules. It uses only React Native’s built-in `Animated` API and core components, so it works with standard RN and Expo and adds minimal bundle size. Each instance uses randomized timing and pan direction so multiple images don’t move in lockstep.
|
|
9
22
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
23
|
+
Version: 5.1.1
|
|
24
|
+
|
|
25
|
+
## Supported React Native versions
|
|
26
|
+
|
|
27
|
+
This library uses only React Native’s built-in `Animated` API and core components (`View`, `ImageBackground`). It has **no native code** and no custom native modules.
|
|
14
28
|
|
|
15
|
-
|
|
29
|
+
- **Compatible with:** React Native **0.76+** (and earlier 0.7x / 0.6x in practice).
|
|
30
|
+
- **Tested with:** React Native **0.76.x** and **0.83.x** (Expo SDK 52 and 55) on iOS and Android.
|
|
31
|
+
|
|
32
|
+
If you use Expo, the example app runs on **Expo SDK 55** (React Native 0.83.2).
|
|
33
|
+
|
|
34
|
+
## Installation
|
|
16
35
|
```bash
|
|
17
36
|
$ npm i react-native-kenburns-view --save
|
|
18
37
|
```
|
|
19
38
|
|
|
20
39
|
## Demo/Example
|
|
21
40
|
|
|
22
|
-

|
|
23
42
|
|
|
24
|
-
|
|
43
|
+
Run the example app (Expo) from `example/kenburns-example`: `cd example/kenburns-example && npm install && npx expo start`.
|
|
25
44
|
|
|
26
45
|
## Usage
|
|
27
46
|
|
|
28
47
|
```jsx
|
|
29
|
-
|
|
30
|
-
|
|
48
|
+
import KenBurnsImage from 'react-native-kenburns-view';
|
|
49
|
+
|
|
50
|
+
<KenBurnsImage
|
|
51
|
+
imageWidth={200}
|
|
52
|
+
imageHeight={100}
|
|
53
|
+
sourceUri={require('./images/kenburnsimage.jpg')}
|
|
54
|
+
placeholderSource={require('./images/placeholder.jpg')}
|
|
55
|
+
// optional, see API below:
|
|
56
|
+
zoomStart={1}
|
|
57
|
+
zoomEnd={1.3}
|
|
58
|
+
panX={0.1}
|
|
59
|
+
panY={0.1}
|
|
60
|
+
/>
|
|
31
61
|
```
|
|
32
62
|
|
|
33
63
|
## API (props)
|
|
34
64
|
|
|
35
65
|
| Prop | Description |
|
|
36
66
|
|---|---|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
67
|
+
| **`imageWidth`** | `number` Image width. |
|
|
68
|
+
| **`imageHeight`** | `number` Image height. |
|
|
69
|
+
| **`sourceUri`** | `ImageSource` Image source (e.g. `require()` or `{ uri: string }`). |
|
|
70
|
+
| **`placeholderSource`** | `ImageSource` Placeholder image source (optional). |
|
|
71
|
+
| **`autoStart`** | `boolean` Autostarts the animation. Default: `true`. |
|
|
72
|
+
| **`duration`** | `number` Duration (ms) for a full zoom/pan in one direction before reversing. Default: `20000`. |
|
|
73
|
+
| **`zoomStart`** | `number` Start zoom factor. Default: `1`. |
|
|
74
|
+
| **`zoomEnd`** | `number` End zoom factor. Default: `1.3`. |
|
|
75
|
+
| **`panX`** | `number` Horizontal pan amount as a fraction of `imageWidth`. Default: `0.1` (10% each way). |
|
|
76
|
+
| **`panY`** | `number` Vertical pan amount as a fraction of `imageHeight`. Default: `0.1` (10% each way). |
|
|
44
77
|
|
|
45
78
|
## npm
|
|
46
79
|
|
|
@@ -52,5 +85,7 @@ Link: [`react-native-kenburns-view on npm`](https://www.npmjs.com/package/react-
|
|
|
52
85
|
|
|
53
86
|
## Feedback
|
|
54
87
|
|
|
55
|
-
|
|
56
|
-
|
|
88
|
+
Website: [nimila.online](https://nimila.online)
|
|
89
|
+
Email: nimilahiran@gmail.com
|
|
90
|
+
X/Twitter: [@nHiRanZ](https://twitter.com/nHiRanZ)
|
|
91
|
+
|
|
@@ -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
|
+
{ uri: 'https://i.ibb.co/pjVgZTnf/image1.jpg' },
|
|
11
|
+
{ uri: 'https://i.ibb.co/39n0tghZ/image2.jpg' },
|
|
12
|
+
{ uri: 'https://i.ibb.co/YBcr2vHf/image3.jpg' },
|
|
13
|
+
];
|
|
14
|
+
const PLACEHOLDER = { uri: 'https://i.ibb.co/21NytpJN/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</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,20 @@
|
|
|
1
|
+
# Ken Burns Example
|
|
2
|
+
|
|
3
|
+
Expo app that demonstrates `react-native-kenburns-view` with sample images (zoom + pan).
|
|
4
|
+
|
|
5
|
+
## Run
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
cd example/kenburns-example
|
|
9
|
+
npm install
|
|
10
|
+
npx expo start
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Then press `i` for iOS simulator or `a` for Android emulator, or scan the QR code with Expo Go.
|
|
14
|
+
|
|
15
|
+
If you see "Unable to resolve module" for the library, restart with a clean cache: `npx expo start --clear`.
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
- The library is linked via `"react-native-kenburns-view": "file:../.."`.
|
|
20
|
+
- Sample images are loaded from remote URLs (see `App.js`).
|
|
@@ -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
|
+
"ios": {
|
|
9
|
+
"supportsTablet": true,
|
|
10
|
+
"bundleIdentifier": "com.anonymous.kenburns-example"
|
|
11
|
+
},
|
|
12
|
+
"android": {
|
|
13
|
+
"adaptiveIcon": {
|
|
14
|
+
"backgroundColor": "#1a1a2e"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"plugins": [
|
|
18
|
+
"expo-asset"
|
|
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,69 @@
|
|
|
1
|
+
internal import Expo
|
|
2
|
+
import React
|
|
3
|
+
import ReactAppDependencyProvider
|
|
4
|
+
|
|
5
|
+
@main
|
|
6
|
+
class AppDelegate: ExpoAppDelegate {
|
|
7
|
+
var window: UIWindow?
|
|
8
|
+
|
|
9
|
+
var reactNativeDelegate: ExpoReactNativeFactoryDelegate?
|
|
10
|
+
var reactNativeFactory: RCTReactNativeFactory?
|
|
11
|
+
|
|
12
|
+
public override func application(
|
|
13
|
+
_ application: UIApplication,
|
|
14
|
+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
|
|
15
|
+
) -> Bool {
|
|
16
|
+
let delegate = ReactNativeDelegate()
|
|
17
|
+
let factory = ExpoReactNativeFactory(delegate: delegate)
|
|
18
|
+
delegate.dependencyProvider = RCTAppDependencyProvider()
|
|
19
|
+
|
|
20
|
+
reactNativeDelegate = delegate
|
|
21
|
+
reactNativeFactory = factory
|
|
22
|
+
|
|
23
|
+
#if os(iOS) || os(tvOS)
|
|
24
|
+
window = UIWindow(frame: UIScreen.main.bounds)
|
|
25
|
+
factory.startReactNative(
|
|
26
|
+
withModuleName: "main",
|
|
27
|
+
in: window,
|
|
28
|
+
launchOptions: launchOptions)
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Linking API
|
|
35
|
+
public override func application(
|
|
36
|
+
_ app: UIApplication,
|
|
37
|
+
open url: URL,
|
|
38
|
+
options: [UIApplication.OpenURLOptionsKey: Any] = [:]
|
|
39
|
+
) -> Bool {
|
|
40
|
+
return super.application(app, open: url, options: options) || RCTLinkingManager.application(app, open: url, options: options)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Universal Links
|
|
44
|
+
public override func application(
|
|
45
|
+
_ application: UIApplication,
|
|
46
|
+
continue userActivity: NSUserActivity,
|
|
47
|
+
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
|
|
48
|
+
) -> Bool {
|
|
49
|
+
let result = RCTLinkingManager.application(application, continue: userActivity, restorationHandler: restorationHandler)
|
|
50
|
+
return super.application(application, continue: userActivity, restorationHandler: restorationHandler) || result
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
class ReactNativeDelegate: ExpoReactNativeFactoryDelegate {
|
|
55
|
+
// Extension point for config-plugins
|
|
56
|
+
|
|
57
|
+
override func sourceURL(for bridge: RCTBridge) -> URL? {
|
|
58
|
+
// needed to return the correct URL for expo-dev-client.
|
|
59
|
+
bridge.bundleURL ?? bundleURL()
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
override func bundleURL() -> URL? {
|
|
63
|
+
#if DEBUG
|
|
64
|
+
return RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: ".expo/.virtual-metro-entry")
|
|
65
|
+
#else
|
|
66
|
+
return Bundle.main.url(forResource: "main", withExtension: "jsbundle")
|
|
67
|
+
#endif
|
|
68
|
+
}
|
|
69
|
+
}
|
|
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
|
+
}
|
|
@@ -2,55 +2,75 @@
|
|
|
2
2
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
3
|
<plist version="1.0">
|
|
4
4
|
<dict>
|
|
5
|
+
<key>CADisableMinimumFrameDurationOnPhone</key>
|
|
6
|
+
<true/>
|
|
5
7
|
<key>CFBundleDevelopmentRegion</key>
|
|
6
|
-
<string
|
|
8
|
+
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
7
9
|
<key>CFBundleDisplayName</key>
|
|
8
|
-
<string>
|
|
10
|
+
<string>KenBurns Example</string>
|
|
9
11
|
<key>CFBundleExecutable</key>
|
|
10
12
|
<string>$(EXECUTABLE_NAME)</string>
|
|
11
13
|
<key>CFBundleIdentifier</key>
|
|
12
|
-
<string
|
|
14
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
13
15
|
<key>CFBundleInfoDictionaryVersion</key>
|
|
14
16
|
<string>6.0</string>
|
|
15
17
|
<key>CFBundleName</key>
|
|
16
18
|
<string>$(PRODUCT_NAME)</string>
|
|
17
19
|
<key>CFBundlePackageType</key>
|
|
18
|
-
<string
|
|
20
|
+
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
|
19
21
|
<key>CFBundleShortVersionString</key>
|
|
20
|
-
<string>1.0</string>
|
|
22
|
+
<string>1.0.0</string>
|
|
21
23
|
<key>CFBundleSignature</key>
|
|
22
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>
|
|
23
34
|
<key>CFBundleVersion</key>
|
|
24
35
|
<string>1</string>
|
|
36
|
+
<key>LSMinimumSystemVersion</key>
|
|
37
|
+
<string>12.0</string>
|
|
25
38
|
<key>LSRequiresIPhoneOS</key>
|
|
26
39
|
<true/>
|
|
40
|
+
<key>NSAppTransportSecurity</key>
|
|
41
|
+
<dict>
|
|
42
|
+
<key>NSAllowsArbitraryLoads</key>
|
|
43
|
+
<false/>
|
|
44
|
+
<key>NSAllowsLocalNetworking</key>
|
|
45
|
+
<true/>
|
|
46
|
+
</dict>
|
|
47
|
+
<key>RCTNewArchEnabled</key>
|
|
48
|
+
<true/>
|
|
27
49
|
<key>UILaunchStoryboardName</key>
|
|
28
|
-
<string>
|
|
50
|
+
<string>SplashScreen</string>
|
|
29
51
|
<key>UIRequiredDeviceCapabilities</key>
|
|
30
52
|
<array>
|
|
31
|
-
<string>
|
|
53
|
+
<string>arm64</string>
|
|
32
54
|
</array>
|
|
55
|
+
<key>UIRequiresFullScreen</key>
|
|
56
|
+
<false/>
|
|
57
|
+
<key>UIStatusBarStyle</key>
|
|
58
|
+
<string>UIStatusBarStyleDefault</string>
|
|
33
59
|
<key>UISupportedInterfaceOrientations</key>
|
|
34
60
|
<array>
|
|
35
61
|
<string>UIInterfaceOrientationPortrait</string>
|
|
62
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
63
|
+
</array>
|
|
64
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
65
|
+
<array>
|
|
66
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
67
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
36
68
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
37
69
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
38
70
|
</array>
|
|
71
|
+
<key>UIUserInterfaceStyle</key>
|
|
72
|
+
<string>Light</string>
|
|
39
73
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
40
74
|
<false/>
|
|
41
|
-
<key>NSLocationWhenInUseUsageDescription</key>
|
|
42
|
-
<string></string>
|
|
43
|
-
<key>NSAppTransportSecurity</key>
|
|
44
|
-
<!--See http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/ -->
|
|
45
|
-
<dict>
|
|
46
|
-
<key>NSExceptionDomains</key>
|
|
47
|
-
<dict>
|
|
48
|
-
<key>localhost</key>
|
|
49
|
-
<dict>
|
|
50
|
-
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
|
51
|
-
<true/>
|
|
52
|
-
</dict>
|
|
53
|
-
</dict>
|
|
54
|
-
</dict>
|
|
55
75
|
</dict>
|
|
56
76
|
</plist>
|
|
@@ -0,0 +1,48 @@
|
|
|
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>0A2A.1</string>
|
|
21
|
+
<string>3B52.1</string>
|
|
22
|
+
<string>C617.1</string>
|
|
23
|
+
</array>
|
|
24
|
+
</dict>
|
|
25
|
+
<dict>
|
|
26
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
27
|
+
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
|
|
28
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
29
|
+
<array>
|
|
30
|
+
<string>E174.1</string>
|
|
31
|
+
<string>85F4.1</string>
|
|
32
|
+
</array>
|
|
33
|
+
</dict>
|
|
34
|
+
<dict>
|
|
35
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
36
|
+
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
|
|
37
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
38
|
+
<array>
|
|
39
|
+
<string>35F9.1</string>
|
|
40
|
+
</array>
|
|
41
|
+
</dict>
|
|
42
|
+
</array>
|
|
43
|
+
<key>NSPrivacyCollectedDataTypes</key>
|
|
44
|
+
<array/>
|
|
45
|
+
<key>NSPrivacyTracking</key>
|
|
46
|
+
<false/>
|
|
47
|
+
</dict>
|
|
48
|
+
</plist>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="24093.7" 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="24053.1"/>
|
|
7
|
+
<capability name="Named colors" minToolsVersion="9.0"/>
|
|
8
|
+
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
|
9
|
+
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
|
10
|
+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
|
11
|
+
</dependencies>
|
|
12
|
+
<scenes>
|
|
13
|
+
<scene sceneID="EXPO-SCENE-1">
|
|
14
|
+
<objects>
|
|
15
|
+
<viewController storyboardIdentifier="SplashScreenViewController" id="EXPO-VIEWCONTROLLER-1" sceneMemberID="viewController">
|
|
16
|
+
<view key="view" userInteractionEnabled="NO" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="EXPO-ContainerView" userLabel="ContainerView">
|
|
17
|
+
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
|
18
|
+
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
|
19
|
+
<subviews/>
|
|
20
|
+
<viewLayoutGuide key="safeArea" id="Rmq-lb-GrQ"/>
|
|
21
|
+
<constraints>
|
|
22
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="centerY" secondItem="EXPO-ContainerView" secondAttribute="centerY" id="0VC-Wk-OaO"/>
|
|
23
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="centerX" secondItem="EXPO-ContainerView" secondAttribute="centerX" id="zR4-NK-mVN"/>
|
|
24
|
+
</constraints>
|
|
25
|
+
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
|
26
|
+
</view>
|
|
27
|
+
</viewController>
|
|
28
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="EXPO-PLACEHOLDER-1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
29
|
+
</objects>
|
|
30
|
+
<point key="canvasLocation" x="0.0" y="0.0"/>
|
|
31
|
+
</scene>
|
|
32
|
+
</scenes>
|
|
33
|
+
<resources>
|
|
34
|
+
<image name="SplashScreenLogo" width="100" height="90.333335876464844"/>
|
|
35
|
+
<systemColor name="systemBackgroundColor">
|
|
36
|
+
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
37
|
+
</systemColor>
|
|
38
|
+
</resources>
|
|
39
|
+
</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>
|