diff --git a/.DS_Store b/.DS_Store index 70851af..3b7abc4 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/NexacroN/.DS_Store b/NexacroN/.DS_Store new file mode 100644 index 0000000..bdffabd Binary files /dev/null and b/NexacroN/.DS_Store differ diff --git a/NexacroN/Android/.DS_Store b/NexacroN/Android/.DS_Store new file mode 100644 index 0000000..054b95f Binary files /dev/null and b/NexacroN/Android/.DS_Store differ diff --git a/NexacroN/Android/nexacroApp/.gitignore b/NexacroN/Android/nexacroApp/.gitignore new file mode 100644 index 0000000..ec4c59d --- /dev/null +++ b/NexacroN/Android/nexacroApp/.gitignore @@ -0,0 +1,85 @@ +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ +# Uncomment the following line in case you need and you don't have the release build type files in your app +# release/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +# Android Studio 3 in .gitignore file. +.idea/caches +.idea/modules.xml +# Comment next line if keeping position of elements in Navigation Editor is relevant for you +.idea/navEditor.xml + +# Keystore files +# Uncomment the following lines if you do not want to check your keystore files in. +#*.jks +#*.keystore + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +# Version control +vcs.xml + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ +# lint/reports/ \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/.idea/compiler.xml b/NexacroN/Android/nexacroApp/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/NexacroN/Android/nexacroApp/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/.idea/encodings.xml b/NexacroN/Android/nexacroApp/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/NexacroN/Android/nexacroApp/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/.idea/jarRepositories.xml b/NexacroN/Android/nexacroApp/.idea/jarRepositories.xml new file mode 100644 index 0000000..a5f05cd --- /dev/null +++ b/NexacroN/Android/nexacroApp/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/.idea/misc.xml b/NexacroN/Android/nexacroApp/.idea/misc.xml new file mode 100644 index 0000000..98de6fa --- /dev/null +++ b/NexacroN/Android/nexacroApp/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/.idea/runConfigurations.xml b/NexacroN/Android/nexacroApp/.idea/runConfigurations.xml new file mode 100644 index 0000000..797acea --- /dev/null +++ b/NexacroN/Android/nexacroApp/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/app/.gitignore b/NexacroN/Android/nexacroApp/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/app/build.gradle b/NexacroN/Android/nexacroApp/app/build.gradle new file mode 100644 index 0000000..1770e86 --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/build.gradle @@ -0,0 +1,45 @@ +plugins { + id 'com.android.application' +} + +android { + compileSdkVersion 30 + + defaultConfig { + applicationId "com.example.nexacroapp" + minSdkVersion 21 + targetSdkVersion 30 + versionCode 1 + versionName "1.0" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation 'androidx.appcompat:appcompat:1.3.0' + implementation 'androidx.exifinterface:exifinterface:1.3.2' + + implementation 'com.google.android.material:material:1.3.0' + implementation 'com.google.android.gms:play-services-maps:17.0.1' + implementation 'com.google.android.gms:play-services-location:18.0.0' + + implementation 'com.google.firebase:firebase-core:18.0.3' + implementation 'com.google.firebase:firebase-messaging:21.1.0' + + implementation 'com.neovisionaries:nv-websocket-client:2.14' + + // nexacro.aar은 project/app/libs 에 위치 시킨다. + implementation name: 'nexacro', ext: 'aar' +} + +apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/app/google-services.json b/NexacroN/Android/nexacroApp/app/google-services.json new file mode 100644 index 0000000..8967170 --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/google-services.json @@ -0,0 +1,42 @@ +{ + "project_info": { + "project_number": "995072755403", + "firebase_url": "https://summer-nexus-581.firebaseio.com", + "project_id": "summer-nexus-581", + "storage_bucket": "summer-nexus-581.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:995072755403:android:28b014c688afb816", + "android_client_info": { + "package_name": "com.example.nexacroapp" + } + }, + "oauth_client": [ + { + "client_id": "995072755403-ksam7299dh20s90batq23eis6gpv1749.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyAaOYYoqFY9-AcA_P5jUtK_-2EmeoLvy7g" + } + ], + "services": { + "analytics_service": { + "status": 1 + }, + "appinvite_service": { + "status": 1, + "other_platform_oauth_client": [] + }, + "ads_service": { + "status": 2 + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/app/libs/이곳에_nexacro.aar을_위치시킨다.txt b/NexacroN/Android/nexacroApp/app/libs/이곳에_nexacro.aar을_위치시킨다.txt new file mode 100644 index 0000000..e69de29 diff --git a/NexacroN/Android/nexacroApp/app/proguard-rules.pro b/NexacroN/Android/nexacroApp/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/app/src/main/AndroidManifest.xml b/NexacroN/Android/nexacroApp/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..23ad253 --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/src/main/AndroidManifest.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/app/src/main/java/com/example/nexacroapp/MainActivity.java b/NexacroN/Android/nexacroApp/app/src/main/java/com/example/nexacroapp/MainActivity.java new file mode 100644 index 0000000..6931793 --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/src/main/java/com/example/nexacroapp/MainActivity.java @@ -0,0 +1,60 @@ +package com.example.nexacroapp; + + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; + +import com.nexacro.NexacroResourceManager; +import com.nexacro.NexacroUpdatorActivity; + +public class MainActivity extends NexacroUpdatorActivity { + + public MainActivity() { + super(); + + setProjectURL("http://your project url"); + setBootstrapURL("http://your bootstrap url/start_android.json"); + + // Default startupClass is NexacroActivity.class for NexacroView + // setStartupClass(UserCustomActivity.class); + + /* for extends NexacroActivity (for soZam module, archive 없이 구동)*/ + //NexacroResourceManager.createInstance(this); + //NexacroResourceManager.getInstance().setBootstrapURL("http://your bootstrap url/start_android.json", true); + //NexacroResourceManager.getInstance().setProjectURL("http://your project url"); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + // updatetype : server 인 경우에만 아래 주석제거, 기본값은 false 임(update / local ) + //NexacroResourceManager.createInstance(this); + //NexacroResourceManager.getInstance().setDirect(true); + + Intent intent = getIntent(); + if(intent != null) { + String bootstrapURL = intent.getStringExtra("bootstrapURL"); + String projectUrl = intent.getStringExtra("projectUrl"); + if(bootstrapURL != null) { + setBootstrapURL(bootstrapURL); + setProjectURL(projectUrl); + } + } + + super.onCreate(savedInstanceState); + + if (!isTaskRoot()) { + intent = getIntent(); + if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(intent.getAction())) { + startRuntime(); + finish(); + return; + } + } + } + + @Override + public void setContentView(View view) { + super.setContentView(view); + } +} diff --git a/NexacroN/Android/nexacroApp/app/src/main/res/values-ja/strings.xml b/NexacroN/Android/nexacroApp/app/src/main/res/values-ja/strings.xml new file mode 100644 index 0000000..22869cf --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/src/main/res/values-ja/strings.xml @@ -0,0 +1,3 @@ + + nexacro N + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/app/src/main/res/values-ko/strings.xml b/NexacroN/Android/nexacroApp/app/src/main/res/values-ko/strings.xml new file mode 100644 index 0000000..22869cf --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/src/main/res/values-ko/strings.xml @@ -0,0 +1,3 @@ + + nexacro N + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/app/src/main/res/values-zh/strings.xml b/NexacroN/Android/nexacroApp/app/src/main/res/values-zh/strings.xml new file mode 100644 index 0000000..22869cf --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/src/main/res/values-zh/strings.xml @@ -0,0 +1,3 @@ + + nexacro N + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/app/src/main/res/values/strings.xml b/NexacroN/Android/nexacroApp/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..22869cf --- /dev/null +++ b/NexacroN/Android/nexacroApp/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + nexacro N + \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/build.gradle b/NexacroN/Android/nexacroApp/build.gradle new file mode 100644 index 0000000..0ddc8a7 --- /dev/null +++ b/NexacroN/Android/nexacroApp/build.gradle @@ -0,0 +1,28 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + repositories { + google() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:4.2.1' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + classpath 'com.google.gms:google-services:4.3.5' + } +} + +allprojects { + repositories { + google() + jcenter() + flatDir { + dirs 'libs' + } + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/gradle.properties b/NexacroN/Android/nexacroApp/gradle.properties new file mode 100644 index 0000000..52f5917 --- /dev/null +++ b/NexacroN/Android/nexacroApp/gradle.properties @@ -0,0 +1,19 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true \ No newline at end of file diff --git a/NexacroN/Android/nexacroApp/gradle/wrapper/gradle-wrapper.jar b/NexacroN/Android/nexacroApp/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..f6b961f Binary files /dev/null and b/NexacroN/Android/nexacroApp/gradle/wrapper/gradle-wrapper.jar differ diff --git a/NexacroN/Android/nexacroApp/gradle/wrapper/gradle-wrapper.properties b/NexacroN/Android/nexacroApp/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..97b4169 --- /dev/null +++ b/NexacroN/Android/nexacroApp/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Thu Mar 04 11:46:46 KST 2021 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip diff --git a/NexacroN/Android/nexacroApp/gradlew b/NexacroN/Android/nexacroApp/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/NexacroN/Android/nexacroApp/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/NexacroN/Android/nexacroApp/gradlew.bat b/NexacroN/Android/nexacroApp/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/NexacroN/Android/nexacroApp/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/NexacroN/Android/nexacroApp/settings.gradle b/NexacroN/Android/nexacroApp/settings.gradle new file mode 100644 index 0000000..194761a --- /dev/null +++ b/NexacroN/Android/nexacroApp/settings.gradle @@ -0,0 +1,2 @@ +include ':app' +rootProject.name = "nexacroApp" \ No newline at end of file diff --git a/NexacroN/iOS/.DS_Store b/NexacroN/iOS/.DS_Store new file mode 100644 index 0000000..9fa6ac2 Binary files /dev/null and b/NexacroN/iOS/.DS_Store differ diff --git a/NexacroN/iOS/nexacroApp/.DS_Store b/NexacroN/iOS/nexacroApp/.DS_Store new file mode 100644 index 0000000..f23a062 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/.DS_Store differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp.xcodeproj/project.pbxproj b/NexacroN/iOS/nexacroApp/nexacroApp.xcodeproj/project.pbxproj new file mode 100644 index 0000000..0c9576c --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp.xcodeproj/project.pbxproj @@ -0,0 +1,470 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 616B47C1269BF339007F3453 /* Default-Portrait@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 616B47BE269BF339007F3453 /* Default-Portrait@2x~ipad.png */; }; + 616B47C2269BF339007F3453 /* Default-Portrait~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 616B47BF269BF339007F3453 /* Default-Portrait~ipad.png */; }; + 616B47C3269BF339007F3453 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 616B47C0269BF339007F3453 /* Default-568h@2x.png */; }; + 61A14D3420293FDF00CED070 /* archive in Resources */ = {isa = PBXBuildFile; fileRef = 61A14D3320293FDF00CED070 /* archive */; }; + 61ACF339263BBA4B00073FD1 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 61ACF338263BB91600073FD1 /* libc++.tbd */; }; + B8C6CB241DF79E2F00E2F1F7 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B8C6CB221DF79E2E00E2F1F7 /* Localizable.strings */; }; + B8CFAF431F6222DE00307D08 /* splashimage_pad_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = B8CFAF411F6222DE00307D08 /* splashimage_pad_landscape.png */; }; + B8CFAF441F6222DE00307D08 /* splashimage_phone_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = B8CFAF421F6222DE00307D08 /* splashimage_phone_landscape.png */; }; + B8EAFA361F74A45C0013FF17 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B8EAFA351F74A45C0013FF17 /* Launch Screen.storyboard */; }; + B8EC88121DE702DD00C30DD6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B8EC88111DE702DD00C30DD6 /* main.m */; }; + B8EC88151DE702DE00C30DD6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B8EC88141DE702DE00C30DD6 /* AppDelegate.m */; }; + B8EC885C1DE71AA000C30DD6 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = B8EC885A1DE71AA000C30DD6 /* Icon.png */; }; + B8EC885D1DE71AA000C30DD6 /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B8EC885B1DE71AA000C30DD6 /* Icon@2x.png */; }; + B8EC88761DE71C7B00C30DD6 /* splashimage_pad_portrait.png in Resources */ = {isa = PBXBuildFile; fileRef = B8EC88711DE71C7B00C30DD6 /* splashimage_pad_portrait.png */; }; + B8EC88771DE71C7B00C30DD6 /* splashimage_phone_portrait.png in Resources */ = {isa = PBXBuildFile; fileRef = B8EC88721DE71C7B00C30DD6 /* splashimage_phone_portrait.png */; }; + B8EC88A41DE7DEA500C30DD6 /* data in Resources */ = {isa = PBXBuildFile; fileRef = B8EC88A31DE7DEA500C30DD6 /* data */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 616B47BE269BF339007F3453 /* Default-Portrait@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait@2x~ipad.png"; sourceTree = ""; }; + 616B47BF269BF339007F3453 /* Default-Portrait~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait~ipad.png"; sourceTree = ""; }; + 616B47C0269BF339007F3453 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + 61A14D3320293FDF00CED070 /* archive */ = {isa = PBXFileReference; lastKnownFileType = folder; name = archive; path = nexacroApp/archive; sourceTree = ""; }; + 61ACF338263BB91600073FD1 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; + 61C0CDA9264B9A4E0091183F /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + B8B639D91F09DCDD002BFA20 /* nexacroApp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = nexacroApp.entitlements; sourceTree = ""; }; + B8C6CB231DF79E2F00E2F1F7 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + B8C6CB251DF79E4000E2F1F7 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + B8C6CB261DF79E5800E2F1F7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + B8CFAF411F6222DE00307D08 /* splashimage_pad_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = splashimage_pad_landscape.png; sourceTree = ""; }; + B8CFAF421F6222DE00307D08 /* splashimage_phone_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = splashimage_phone_landscape.png; sourceTree = ""; }; + B8EAFA351F74A45C0013FF17 /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = ""; }; + B8EC880D1DE702DD00C30DD6 /* nexacroApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = nexacroApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + B8EC88111DE702DD00C30DD6 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + B8EC88131DE702DE00C30DD6 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + B8EC88141DE702DE00C30DD6 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + B8EC88211DE702DE00C30DD6 /* nexacroApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "nexacroApp-Info.plist"; sourceTree = ""; }; + B8EC882C1DE707C000C30DD6 /* nexacroApp-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "nexacroApp-Prefix.pch"; sourceTree = ""; }; + B8EC885A1DE71AA000C30DD6 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = ""; }; + B8EC885B1DE71AA000C30DD6 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon@2x.png"; sourceTree = ""; }; + B8EC88711DE71C7B00C30DD6 /* splashimage_pad_portrait.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = splashimage_pad_portrait.png; sourceTree = ""; }; + B8EC88721DE71C7B00C30DD6 /* splashimage_phone_portrait.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = splashimage_phone_portrait.png; sourceTree = ""; }; + B8EC889B1DE7D68800C30DD6 /* nexacro.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = nexacro.framework; sourceTree = ""; }; + B8EC88A31DE7DEA500C30DD6 /* data */ = {isa = PBXFileReference; lastKnownFileType = folder; name = data; path = nexacroApp/data; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + B8EC880A1DE702DD00C30DD6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 61ACF339263BBA4B00073FD1 /* libc++.tbd in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 61ACF337263BB91600073FD1 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 61ACF338263BB91600073FD1 /* libc++.tbd */, + ); + name = Frameworks; + sourceTree = ""; + }; + B8EC88041DE702DD00C30DD6 = { + isa = PBXGroup; + children = ( + 61A14D3320293FDF00CED070 /* archive */, + B8EC88A31DE7DEA500C30DD6 /* data */, + B8EC88981DE7D2D300C30DD6 /* Library */, + B8EC880F1DE702DD00C30DD6 /* nexacroApp */, + B8EC880E1DE702DD00C30DD6 /* Products */, + 61ACF337263BB91600073FD1 /* Frameworks */, + ); + sourceTree = ""; + }; + B8EC880E1DE702DD00C30DD6 /* Products */ = { + isa = PBXGroup; + children = ( + B8EC880D1DE702DD00C30DD6 /* nexacroApp.app */, + ); + name = Products; + sourceTree = ""; + }; + B8EC880F1DE702DD00C30DD6 /* nexacroApp */ = { + isa = PBXGroup; + children = ( + B8B639D91F09DCDD002BFA20 /* nexacroApp.entitlements */, + B8EC88101DE702DD00C30DD6 /* Supporting Files */, + B8EC88591DE71A8200C30DD6 /* res */, + B8EC88131DE702DE00C30DD6 /* AppDelegate.h */, + B8EC88141DE702DE00C30DD6 /* AppDelegate.m */, + ); + path = nexacroApp; + sourceTree = ""; + }; + B8EC88101DE702DD00C30DD6 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + B8C6CB221DF79E2E00E2F1F7 /* Localizable.strings */, + B8EC88111DE702DD00C30DD6 /* main.m */, + B8EC88211DE702DE00C30DD6 /* nexacroApp-Info.plist */, + B8EC882C1DE707C000C30DD6 /* nexacroApp-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + B8EC88591DE71A8200C30DD6 /* res */ = { + isa = PBXGroup; + children = ( + B8EC885E1DE71ACD00C30DD6 /* splashimage */, + B8EAFA351F74A45C0013FF17 /* Launch Screen.storyboard */, + B8EC885A1DE71AA000C30DD6 /* Icon.png */, + B8EC885B1DE71AA000C30DD6 /* Icon@2x.png */, + ); + path = res; + sourceTree = ""; + }; + B8EC885E1DE71ACD00C30DD6 /* splashimage */ = { + isa = PBXGroup; + children = ( + 616B47C0269BF339007F3453 /* Default-568h@2x.png */, + 616B47BE269BF339007F3453 /* Default-Portrait@2x~ipad.png */, + 616B47BF269BF339007F3453 /* Default-Portrait~ipad.png */, + B8EC88711DE71C7B00C30DD6 /* splashimage_pad_portrait.png */, + B8CFAF411F6222DE00307D08 /* splashimage_pad_landscape.png */, + B8EC88721DE71C7B00C30DD6 /* splashimage_phone_portrait.png */, + B8CFAF421F6222DE00307D08 /* splashimage_phone_landscape.png */, + ); + path = splashimage; + sourceTree = ""; + }; + B8EC88981DE7D2D300C30DD6 /* Library */ = { + isa = PBXGroup; + children = ( + B8EC889B1DE7D68800C30DD6 /* nexacro.framework */, + ); + name = Library; + path = nexacroApp/Library; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + B8EC880C1DE702DD00C30DD6 /* nexacroApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = B8EC88241DE702DE00C30DD6 /* Build configuration list for PBXNativeTarget "nexacroApp" */; + buildPhases = ( + B8EC88091DE702DD00C30DD6 /* Sources */, + B8EC880A1DE702DD00C30DD6 /* Frameworks */, + B8EC880B1DE702DD00C30DD6 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = nexacroApp; + productName = nexacroApp; + productReference = B8EC880D1DE702DD00C30DD6 /* nexacroApp.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + B8EC88051DE702DD00C30DD6 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1250; + ORGANIZATIONNAME = com.tobesoft; + TargetAttributes = { + B8EC880C1DE702DD00C30DD6 = { + CreatedOnToolsVersion = 8.1; + DevelopmentTeam = RAH8A8577Q; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.BackgroundModes = { + enabled = 1; + }; + com.apple.Maps.iOS = { + enabled = 0; + }; + com.apple.Push = { + enabled = 1; + }; + com.apple.iCloud = { + enabled = 0; + }; + }; + }; + }; + }; + buildConfigurationList = B8EC88081DE702DD00C30DD6 /* Build configuration list for PBXProject "nexacroApp" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + Base, + ko, + ja, + en, + "zh-Hans", + ); + mainGroup = B8EC88041DE702DD00C30DD6; + productRefGroup = B8EC880E1DE702DD00C30DD6 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + B8EC880C1DE702DD00C30DD6 /* nexacroApp */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + B8EC880B1DE702DD00C30DD6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B8EC88A41DE7DEA500C30DD6 /* data in Resources */, + B8EC88761DE71C7B00C30DD6 /* splashimage_pad_portrait.png in Resources */, + 61A14D3420293FDF00CED070 /* archive in Resources */, + B8CFAF431F6222DE00307D08 /* splashimage_pad_landscape.png in Resources */, + B8EAFA361F74A45C0013FF17 /* Launch Screen.storyboard in Resources */, + 616B47C1269BF339007F3453 /* Default-Portrait@2x~ipad.png in Resources */, + B8EC88771DE71C7B00C30DD6 /* splashimage_phone_portrait.png in Resources */, + B8CFAF441F6222DE00307D08 /* splashimage_phone_landscape.png in Resources */, + B8EC885C1DE71AA000C30DD6 /* Icon.png in Resources */, + 616B47C3269BF339007F3453 /* Default-568h@2x.png in Resources */, + B8EC885D1DE71AA000C30DD6 /* Icon@2x.png in Resources */, + B8C6CB241DF79E2F00E2F1F7 /* Localizable.strings in Resources */, + 616B47C2269BF339007F3453 /* Default-Portrait~ipad.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + B8EC88091DE702DD00C30DD6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B8EC88151DE702DE00C30DD6 /* AppDelegate.m in Sources */, + B8EC88121DE702DD00C30DD6 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + B8C6CB221DF79E2E00E2F1F7 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + B8C6CB231DF79E2F00E2F1F7 /* ko */, + B8C6CB251DF79E4000E2F1F7 /* ja */, + B8C6CB261DF79E5800E2F1F7 /* en */, + 61C0CDA9264B9A4E0091183F /* zh-Hans */, + ); + name = Localizable.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + B8EC88221DE702DE00C30DD6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + B8EC88231DE702DE00C30DD6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + B8EC88251DE702DE00C30DD6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_ENTITLEMENTS = nexacroApp/nexacroApp.entitlements; + DEVELOPMENT_TEAM = RAH8A8577Q; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/nexacroApp/Library", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "nexacroApp/nexacroApp-Prefix.pch"; + INFOPLIST_FILE = "nexacroApp/nexacroApp-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + ONLY_ACTIVE_ARCH = NO; + OTHER_LDFLAGS = ( + "$(inherited)", + "-framework", + nexacro, + ); + PRODUCT_BUNDLE_IDENTIFIER = com.tobesoft.nexacroApp; + PRODUCT_NAME = "${TARGET_NAME}"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALID_ARCHS = ""; + "VALID_ARCHS[sdk=iphoneos*]" = "armv7 armv7s arm64"; + "VALID_ARCHS[sdk=iphonesimulator*]" = x86_64; + }; + name = Debug; + }; + B8EC88261DE702DE00C30DD6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_OBJC_ARC = YES; + CODE_SIGN_ENTITLEMENTS = nexacroApp/nexacroApp.entitlements; + DEVELOPMENT_TEAM = RAH8A8577Q; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/nexacroApp/Library", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "nexacroApp/nexacroApp-Prefix.pch"; + INFOPLIST_FILE = "nexacroApp/nexacroApp-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + ONLY_ACTIVE_ARCH = NO; + OTHER_LDFLAGS = ( + "$(inherited)", + "-framework", + nexacro, + ); + PRODUCT_BUNDLE_IDENTIFIER = com.tobesoft.nexacroApp; + PRODUCT_NAME = "${TARGET_NAME}"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALID_ARCHS = ""; + "VALID_ARCHS[sdk=iphoneos*]" = "armv7 armv7s arm64"; + "VALID_ARCHS[sdk=iphonesimulator*]" = x86_64; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + B8EC88081DE702DD00C30DD6 /* Build configuration list for PBXProject "nexacroApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B8EC88221DE702DE00C30DD6 /* Debug */, + B8EC88231DE702DE00C30DD6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B8EC88241DE702DE00C30DD6 /* Build configuration list for PBXNativeTarget "nexacroApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B8EC88251DE702DE00C30DD6 /* Debug */, + B8EC88261DE702DE00C30DD6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = B8EC88051DE702DD00C30DD6 /* Project object */; +} diff --git a/NexacroN/iOS/nexacroApp/nexacroApp.xcodeproj/xcshareddata/xcschemes/nexacroApp.xcscheme b/NexacroN/iOS/nexacroApp/nexacroApp.xcodeproj/xcshareddata/xcschemes/nexacroApp.xcscheme new file mode 100644 index 0000000..9dc939b --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp.xcodeproj/xcshareddata/xcschemes/nexacroApp.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/AppDelegate.h b/NexacroN/iOS/nexacroApp/nexacroApp/AppDelegate.h new file mode 100644 index 0000000..4ebf03f --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/AppDelegate.h @@ -0,0 +1,18 @@ +// +// AppDelegate.h +// nexacroApp +// +// Created by 김재환 on 2016. 11. 24.. +// Copyright © 2016년 com.tobesoft. All rights reserved. +// + +#import +#import +#import + +@interface AppViewController : NexacroMainViewController +@end + +@interface AppDelegate : NexacroAppDelegate +- (NexacroMainViewController*)initializeMainViewController; +@end diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/AppDelegate.m b/NexacroN/iOS/nexacroApp/nexacroApp/AppDelegate.m new file mode 100644 index 0000000..221bc58 --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/AppDelegate.m @@ -0,0 +1,62 @@ +// +// AppDelegate.m +// nexacroApp +// +// Created by 김재환 on 2016. 11. 24.. +// Copyright © 2016년 com.tobesoft. All rights reserved. +// + +#import "AppDelegate.h" +#import + +@interface WebViewDelegate : NexacroWKWebViewDelegate +@end + +@implementation AppViewController + +// 자동 회전 지원 여부 (YES/NO) +- (BOOL)shouldAutorotate +{ + return YES; +} + +// 회전방향 지원 유무 리턴 (리턴값은 회전 방향의 비트값이 설정된 플러그) +- (UIInterfaceOrientationMask)supportedInterfaceOrientations +{ + return UIInterfaceOrientationMaskAll; +} + +@end + +@implementation AppDelegate + +- (NexacroMainViewController*)initializeMainViewController +{ + NSString *bootstrapUrl = @".../_ios_/start_ios.json"; + + [[NexacroResourceManager sharedResourceManager] setBootstrapURL:bootstrapUrl isDirect:NO]; + + // WKWebView에서 발생하는 delegate이벤트가 필요없는 경우의 초기화 방법 + // AppViewController* controller = [[AppViewController alloc] initWithFullScreen:NO]; + + // WKWebView 에서 발생하는 delegate 이벤트를 받아야 할 경우의 초기화 방법 + WebViewDelegate* webviewDelegate = [[WebViewDelegate alloc] init]; + AppViewController* controller = [[AppViewController alloc] initWithFullScreen:NO + andWebviewDelegate:webviewDelegate]; + + return controller; +} + +@end + +// WKWebView의 delegate이벤트를 받기위해 AppViewController를 초기화 할때 전달하는 구현체 +@implementation WebViewDelegate + +#pragma mark - WKWebView - WKNavigationDelegate +- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation +{ + [super webView:webView didFinishNavigation:navigation]; + + // 넥사크로 로딩이 완료되는 시점입니다. +} +@end diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/Library/.gitkeep b/NexacroN/iOS/nexacroApp/nexacroApp/Library/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/archive/.keep b/NexacroN/iOS/nexacroApp/nexacroApp/archive/.keep new file mode 100644 index 0000000..e69de29 diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/data/nexacro_config.xml b/NexacroN/iOS/nexacroApp/nexacroApp/data/nexacro_config.xml new file mode 100644 index 0000000..e543c1f --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/data/nexacro_config.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/en.lproj/Localizable.strings b/NexacroN/iOS/nexacroApp/nexacroApp/en.lproj/Localizable.strings new file mode 100644 index 0000000..d906af8 --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/en.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* + Localizable.strings + Nexacro + + Created by 오 영진 on 12. 12. 3.. + +*/ + +"needupdate" = "It is need to update. \r\nIt will start after the update is completed."; +"force_close" = "Update is Completed."; +"loadingFail" = "First loading is fail. \r\nPlease restart."; +"updateFail" = "Update is fail. \r\nPlease restart."; +"notexist" = "Start file is NOT exist. \r\nPlease restart."; +"BeingUpdated" = "Being updated."; +"wantreplace" = "There is a file of the save name. Do you want to replace? "; +"ok" = "OK"; +"cancel" = "Cancel"; +"alert_title" = ""; +"move" = "Move"; +"upper" = "Upper"; +"filter" = "Filter"; +"home" = "Home"; +"nofilename" = "No File Name."; +"checkforupdates" = "Check for updates."; +"installforupdates" = "Install for updates."; +"downloadingforupdates" = "Downloading for updates."; +"new_engine_available" = "Engine update required."; diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/ja.lproj/Localizable.strings b/NexacroN/iOS/nexacroApp/nexacroApp/ja.lproj/Localizable.strings new file mode 100644 index 0000000..c583dc7 --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/ja.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* + Localizable.strings + Nexacro + + Created by 오 영진 on 12. 12. 3.. + +*/ + +"needupdate" = "アップデートがあります。\r\n完了した後に始まります。"; +"force_close" = "アップデートが完了しました。"; +"loadingFail" = "初期ロードに失敗しました。\r\n再起動してください。"; +"updateFail" ="アップデートが失敗しました。\r\n再起動してください。"; +"notexist" = "起動ファイルがありません。\r\n再起動してください。"; +"BeingUpdated" = "アップデート中です。"; +"wantreplace" = "同一のファイル名があります。上書きしますか?"; +"ok" = "確認"; +"cancel" = "キャンセル"; +"alert_title" = ""; +"move" = "移動"; +"upper" = "上位"; +"filter" = "フィルター"; +"home" = "ホーム"; +"nofilename" = "ファイル名がありません。"; +"checkforupdates" = "アップデート確認中です。"; +"installforupdates" = "アップデート設置中です。"; +"downloadingforupdates" = "アップデートダウン中です。"; +"new_engine_available" = "新規バージョンがご利用になれます。"; diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/ko.lproj/Localizable.strings b/NexacroN/iOS/nexacroApp/nexacroApp/ko.lproj/Localizable.strings new file mode 100644 index 0000000..d351cc3 --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/ko.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* + Localizable.strings + Nexacro + + Created by 오 영진 on 12. 12. 3.. + +*/ + +"needupdate" = "업데이트가 있습니다. \r\n업데이트 완료 후 시작됩니다."; +"force_close" = "업데이트 되었습니다."; +"loadingFail" = "초기 로딩이 실패하였습니다. \r\n재시작 해 주세요."; +"updateFail" = "업데이트가 실패하였습니다. \r\n재시작 해 주세요."; +"notexist" = "구동에 필요한 파일이 없습니다. \r\n재시작 해 주세요."; +"BeingUpdated" = "업데이트 중입니다."; +"wantreplace" = "동일한 파일이 이미 존재합니다. 바꾸시겠습니까?"; +"ok" = "확인"; +"cancel" = "취소"; +"alert_title" = ""; +"move" = "이동"; +"upper" = "상위"; +"filter" = "필터"; +"home" = "홈"; +"nofilename" = "파일명이 없습니다."; +"checkforupdates" = "업데이트 확인 중입니다."; +"installforupdates" = "업데이트 설치 중입니다."; +"downloadingforupdates" = "업데이트 다운 중입니다."; +"new_engine_available" = "새로운 엔진 버전이 있습니다.\r\n업데이트 하십시오."; diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/main.m b/NexacroN/iOS/nexacroApp/nexacroApp/main.m new file mode 100644 index 0000000..a634e0b --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/main.m @@ -0,0 +1,16 @@ +// +// main.m +// nexacroApp +// +// Created by 김재환 on 2016. 11. 24.. +// Copyright © 2016년 com.tobesoft. All rights reserved. +// + +#import +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/nexacroApp-Info.plist b/NexacroN/iOS/nexacroApp/nexacroApp/nexacroApp-Info.plist new file mode 100644 index 0000000..b692a6a --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/nexacroApp-Info.plist @@ -0,0 +1,100 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSApplicationCategoryType + + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + NSLocationAlwaysUsageDescription + Google Map 사용자 위치 서비스에 사용됩니다. + NSLocationUsageDescription + Google Map 사용자 위치 서비스에 사용됩니다. + NSLocationWhenInUseUsageDescription + Google Map 사용자 위치 서비스에 사용됩니다. + UIBackgroundModes + + UIFileSharingEnabled + + UILaunchStoryboardName + Launch Screen + UIRequiredDeviceCapabilities + + armv7 + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + + UIViewControllerBasedStatusBarAppearance + + LSApplicationQueriesSchemes + + ExternalAPITest + + NSCameraUsageDescription + 카메라에 접근하기 위해 사용됩니다. + NSPhotoLibraryAddUsageDescription + 앨범에 접근하기 위해 사용됩니다. + NSPhotoLibraryUsageDescription + 앨범에 접근하기 위해 사용됩니다. + CFBundleURLTypes + + + CFBundleURLName + com.tobesoft.nexacroApp + CFBundleURLSchemes + + nexacroApp + + + + NSBluetoothAlwaysUsageDescription + 블루투스에 접근하기 위해 사용됩니다. + NSBluetoothPeripheralUsageDescription + 블루투스에 접근하기 위해 사용됩니다. + NSRemindersUsageDescription + 미리 알림 접근을 위해 사용됩니다. + NSContactsUsageDescription + 연락처를 조회하고 추가 하는데 사용됩니다. + NSMicrophoneUsageDescription + 마이크를 통해 소리를 녹음 하는데 사용됩니다. + NSCalendarsUsageDescription + 일정을 조회 하기 위해 사용됩니다. + + diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/nexacroApp-Prefix.pch b/NexacroN/iOS/nexacroApp/nexacroApp/nexacroApp-Prefix.pch new file mode 100644 index 0000000..b51405a --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/nexacroApp-Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'Nexacro' target in the 'Nexacro' project +// + +#import + +#ifndef __IPHONE_3_0 +#warning "This project uses features only available in iOS SDK 3.0 and later." +#endif + +#ifdef __OBJC__ +#import +#import +#endif diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/nexacroApp.entitlements b/NexacroN/iOS/nexacroApp/nexacroApp/nexacroApp.entitlements new file mode 100644 index 0000000..903def2 --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/nexacroApp.entitlements @@ -0,0 +1,8 @@ + + + + + aps-environment + development + + diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/Icon.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/Icon.png new file mode 100644 index 0000000..103ad05 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/Icon.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/Icon@2x.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/Icon@2x.png new file mode 100644 index 0000000..70859c3 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/Icon@2x.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/Launch Screen.storyboard b/NexacroN/iOS/nexacroApp/nexacroApp/res/Launch Screen.storyboard new file mode 100644 index 0000000..b2ca70d --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/res/Launch Screen.storyboard @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/check.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/check.png new file mode 100644 index 0000000..a744f09 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/check.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/check_o.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/check_o.png new file mode 100644 index 0000000..0c08ff6 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/check_o.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/Default-568h@2x.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/Default-568h@2x.png new file mode 100644 index 0000000..0049855 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/Default-568h@2x.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/Default-Portrait@2x~ipad.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/Default-Portrait@2x~ipad.png new file mode 100644 index 0000000..c4cf0a7 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/Default-Portrait@2x~ipad.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/Default-Portrait~ipad.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/Default-Portrait~ipad.png new file mode 100644 index 0000000..c4cf0a7 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/Default-Portrait~ipad.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_pad_landscape.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_pad_landscape.png new file mode 100644 index 0000000..366d5ab Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_pad_landscape.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_pad_portrait.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_pad_portrait.png new file mode 100644 index 0000000..c4cf0a7 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_pad_portrait.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_phone_landscape.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_phone_landscape.png new file mode 100644 index 0000000..c586763 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_phone_landscape.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_phone_portrait.png b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_phone_portrait.png new file mode 100644 index 0000000..f152448 Binary files /dev/null and b/NexacroN/iOS/nexacroApp/nexacroApp/res/splashimage/splashimage_phone_portrait.png differ diff --git a/NexacroN/iOS/nexacroApp/nexacroApp/zh-Hans.lproj/Localizable.strings b/NexacroN/iOS/nexacroApp/nexacroApp/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000..12cd5dd --- /dev/null +++ b/NexacroN/iOS/nexacroApp/nexacroApp/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* + Localizable.strings + Nexacro + + Created by 오 영진 on 12. 12. 3.. + +*/ + +"needupdate" = "正在更新。\r\n更新完成后开始。"; +"force_close" = "更新完成。"; +"loadingFail" = "初始加载失败。\r\n请重新开始。"; +"updateFail" = "更新失败。\r\n请重新开始。"; +"notexist" = "无驱动文件。\r\n请重试。"; +"BeingUpdated" = "正在更新。"; +"wantreplace" = "相同的文件已存在。确定要替换吗?"; +"ok" = "确认"; +"cancel" = "取消"; +"alert_title" = ""; +"move" = "移动"; +"upper" = "上级"; +"filter" = "筛选器"; +"home" = "首页"; +"nofilename" = "无文件名。"; +"checkforupdates" = "正在确认更新。"; +"installforupdates" = "正在安装更新。"; +"downloadingforupdates" = "正在下载更新。"; +"new_engine_available" = "发现新的引擎版本。\r\n请更新。";