YoonyoungL

Replace project

Showing 42 changed files with 434 additions and 470 deletions
import React, {Component} from 'react'
import React, { Component } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { createAppContainer } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';
import { createStackNavigator } from 'react-navigation-stack'
// import MainScreen from './components/MainScreen';
import Login from './source/Login';
import MainScreen from './source/MainScreen';
// const AppStackNavigator = createStackNavigator({
// Main:{
// screen: MainScreen // MainScreen 컴포넌트를 네비게이터에 등록
// }
// });
// export default createAppContainer(AppStackNavigator);
const MainNavigator = createStackNavigator({
Login : {screen: Login},
MainScreen : {screen:MainScreen},
......@@ -13,4 +23,4 @@ const MainNavigator = createStackNavigator({
const App = createAppContainer(MainNavigator);
export default App;
\ No newline at end of file
export default App;
......
......@@ -35,12 +35,12 @@ android_library(
android_build_config(
name = "build_config",
package = "com.fwiot",
package = "com.testproject",
)
android_resource(
name = "res",
package = "com.fwiot",
package = "com.testproject",
res = "src/main/res",
)
......
......@@ -128,7 +128,7 @@ android {
}
defaultConfig {
applicationId "com.fwiot"
applicationId "com.testproject"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
......@@ -189,11 +189,6 @@ dependencies {
} else {
implementation jscFlavor
}
compile project(':react-native-push-notification')
compile ('com.google.android.gms:play-services-gcm:8.1.0') {
force = true;
}
}
// Run this once to be able to run the application with BUCK
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fwiot">
package="com.testproject">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<permission
android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application
android:name=".MainApplication"
......@@ -17,32 +10,6 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme">
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher" />
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationRegistrationService"/>
<service
android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
......@@ -54,9 +21,6 @@
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>
......
package com.fwiot;
package com.testproject;
import com.facebook.react.ReactActivity;
import com.dieam.reactnativepushnotification.ReactNativePushNotificationPackage;
public class MainActivity extends ReactActivity implements ReactApplication {
public class MainActivity extends ReactActivity {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
protected boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new ReactNativePushNotificationPackage() // <---- Add the Package
);
}
};
/**
* Returns the name of the main component registered from JavaScript. This is used to schedule
* rendering of the component.
*/
@Override
protected String getMainComponentName() {
return "FWIoT";
return "TestProject";
}
}
......
package com.fwiot;
package com.testproject;
import android.app.Application;
import android.content.Context;
......
<resources>
<string name="app_name">FWIoT</string>
<string name="app_name">TestProject</string>
</resources>
......
rootProject.name = 'FWIoT'
rootProject.name = 'TestProject'
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'
include ':react-native-push-notification'
project(':react-native-push-notification').projectDir = file('../node_modules/react-native-push-notification/android')
......
{
"name": "FWIoT",
"displayName": "FWIoT"
"name": "TestProject",
"displayName": "TestProject"
}
\ No newline at end of file
......
No preview for this file type
{"web":{"client_id":"978869138601-u3euf0c04sbdor68r30m599gilvjn91e.apps.googleusercontent.com","project_id":"reminder-talk","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"N7Uh_oVQZt-almzA4DkM4bm_"}}
\ No newline at end of file
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
export default class HomeTab extends Component {
render() {
return (
<View style={style.container}>
<Text>HistoryTab</Text>
</View>
);
}
}
const style = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}
});
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
import WasteDetail from '../WasteDetail'
export default class HomeTab extends Component {
render() {
return (
<View style={style.container}>
<Text>HomeTab</Text>
<WasteDetail></WasteDetail>
</View>
);
}
}
const style = StyleSheet.create({
container: {
flex: 1,
}
});
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
export default class HomeTab extends Component {
render() {
return (
<View style={style.container}>
<Text>SettingTab</Text>
</View>
);
}
}
const style = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}
});
import React, { Component } from 'react';
import { StyleSheet, Platform, View, Text } from 'react-native';
import { createAppContainer } from 'react-navigation';
import { createMaterialTopTabNavigator } from 'react-navigation-tabs'
import HomeTab from './AppTabNavigator/HomeTab'
import HistoryTab from './AppTabNavigator/HistoryTab'
import SettingTab from './AppTabNavigator/SettingTab'
// 하단 탭 네비게이터 생성
const AppTabNavigator = createMaterialTopTabNavigator({
Home: { screen: HomeTab },
History: { screen: HistoryTab },
Setting: { screen: SettingTab }
},{
animationEnabled: true,
swipeEnabled: true,
tabBarPosition: "bottom",
tabBarOptions: {
style: {
...Platform.select({
android:{
backgroundColor:'white',
}
})
},
iconStyle: { height: 10 },
activeTintColor: '#000',
inactiveTintColor: '#d1cece',
upperCaseLabel: true,
showLabel: true,
showIcon: true,
}
});
const AppTabContainet = createAppContainer(AppTabNavigator);
export default class MainScreen extends Component {
static navigationOptions = {
title: 'FW IOT' }
render() {
return <AppTabContainet/>; // AppTabContainet 컴포넌트를 리턴한다.
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
});
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
export default class HomeTab extends Component {
render() {
return (
<View style={style.container}>
<Text> 3.8kg 추가</Text>
</View>
);
}
}
const style = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "rgba(230,230,230,0.5)"
}
});
platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
target 'FWIoT' do
# Pods for FWIoT
target 'TestProject' do
# Pods for TestProject
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
......@@ -34,7 +34,8 @@ target 'FWIoT' do
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
target 'FWIoTTests' do
target 'TestProjectTests' do
inherit! :search_paths
# Pods for testing
end
......@@ -42,10 +43,10 @@ target 'FWIoT' do
use_native_modules!
end
target 'FWIoT-tvOS' do
# Pods for FWIoT-tvOS
target 'TestProject-tvOS' do
# Pods for TestProject-tvOS
target 'FWIoT-tvOSTests' do
target 'TestProject-tvOSTests' do
inherit! :search_paths
# Pods for testing
end
......
......@@ -6,7 +6,7 @@
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
00E356F31AD99517003FC87E /* FWIoTTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* FWIoTTests.m */; };
00E356F31AD99517003FC87E /* TestProjectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* TestProjectTests.m */; };
13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
......@@ -14,8 +14,7 @@
2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
2DCD954D1E0B4F2C00145EB5 /* FWIoTTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* FWIoTTests.m */; };
6C64FC6A06D242DBB6C4E507 /* BMJUA_ttf.ttf in Resources */ = {isa = PBXBuildFile; fileRef = DD27CE7DA8A446B6BB285B68 /* BMJUA_ttf.ttf */; };
2DCD954D1E0B4F2C00145EB5 /* TestProjectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* TestProjectTests.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
......@@ -24,34 +23,33 @@
containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
remoteInfo = FWIoT;
remoteInfo = TestProject;
};
2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7;
remoteInfo = "FWIoT-tvOS";
remoteInfo = "TestProject-tvOS";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; };
00E356EE1AD99517003FC87E /* FWIoTTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FWIoTTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356EE1AD99517003FC87E /* TestProjectTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TestProjectTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
00E356F21AD99517003FC87E /* FWIoTTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWIoTTests.m; sourceTree = "<group>"; };
13B07F961A680F5B00A75B9A /* FWIoT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FWIoT.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = FWIoT/AppDelegate.h; sourceTree = "<group>"; };
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = FWIoT/AppDelegate.m; sourceTree = "<group>"; };
00E356F21AD99517003FC87E /* TestProjectTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestProjectTests.m; sourceTree = "<group>"; };
13B07F961A680F5B00A75B9A /* TestProject.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestProject.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = TestProject/AppDelegate.h; sourceTree = "<group>"; };
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = TestProject/AppDelegate.m; sourceTree = "<group>"; };
13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = FWIoT/Images.xcassets; sourceTree = "<group>"; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = FWIoT/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = FWIoT/main.m; sourceTree = "<group>"; };
2D02E47B1E0B4A5D006451C7 /* FWIoT-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "FWIoT-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2D02E4901E0B4A5D006451C7 /* FWIoT-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "FWIoT-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = TestProject/Images.xcassets; sourceTree = "<group>"; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = TestProject/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = TestProject/main.m; sourceTree = "<group>"; };
2D02E47B1E0B4A5D006451C7 /* TestProject-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "TestProject-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2D02E4901E0B4A5D006451C7 /* TestProject-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "TestProject-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
DD27CE7DA8A446B6BB285B68 /* BMJUA_ttf.ttf */ = {isa = PBXFileReference; name = "BMJUA_ttf.ttf"; path = "../assets/fonts/BMJUA_ttf.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
......@@ -86,13 +84,13 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
00E356EF1AD99517003FC87E /* FWIoTTests */ = {
00E356EF1AD99517003FC87E /* TestProjectTests */ = {
isa = PBXGroup;
children = (
00E356F21AD99517003FC87E /* FWIoTTests.m */,
00E356F21AD99517003FC87E /* TestProjectTests.m */,
00E356F01AD99517003FC87E /* Supporting Files */,
);
path = FWIoTTests;
path = TestProjectTests;
sourceTree = "<group>";
};
00E356F01AD99517003FC87E /* Supporting Files */ = {
......@@ -103,7 +101,7 @@
name = "Supporting Files";
sourceTree = "<group>";
};
13B07FAE1A68108700A75B9A /* FWIoT */ = {
13B07FAE1A68108700A75B9A /* TestProject */ = {
isa = PBXGroup;
children = (
008F07F21AC5B25A0029DE68 /* main.jsbundle */,
......@@ -114,7 +112,7 @@
13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
13B07FB71A68108700A75B9A /* main.m */,
);
name = FWIoT;
name = TestProject;
sourceTree = "<group>";
};
2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
......@@ -136,12 +134,12 @@
83CBB9F61A601CBA00E9B192 = {
isa = PBXGroup;
children = (
13B07FAE1A68108700A75B9A /* FWIoT */,
13B07FAE1A68108700A75B9A /* TestProject */,
832341AE1AAA6A7D00B99B32 /* Libraries */,
00E356EF1AD99517003FC87E /* FWIoTTests */,
00E356EF1AD99517003FC87E /* TestProjectTests */,
83CBBA001A601CBA00E9B192 /* Products */,
2D16E6871FA4F8E400B85C8A /* Frameworks */,
1A8883B26DB34EFD935B3086 /* Resources */,
63DAD7E5815F44A1BCFE007A /* Resources */,
);
indentWidth = 2;
sourceTree = "<group>";
......@@ -151,18 +149,17 @@
83CBBA001A601CBA00E9B192 /* Products */ = {
isa = PBXGroup;
children = (
13B07F961A680F5B00A75B9A /* FWIoT.app */,
00E356EE1AD99517003FC87E /* FWIoTTests.xctest */,
2D02E47B1E0B4A5D006451C7 /* FWIoT-tvOS.app */,
2D02E4901E0B4A5D006451C7 /* FWIoT-tvOSTests.xctest */,
13B07F961A680F5B00A75B9A /* TestProject.app */,
00E356EE1AD99517003FC87E /* TestProjectTests.xctest */,
2D02E47B1E0B4A5D006451C7 /* TestProject-tvOS.app */,
2D02E4901E0B4A5D006451C7 /* TestProject-tvOSTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
1A8883B26DB34EFD935B3086 /* Resources */ = {
63DAD7E5815F44A1BCFE007A /* Resources */ = {
isa = "PBXGroup";
children = (
DD27CE7DA8A446B6BB285B68 /* BMJUA_ttf.ttf */,
);
name = Resources;
sourceTree = "<group>";
......@@ -171,9 +168,9 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
00E356ED1AD99517003FC87E /* FWIoTTests */ = {
00E356ED1AD99517003FC87E /* TestProjectTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "FWIoTTests" */;
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "TestProjectTests" */;
buildPhases = (
00E356EA1AD99517003FC87E /* Sources */,
00E356EB1AD99517003FC87E /* Frameworks */,
......@@ -184,14 +181,14 @@
dependencies = (
00E356F51AD99517003FC87E /* PBXTargetDependency */,
);
name = FWIoTTests;
productName = FWIoTTests;
productReference = 00E356EE1AD99517003FC87E /* FWIoTTests.xctest */;
name = TestProjectTests;
productName = TestProjectTests;
productReference = 00E356EE1AD99517003FC87E /* TestProjectTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
13B07F861A680F5B00A75B9A /* FWIoT */ = {
13B07F861A680F5B00A75B9A /* TestProject */ = {
isa = PBXNativeTarget;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "FWIoT" */;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "TestProject" */;
buildPhases = (
FD10A7F022414F080027D42C /* Start Packager */,
13B07F871A680F5B00A75B9A /* Sources */,
......@@ -203,14 +200,14 @@
);
dependencies = (
);
name = FWIoT;
productName = "FWIoT";
productReference = 13B07F961A680F5B00A75B9A /* FWIoT.app */;
name = TestProject;
productName = "TestProject";
productReference = 13B07F961A680F5B00A75B9A /* TestProject.app */;
productType = "com.apple.product-type.application";
};
2D02E47A1E0B4A5D006451C7 /* FWIoT-tvOS */ = {
2D02E47A1E0B4A5D006451C7 /* TestProject-tvOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "FWIoT-tvOS" */;
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "TestProject-tvOS" */;
buildPhases = (
FD10A7F122414F3F0027D42C /* Start Packager */,
2D02E4771E0B4A5D006451C7 /* Sources */,
......@@ -222,14 +219,14 @@
);
dependencies = (
);
name = "FWIoT-tvOS";
productName = "FWIoT-tvOS";
productReference = 2D02E47B1E0B4A5D006451C7 /* FWIoT-tvOS.app */;
name = "TestProject-tvOS";
productName = "TestProject-tvOS";
productReference = 2D02E47B1E0B4A5D006451C7 /* TestProject-tvOS.app */;
productType = "com.apple.product-type.application";
};
2D02E48F1E0B4A5D006451C7 /* FWIoT-tvOSTests */ = {
2D02E48F1E0B4A5D006451C7 /* TestProject-tvOSTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "FWIoT-tvOSTests" */;
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "TestProject-tvOSTests" */;
buildPhases = (
2D02E48C1E0B4A5D006451C7 /* Sources */,
2D02E48D1E0B4A5D006451C7 /* Frameworks */,
......@@ -240,9 +237,9 @@
dependencies = (
2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */,
);
name = "FWIoT-tvOSTests";
productName = "FWIoT-tvOSTests";
productReference = 2D02E4901E0B4A5D006451C7 /* FWIoT-tvOSTests.xctest */;
name = "TestProject-tvOSTests";
productName = "TestProject-tvOSTests";
productReference = 2D02E4901E0B4A5D006451C7 /* TestProject-tvOSTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
......@@ -269,7 +266,7 @@
};
};
};
buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "FWIoT" */;
buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "TestProject" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
......@@ -282,10 +279,10 @@
projectDirPath = "";
projectRoot = "";
targets = (
13B07F861A680F5B00A75B9A /* FWIoT */,
00E356ED1AD99517003FC87E /* FWIoTTests */,
2D02E47A1E0B4A5D006451C7 /* FWIoT-tvOS */,
2D02E48F1E0B4A5D006451C7 /* FWIoT-tvOSTests */,
13B07F861A680F5B00A75B9A /* TestProject */,
00E356ED1AD99517003FC87E /* TestProjectTests */,
2D02E47A1E0B4A5D006451C7 /* TestProject-tvOS */,
2D02E48F1E0B4A5D006451C7 /* TestProject-tvOSTests */,
);
};
/* End PBXProject section */
......@@ -304,7 +301,6 @@
files = (
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
6C64FC6A06D242DBB6C4E507 /* BMJUA_ttf.ttf in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -399,7 +395,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
00E356F31AD99517003FC87E /* FWIoTTests.m in Sources */,
00E356F31AD99517003FC87E /* TestProjectTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -425,7 +421,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2DCD954D1E0B4F2C00145EB5 /* FWIoTTests.m in Sources */,
2DCD954D1E0B4F2C00145EB5 /* TestProjectTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -434,12 +430,12 @@
/* Begin PBXTargetDependency section */
00E356F51AD99517003FC87E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 13B07F861A680F5B00A75B9A /* FWIoT */;
target = 13B07F861A680F5B00A75B9A /* TestProject */;
targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
};
2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 2D02E47A1E0B4A5D006451C7 /* FWIoT-tvOS */;
target = 2D02E47A1E0B4A5D006451C7 /* TestProject-tvOS */;
targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
......@@ -451,7 +447,7 @@
13B07FB21A68108700A75B9A /* Base */,
);
name = LaunchScreen.xib;
path = FWIoT;
path = TestProject;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
......@@ -465,7 +461,7 @@
"DEBUG=1",
"$(inherited)",
);
INFOPLIST_FILE = FWIoTTests/Info.plist;
INFOPLIST_FILE = TestProjectTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
......@@ -475,7 +471,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FWIoT.app/FWIoT";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestProject.app/TestProject";
};
name = Debug;
};
......@@ -484,7 +480,7 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
INFOPLIST_FILE = FWIoTTests/Info.plist;
INFOPLIST_FILE = TestProjectTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
......@@ -494,7 +490,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FWIoT.app/FWIoT";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestProject.app/TestProject";
};
name = Release;
};
......@@ -504,7 +500,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = NO;
INFOPLIST_FILE = FWIoT/Info.plist;
INFOPLIST_FILE = TestProject/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
"$(inherited)",
......@@ -512,7 +508,7 @@
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = FWIoT;
PRODUCT_NAME = TestProject;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
......@@ -522,7 +518,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = 1;
INFOPLIST_FILE = FWIoT/Info.plist;
INFOPLIST_FILE = TestProject/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
"$(inherited)",
......@@ -530,7 +526,7 @@
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = FWIoT;
PRODUCT_NAME = TestProject;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
......@@ -547,14 +543,14 @@
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "FWIoT-tvOS/Info.plist";
INFOPLIST_FILE = "TestProject-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.FWIoT-tvOS";
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.TestProject-tvOS";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
......@@ -574,14 +570,14 @@
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "FWIoT-tvOS/Info.plist";
INFOPLIST_FILE = "TestProject-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.FWIoT-tvOS";
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.TestProject-tvOS";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
......@@ -600,17 +596,17 @@
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "FWIoT-tvOSTests/Info.plist";
INFOPLIST_FILE = "TestProject-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.FWIoT-tvOSTests";
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.TestProject-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FWIoT-tvOS.app/FWIoT-tvOS";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestProject-tvOS.app/TestProject-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
};
name = Debug;
......@@ -626,17 +622,17 @@
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "FWIoT-tvOSTests/Info.plist";
INFOPLIST_FILE = "TestProject-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.FWIoT-tvOSTests";
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.TestProject-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FWIoT-tvOS.app/FWIoT-tvOS";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestProject-tvOS.app/TestProject-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
};
name = Release;
......@@ -743,7 +739,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "FWIoTTests" */ = {
00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "TestProjectTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
00E356F61AD99517003FC87E /* Debug */,
......@@ -752,7 +748,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "FWIoT" */ = {
13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "TestProject" */ = {
isa = XCConfigurationList;
buildConfigurations = (
13B07F941A680F5B00A75B9A /* Debug */,
......@@ -761,7 +757,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "FWIoT-tvOS" */ = {
2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "TestProject-tvOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2D02E4971E0B4A5E006451C7 /* Debug */,
......@@ -770,7 +766,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "FWIoT-tvOSTests" */ = {
2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "TestProject-tvOSTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2D02E4991E0B4A5E006451C7 /* Debug */,
......@@ -779,7 +775,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "FWIoT" */ = {
83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "TestProject" */ = {
isa = XCConfigurationList;
buildConfigurations = (
83CBBA201A601CBA00E9B192 /* Debug */,
......
......@@ -29,9 +29,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
BuildableName = "FWIoT-tvOS.app"
BlueprintName = "FWIoT-tvOS"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject-tvOS.app"
BlueprintName = "TestProject-tvOS"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
......@@ -43,9 +43,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2D02E48F1E0B4A5D006451C7"
BuildableName = "FWIoT-tvOSTests.xctest"
BlueprintName = "FWIoT-tvOSTests"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject-tvOSTests.xctest"
BlueprintName = "TestProject-tvOSTests"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
......@@ -61,9 +61,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2D02E48F1E0B4A5D006451C7"
BuildableName = "FWIoT-tvOSTests.xctest"
BlueprintName = "FWIoT-tvOSTests"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject-tvOSTests.xctest"
BlueprintName = "TestProject-tvOSTests"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
......@@ -71,9 +71,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
BuildableName = "FWIoT-tvOS.app"
BlueprintName = "FWIoT-tvOS"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject-tvOS.app"
BlueprintName = "TestProject-tvOS"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
......@@ -94,9 +94,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
BuildableName = "FWIoT-tvOS.app"
BlueprintName = "FWIoT-tvOS"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject-tvOS.app"
BlueprintName = "TestProject-tvOS"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
......@@ -113,9 +113,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
BuildableName = "FWIoT-tvOS.app"
BlueprintName = "FWIoT-tvOS"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject-tvOS.app"
BlueprintName = "TestProject-tvOS"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
......
......@@ -29,9 +29,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "FWIoT.app"
BlueprintName = "FWIoT"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject.app"
BlueprintName = "TestProject"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
......@@ -43,9 +43,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "00E356ED1AD99517003FC87E"
BuildableName = "FWIoTTests.xctest"
BlueprintName = "FWIoTTests"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProjectTests.xctest"
BlueprintName = "TestProjectTests"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
......@@ -61,9 +61,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "00E356ED1AD99517003FC87E"
BuildableName = "FWIoTTests.xctest"
BlueprintName = "FWIoTTests"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProjectTests.xctest"
BlueprintName = "TestProjectTests"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
......@@ -71,9 +71,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "FWIoT.app"
BlueprintName = "FWIoT"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject.app"
BlueprintName = "TestProject"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
......@@ -94,9 +94,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "FWIoT.app"
BlueprintName = "FWIoT"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject.app"
BlueprintName = "TestProject"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
......@@ -113,9 +113,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "FWIoT.app"
BlueprintName = "FWIoT"
ReferencedContainer = "container:FWIoT.xcodeproj">
BuildableName = "TestProject.app"
BlueprintName = "TestProject"
ReferencedContainer = "container:TestProject.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
......
......@@ -17,7 +17,7 @@
{
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
moduleName:@"FWIoT"
moduleName:@"TestProject"
initialProperties:nil];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
......
......@@ -18,7 +18,7 @@
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="FWIoT" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="TestProject" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
<rect key="frame" x="20" y="140" width="441" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
......
......@@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>FWIoT</string>
<string>TestProject</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
......@@ -54,8 +54,6 @@
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>UIAppFonts</key>
<array>
<string>BMJUA_ttf.ttf</string>
</array>
<array/>
</dict>
</plist>
......
......@@ -14,11 +14,11 @@
#define TIMEOUT_SECONDS 600
#define TEXT_TO_LOOK_FOR @"Welcome to React"
@interface FWIoTTests : XCTestCase
@interface TestProjectTests : XCTestCase
@end
@implementation FWIoTTests
@implementation TestProjectTests
- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test
{
......
This diff could not be displayed because it is too large.
{
"name": "FWIoT",
"name": "TestProject",
"version": "0.0.1",
"private": true,
"scripts": {
......@@ -11,20 +11,24 @@
},
"dependencies": {
"react": "16.9.0",
"react-native": "0.61.5",
"react-native-gesture-handler": "^1.5.2",
"react-native-push-notification": "^3.1.9",
"react-native": "0.61.4",
"react-native-gesture-handler": "^1.5.0",
"react-native-reanimated": "^1.4.0",
"react-native-screens": "^2.0.0-alpha.8",
"react-native-vector-icons": "^6.6.0",
"react-navigation": "^4.0.10",
"react-navigation-stack": "^1.10.3"
"react-navigation-drawer": "^2.3.3",
"react-navigation-stack": "^1.10.3",
"react-navigation-tabs": "^2.5.6"
},
"devDependencies": {
"@babel/core": "^7.6.2",
"@babel/runtime": "^7.6.2",
"@babel/core": "^7.7.2",
"@babel/runtime": "^7.7.2",
"@react-native-community/eslint-config": "^0.0.5",
"babel-jest": "^24.9.0",
"eslint": "^6.5.1",
"eslint": "^6.6.0",
"jest": "^24.9.0",
"metro-react-native-babel-preset": "^0.56.0",
"metro-react-native-babel-preset": "^0.57.0",
"react-test-renderer": "16.9.0"
},
"jest": {
......
var fs = require('fs');
var readline = require('readline');
var google = require('googleapis');
var googleAuth = require('google-auth-library');
var SCOPES = [
'https://www.googleapis.com/auth/calendar.readonly', // 캘린더 정보의 읽기 권한? 입니다.
'https://www.googleapis.com/auth/calendar' // 캘린더 정보의 편집 권한? 입니다.
];
var TOKEN_DIR = (process.env.HOME || process.env.HOMEPATH ||
process.env.USERPROFILE) + '/.credentials/';
// 토큰이 저장될 디렉토리
var TOKEN_PATH = TOKEN_DIR + 'calendar-nodejs-quickstart.json';
// 토큰 파일 명
fs.readFile('client_secret.json', function processClientSecrets(err, content) {
// 로컬의 client_secret.json 파일을 읽고 'authorize' 함수 실행
if (err) {
console.log('Error loading client secret file: ' + err);
return;
}
authorize(JSON.parse(content), listEvents);
});
function authorize(credentials, callback) {
var clientSecret = credentials.web.client_secret;
var clientId = credentials.web.client_id;
var redirectUrl = credentials.web.auth_provider_x509_cert_url;
// client_secret.json 파일에서 시크릿키, 클라이언트 아이디, 리다이렉트 URI를 받습니다.
// 웹 어플리케이션으로 만들었을 때에는 'installed' -> 'web' 으로 수정합니다.
// ex 'var clientSecret = credentials.web.client_secret;'
var auth = new googleAuth();
var oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);
fs.readFile(TOKEN_PATH, function(err, token) {
// 앞서 지정한 디렉토리와 파일명으로 토큰 파일을 읽습니다.
if (err) {
getNewToken(oauth2Client, callback); // 토큰이 없다면 만듭니다.
} else {
oauth2Client.credentials = JSON.parse(token); // 토큰이 있다면 정보를 객체에 담습니다.
callback(oauth2Client);
}
});
}
function getNewToken(oauth2Client, callback) {
var authUrl = oauth2Client.generateAuthUrl({
access_type: 'offline',
scope: SCOPES
});
// 브라우저에 'authUrl'의 링크로 접근하여 데이터 접근에 동의한 후 리다이렉트 되는 URL의
// 'code=' 다음 부분을 복사합니다.
console.log('Authorize this app by visiting this url: ', authUrl);
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
// 복사한 'code=' 다음 부분을 입력합니다.
// 로컬에서 테스트 할때에는 code= 다음 부분의 값이 URL 인코딩이 되어 있을 수 있으니
// URL 디코딩한 후에 입력합니다.
rl.question('Enter the code from that page here: ', function(code) {
rl.close();
oauth2Client.getToken(code, function(err, token) {
if (err) {
console.log('Error while trying to retrieve access token', err);
return;
}
oauth2Client.credentials = token;
storeToken(token);
callback(oauth2Client);
});
});
}
function storeToken(token) {
try {
fs.mkdirSync(TOKEN_DIR);
} catch (err) {
if (err.code != 'EEXIST') {
throw err;
}
}
fs.writeFile(TOKEN_PATH, JSON.stringify(token)); // 토큰을 만듭니다.
console.log('Token stored to ' + TOKEN_PATH);
}
function listEvents(auth) {
// 토큰 인증이 완료되면 최종적으로 실행되는 함수 입니다.
// 아래의 예제는 구글 캘린더에 등록된 이벤트 10개의 정보를 출력합니다.
var calendar = google.calendar('v3');
calendar.events.list({
auth: auth,
calendarId: 'primary', // 이곳에 이벤트를 가져올 캘린더 id를 입력해야 합니다.
timeMin: (new Date()).toISOString(),
maxResults: 10,
singleEvents: true,
orderBy: 'startTime'
}, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
var events = response.items;
if (events.length == 0) {
console.log('No upcoming events found.');
} else {
console.log('Upcoming 10 events:');
for (var i = 0; i < events.length; i++) {
var event = events[i];
var start = event.start.dateTime || event.start.date;
console.log('%s - %s', start, event.summary);
}
}
});
// 다음은 구글 캘린더에 'CHEOLGUSO' 라는 이름의 캘린더가 있는지 확인하여
// 없다면 만들고 있다면 삭제해보겠습니다.
calendar.calendarList.list({
auth : auth
}, function(err, calendarList){
if(err) console.log(err);
var deleteCalendarId; // 캘린더 삭제를 위한 아이디 변수
var isCGSCalendar = false; // 'CHEOLGUSO' 캘린더가 존재하는지 확인하기 위한 변수
// 'CHEOLGUSO' 캘린더가 있는지 확인
for(var i=0; i<calendarList.items.length; i++){
if(calendarList.items[i].summary === 'CHEOLGUSO'){
isCGSCalendar = true;
deleteCalendarId = calendarList.items[i].id;
}
}
if(isCGSCalendar){
// 'CHEOLGUSO' 캘린더가 있다면 캘린더를 지움
calendar.calendars.delete({
auth : auth,
calendarId : deleteCalendarId
}, function(err, calendars){
if(err) console.log(err);
});
}else{
// 'CHEOLGUSO' 캘린더가 없다면 캘린더를 만듬
calendar.calendars.insert({
auth : auth,
resource : {
summary : 'CHEOLGUSO'
}
}, function(err, calendars){
if(err) console.log(err);
});
}
});
}
\ No newline at end of file
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
export default class HomeTab extends Component {
render() {
return (
<View style={style.container}>
<Text>HistoryTab</Text>
</View>
);
}
}
const style = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}
});
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
import WasteDetail from '../WasteDetail'
export default class HomeTab extends Component {
render() {
return (
<View style={style.container}>
<Text>HomeTab</Text>
<WasteDetail></WasteDetail>
</View>
);
}
}
const style = StyleSheet.create({
container: {
flex: 1,
}
});
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
export default class HomeTab extends Component {
render() {
return (
<View style={style.container}>
<Text>SettingTab</Text>
</View>
);
}
}
const style = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}
});
......@@ -19,7 +19,7 @@ export default class Login extends Component {
<View style={styles.container}>
<View style={styles.header}>
<Text
style={{textAlign : 'center', fontSize : 50, fontFamily : "BMJUA_ttf", marginTop:50}}>FW IoT</Text>
style={{textAlign : 'center', fontSize : 50, marginTop:50}}>FW IoT</Text>
</View>
<View style={styles.logo}>
<Image
......@@ -30,9 +30,9 @@ export default class Login extends Component {
<View
style={StyleSheet.inputPart}>
<Text
style={{textAlign:'center',fontSize : 40, marginTop :20, fontFamily : "BMJUA_ttf"}}>Food Waste IoT</Text>
style={{textAlign:'center',fontSize : 40, marginTop :20}}>Food Waste IoT</Text>
<Text
style={{textAlign:'center',fontSize : 15, marginTop :20, fontFamily : "BMJUA_ttf"}}>기기 등록</Text>
style={{textAlign:'center',fontSize : 15, marginTop :20}}>기기 등록</Text>
<TextInput
style={styles.input}
placeholder="ID"
......
import React, { Component, Notifications } from 'react';
import { StyleSheet, Text, View, TextInput, Image, } from 'react-native';
import React, { Component } from 'react';
import { StyleSheet, Platform, View, Text } from 'react-native';
import { createAppContainer } from 'react-navigation';
import { createMaterialTopTabNavigator } from 'react-navigation-tabs'
import HomeTab from './AppTabNavigator/HomeTab'
import HistoryTab from './AppTabNavigator/HistoryTab'
import SettingTab from './AppTabNavigator/SettingTab'
// 하단 탭 네비게이터 생성
const AppTabNavigator = createMaterialTopTabNavigator({
Home: { screen: HomeTab },
History: { screen: HistoryTab },
Setting: { screen: SettingTab }
},{
animationEnabled: true,
swipeEnabled: true,
tabBarPosition: "bottom",
tabBarOptions: {
style: {
...Platform.select({
android:{
backgroundColor:'white',
}
})
},
iconStyle: { height: 10 },
activeTintColor: '#000',
inactiveTintColor: '#d1cece',
upperCaseLabel: true,
showLabel: true,
showIcon: true,
}
});
export default class Login extends Component {
const AppTabContainet = createAppContainer(AppTabNavigator);
constructor(props) {
super(props);
this.state = {
ID: this.props.navigation.getParam('ID'),
};
}
static navigationOptions = {
title: 'MainScreen',
};
export default class MainScreen extends Component {
render() {
return (
<View style={styles.container}>
<View style={styles.header}>
<Text>{this.state.ID}</Text>
</View>
</View>
);
}
constructor(props) {
super(props);
this.state = {
ID: this.props.navigation.getParam('ID'),
};
}
static navigationOptions = {
title: 'FW IOT' }
render() {
return <AppTabContainet/>; // AppTabContainet 컴포넌트를 리턴한다.
}
}
var PushNotification = require('react-native-push-notification');
PushNotification.configure({
// (optional) Called when Token is generated (iOS and Android)
onRegister: function(token) {
console.log( 'TOKEN:', token );
},
// (required) Called when a remote or local notification is opened or received
onNotification: function(notification) {
console.log( 'NOTIFICATION:', notification );
},
// ANDROID ONLY: GCM Sender ID (optional - not required for local notifications, but is need to receive remote push notifications)
senderID: "YOUR GCM SENDER ID",
// IOS ONLY (optional): default: all - Permissions to register.
permissions: {
alert: true,
badge: true,
sound: true
},
// Should the initial notification be popped automatically
// default: true
popInitialNotification: true,
/**
* (optional) default: true
* - Specified if permissions (ios) and token (android and ios) will requested or not,
* - if not, you must call PushNotificationsHandler.requestPermissions() later
*/
requestPermissions: true,
});
const styles = StyleSheet.create({
input: {
height: 50,
width: 250,
fontSize: 0,
alignSelf: 'center',
borderRadius: 1,
borderStyle: 'dotted',
borderBottomColor: "#0066cc",
borderBottomWidth: 2,
},
container: {
flex: 1,
backgroundColor: 'white',
},
header: {
flex: 2,
backgroundColor: 'white',
},
logo: {
flex: 4,
backgroundColor: 'white',
},
inputPart: {
flex: 4,
backgroundColor: 'white',
},
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
});
......
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
export default class HomeTab extends Component {
render() {
return (
<View style={style.container}>
<Text> 3.8kg 추가</Text>
</View>
);
}
}
const style = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "rgba(230,230,230,0.5)"
}
});
This diff could not be displayed because it is too large.