├── .gitignore ├── .idea ├── $PRODUCT_WORKSPACE_FILE$ ├── .name ├── codeStyles │ └── codeStyleConfig.xml ├── gradle.xml ├── misc.xml ├── runConfigurations.xml └── vcs.xml ├── README.md ├── app ├── Info.plist ├── app.podspec ├── build.gradle └── src │ ├── commonMain │ └── kotlin │ │ └── sample │ │ └── Sample.kt │ ├── commonTest │ └── kotlin │ │ └── sample │ │ └── SampleTests.kt │ ├── iosMain │ └── kotlin │ │ └── sample │ │ └── SampleIos.kt │ ├── iosTest │ └── kotlin │ │ └── sample │ │ └── SampleTestsIOS.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── sample │ │ │ └── SampleAndroid.kt │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── sample │ └── SampleTestsAndroid.kt ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── iosApp ├── Podfile ├── Podfile.lock ├── Pods │ ├── Local Podspecs │ │ ├── app.podspec.json │ │ └── lib.podspec.json │ ├── Manifest.lock │ ├── Pods.xcodeproj │ │ ├── project.pbxproj │ │ └── xcuserdata │ │ │ ├── benwhitley.xcuserdatad │ │ │ └── xcschemes │ │ │ │ ├── Pods-iosApp.xcscheme │ │ │ │ ├── app.xcscheme │ │ │ │ └── xcschememanagement.plist │ │ │ └── kgalligan.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ └── Target Support Files │ │ ├── Pods-iosApp │ │ ├── Pods-iosApp-Info.plist │ │ ├── Pods-iosApp-acknowledgements.markdown │ │ ├── Pods-iosApp-acknowledgements.plist │ │ ├── Pods-iosApp-dummy.m │ │ ├── Pods-iosApp-umbrella.h │ │ ├── Pods-iosApp.debug.xcconfig │ │ ├── Pods-iosApp.modulemap │ │ └── Pods-iosApp.release.xcconfig │ │ └── app │ │ └── app.xcconfig ├── iosApp.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── kgalligan.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ ├── benwhitley.xcuserdatad │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── kgalligan.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── iosApp.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ ├── benwhitley.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ │ └── kgalligan.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── iosApp │ ├── AppDelegate.swift │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ └── ViewController.swift └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the ART/Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | out/ 15 | 16 | # Gradle files 17 | .gradle/ 18 | build/ 19 | 20 | # Local configuration file (sdk path, etc) 21 | local.properties 22 | 23 | # Proguard folder generated by Eclipse 24 | proguard/ 25 | 26 | # Log Files 27 | *.log 28 | 29 | # Android Studio Navigation editor temp files 30 | .navigation/ 31 | 32 | # Android Studio captures folder 33 | captures/ 34 | 35 | # Android Studio 36 | *.iws 37 | *.ipr 38 | *.iml 39 | .gradle 40 | /local.properties 41 | /.idea/caches 42 | /.idea/libraries 43 | /.idea/modules.xml 44 | /.idea/workspace.xml 45 | /.idea/navEditor.xml 46 | /.idea/assetWizardSettings.xml 47 | /.idea/encodings.xml 48 | /.idea/codeStyles/Project.xml 49 | .DS_Store 50 | /build 51 | /captures 52 | .externalNativeBuild 53 | .cxx 54 | 55 | # Keystore files 56 | *.jks 57 | 58 | # Eclipse project files 59 | .classpath 60 | .project 61 | 62 | ## Playgrounds 63 | timeline.xctimeline 64 | playground.xcworkspace 65 | 66 | # fastlane 67 | # 68 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 69 | # screenshots whenever they are needed. 70 | # For more information about the recommended setup visit: 71 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md 72 | 73 | fastlane/report.xml 74 | fastlane/Preview.html 75 | fastlane/screenshots 76 | fastlane/test_output 77 | 78 | #Because ugh 79 | .DS_Store 80 | 81 | buildboth.sh -------------------------------------------------------------------------------- /.idea/$PRODUCT_WORKSPACE_FILE$: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 1.8 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | mobilesample -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 19 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # KotlinMultiplatformStarter 2 | A boilerplate/starter repository for those looking for a fast, easy way to jump into Kotlin Multiplatform. 3 | See blog post. 4 | 5 | [Medium - two-apps-in-less-than-five-minutes-with-kotlin-multiplatform](https://medium.com/@ben_98270/two-apps-in-less-than-five-minutes-with-kotlin-multiplatform-bedf454a4a7b) 6 | 7 | > ## **We're Hiring!** 8 | > 9 | > Touchlab is looking for Android-focused mobile engineers, experienced with Kotlin and 10 | > looking to get involved with Kotlin Multiplatorm in the near future. [More info here](https://on.touchlab.co/2KNeYYN#arst). 11 | 12 | ## Note on Android Studio 13 | 14 | Please stick to release versions for now (currently 3.5). See [GH-1](https://github.com/touchlab/KotlinMultiplatformStarter/issues/1) -------------------------------------------------------------------------------- /app/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleVersion 18 | 1 19 | CFBundlePackageType 20 | FMWK 21 | 22 | -------------------------------------------------------------------------------- /app/app.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |spec| 2 | spec.name = 'app' 3 | spec.version = '0.1' 4 | spec.homepage = 'https://github.com/touchlab/KotlinMultiplatformStarter' 5 | spec.source = { :git => "Not Published", :tag => "Cocoapods/#{spec.name}/#{spec.version}" } 6 | spec.authors = '' 7 | spec.license = '' 8 | spec.summary = 'KMP Starter Project' 9 | 10 | spec.static_framework = true 11 | spec.vendored_frameworks = "build/cocoapods/framework/#{spec.name}.framework" 12 | spec.libraries = "c++" 13 | spec.module_name = "#{spec.name}_umbrella" 14 | 15 | 16 | 17 | spec.pod_target_xcconfig = { 18 | 'KOTLIN_TARGET[sdk=iphonesimulator*]' => 'ios_x64', 19 | 'KOTLIN_TARGET[sdk=iphoneos*]' => 'ios_arm', 20 | 'KOTLIN_TARGET[sdk=macosx*]' => 'macos_x64' 21 | } 22 | 23 | spec.script_phases = [ 24 | { 25 | :name => 'Build app', 26 | :execution_position => :before_compile, 27 | :shell_path => '/bin/sh', 28 | :script => <<-SCRIPT 29 | set -ev 30 | REPO_ROOT="$PODS_TARGET_SRCROOT" 31 | "$REPO_ROOT/../gradlew" -p "$REPO_ROOT" :app:syncFramework \ 32 | -Pkotlin.native.cocoapods.target=$KOTLIN_TARGET \ 33 | -Pkotlin.native.cocoapods.configuration=$CONFIGURATION \ 34 | -Pkotlin.native.cocoapods.cflags="$OTHER_CFLAGS" \ 35 | -Pkotlin.native.cocoapods.paths.headers="$HEADER_SEARCH_PATHS" \ 36 | -Pkotlin.native.cocoapods.paths.frameworks="$FRAMEWORK_SEARCH_PATHS" 37 | SCRIPT 38 | } 39 | ] 40 | end -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | apply plugin: 'kotlin-android-extensions' 3 | apply plugin: 'org.jetbrains.kotlin.multiplatform' 4 | apply plugin: 'org.jetbrains.kotlin.native.cocoapods' 5 | 6 | android { 7 | compileSdkVersion 28 8 | defaultConfig { 9 | applicationId 'org.jetbrains.kotlin.mpp_app_android' 10 | minSdkVersion 15 11 | targetSdkVersion 28 12 | versionCode 2 13 | versionName '1.1' 14 | testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner' 15 | } 16 | buildTypes { 17 | release { 18 | minifyEnabled false 19 | } 20 | } 21 | } 22 | 23 | version = 0.2 24 | 25 | dependencies { 26 | implementation fileTree(dir: 'libs', include: ['*.jar']) 27 | implementation 'com.android.support:appcompat-v7:28.0.0' 28 | implementation 'com.android.support.constraint:constraint-layout:1.1.3' 29 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 30 | } 31 | 32 | kotlin { 33 | android("android") 34 | // This is for iPhone emulator 35 | // Switch here to iosArm64 (or iosArm32) to build library for iPhone device 36 | iosX64("ios") 37 | 38 | sourceSets { 39 | commonMain { 40 | dependencies { 41 | implementation kotlin('stdlib-common') 42 | } 43 | } 44 | commonTest { 45 | dependencies { 46 | implementation kotlin('test-common') 47 | implementation kotlin('test-annotations-common') 48 | } 49 | } 50 | androidMain { 51 | dependencies { 52 | implementation kotlin('stdlib') 53 | } 54 | } 55 | androidTest { 56 | dependencies { 57 | implementation kotlin('test') 58 | implementation kotlin('test-junit') 59 | } 60 | } 61 | iosMain { 62 | } 63 | iosTest { 64 | } 65 | } 66 | 67 | cocoapods { 68 | // Configure fields required by CocoaPods. 69 | summary = "KMP Starter Project" 70 | homepage = "https://github.com/touchlab/KotlinMultiplatformStarter" 71 | } 72 | } -------------------------------------------------------------------------------- /app/src/commonMain/kotlin/sample/Sample.kt: -------------------------------------------------------------------------------- 1 | package sample 2 | 3 | class Greeting { 4 | fun hello(): String = "Hello, Android and iOS worlds!" 5 | } 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/commonTest/kotlin/sample/SampleTests.kt: -------------------------------------------------------------------------------- 1 | package sample 2 | -------------------------------------------------------------------------------- /app/src/iosMain/kotlin/sample/SampleIos.kt: -------------------------------------------------------------------------------- 1 | package sample 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/iosTest/kotlin/sample/SampleTestsIOS.kt: -------------------------------------------------------------------------------- 1 | package sample 2 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/java/sample/SampleAndroid.kt: -------------------------------------------------------------------------------- 1 | package sample 2 | 3 | import android.support.v7.app.AppCompatActivity 4 | import android.os.Bundle 5 | import android.widget.TextView 6 | 7 | class MainActivity : AppCompatActivity() { 8 | 9 | override fun onCreate(savedInstanceState: Bundle?) { 10 | super.onCreate(savedInstanceState) 11 | setContentView(R.layout.activity_main) 12 | 13 | val textView = findViewById(R.id.main_text) 14 | textView.text = "Hello, Android world!" 15 | } 16 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | android-app 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /app/src/test/java/sample/SampleTestsAndroid.kt: -------------------------------------------------------------------------------- 1 | package sample 2 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | google() 4 | jcenter() 5 | mavenCentral() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:3.5.0' 9 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.60" 10 | } 11 | } 12 | allprojects { 13 | repositories { 14 | google() 15 | jcenter() 16 | mavenCentral() 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | kotlin.code.style=official -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/touchlab-lab/KotlinMultiplatformStarter/25ce61e6b34a4d961e0f48f8c5cb33a08da3d79c/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # 4 | # Copyright 2015 the original author or authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | ############################################################################## 20 | ## 21 | ## Gradle start up script for UN*X 22 | ## 23 | ############################################################################## 24 | 25 | # Attempt to set APP_HOME 26 | # Resolve links: $0 may be a link 27 | PRG="$0" 28 | # Need this for relative symlinks. 29 | while [ -h "$PRG" ] ; do 30 | ls=`ls -ld "$PRG"` 31 | link=`expr "$ls" : '.*-> \(.*\)$'` 32 | if expr "$link" : '/.*' > /dev/null; then 33 | PRG="$link" 34 | else 35 | PRG=`dirname "$PRG"`"/$link" 36 | fi 37 | done 38 | SAVED="`pwd`" 39 | cd "`dirname \"$PRG\"`/" >/dev/null 40 | APP_HOME="`pwd -P`" 41 | cd "$SAVED" >/dev/null 42 | 43 | APP_NAME="Gradle" 44 | APP_BASE_NAME=`basename "$0"` 45 | 46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 48 | 49 | # Use the maximum available, or set MAX_FD != -1 to use that value. 50 | MAX_FD="maximum" 51 | 52 | warn () { 53 | echo "$*" 54 | } 55 | 56 | die () { 57 | echo 58 | echo "$*" 59 | echo 60 | exit 1 61 | } 62 | 63 | # OS specific support (must be 'true' or 'false'). 64 | cygwin=false 65 | msys=false 66 | darwin=false 67 | nonstop=false 68 | case "`uname`" in 69 | CYGWIN* ) 70 | cygwin=true 71 | ;; 72 | Darwin* ) 73 | darwin=true 74 | ;; 75 | MINGW* ) 76 | msys=true 77 | ;; 78 | NONSTOP* ) 79 | nonstop=true 80 | ;; 81 | esac 82 | 83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 84 | 85 | # Determine the Java command to use to start the JVM. 86 | if [ -n "$JAVA_HOME" ] ; then 87 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 88 | # IBM's JDK on AIX uses strange locations for the executables 89 | JAVACMD="$JAVA_HOME/jre/sh/java" 90 | else 91 | JAVACMD="$JAVA_HOME/bin/java" 92 | fi 93 | if [ ! -x "$JAVACMD" ] ; then 94 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 95 | 96 | Please set the JAVA_HOME variable in your environment to match the 97 | location of your Java installation." 98 | fi 99 | else 100 | JAVACMD="java" 101 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 102 | 103 | Please set the JAVA_HOME variable in your environment to match the 104 | location of your Java installation." 105 | fi 106 | 107 | # Increase the maximum file descriptors if we can. 108 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 109 | MAX_FD_LIMIT=`ulimit -H -n` 110 | if [ $? -eq 0 ] ; then 111 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 112 | MAX_FD="$MAX_FD_LIMIT" 113 | fi 114 | ulimit -n $MAX_FD 115 | if [ $? -ne 0 ] ; then 116 | warn "Could not set maximum file descriptor limit: $MAX_FD" 117 | fi 118 | else 119 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 120 | fi 121 | fi 122 | 123 | # For Darwin, add options to specify how the application appears in the dock 124 | if $darwin; then 125 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 126 | fi 127 | 128 | # For Cygwin, switch paths to Windows format before running java 129 | if $cygwin ; then 130 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 131 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 132 | JAVACMD=`cygpath --unix "$JAVACMD"` 133 | 134 | # We build the pattern for arguments to be converted via cygpath 135 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 136 | SEP="" 137 | for dir in $ROOTDIRSRAW ; do 138 | ROOTDIRS="$ROOTDIRS$SEP$dir" 139 | SEP="|" 140 | done 141 | OURCYGPATTERN="(^($ROOTDIRS))" 142 | # Add a user-defined pattern to the cygpath arguments 143 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 144 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 145 | fi 146 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 147 | i=0 148 | for arg in "$@" ; do 149 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 150 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 151 | 152 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 153 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 154 | else 155 | eval `echo args$i`="\"$arg\"" 156 | fi 157 | i=$((i+1)) 158 | done 159 | case $i in 160 | (0) set -- ;; 161 | (1) set -- "$args0" ;; 162 | (2) set -- "$args0" "$args1" ;; 163 | (3) set -- "$args0" "$args1" "$args2" ;; 164 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 165 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 166 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 167 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 168 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 169 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 170 | esac 171 | fi 172 | 173 | # Escape application args 174 | save () { 175 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 176 | echo " " 177 | } 178 | APP_ARGS=$(save "$@") 179 | 180 | # Collect all arguments for the java command, following the shell quoting and substitution rules 181 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 182 | 183 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 184 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 185 | cd "$(dirname "$0")" 186 | fi 187 | 188 | exec "$JAVACMD" "$@" 189 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem http://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 33 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 34 | 35 | @rem Find java.exe 36 | if defined JAVA_HOME goto findJavaFromJavaHome 37 | 38 | set JAVA_EXE=java.exe 39 | %JAVA_EXE% -version >NUL 2>&1 40 | if "%ERRORLEVEL%" == "0" goto init 41 | 42 | echo. 43 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 44 | echo. 45 | echo Please set the JAVA_HOME variable in your environment to match the 46 | echo location of your Java installation. 47 | 48 | goto fail 49 | 50 | :findJavaFromJavaHome 51 | set JAVA_HOME=%JAVA_HOME:"=% 52 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 53 | 54 | if exist "%JAVA_EXE%" goto init 55 | 56 | echo. 57 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 58 | echo. 59 | echo Please set the JAVA_HOME variable in your environment to match the 60 | echo location of your Java installation. 61 | 62 | goto fail 63 | 64 | :init 65 | @rem Get command-line arguments, handling Windows variants 66 | 67 | if not "%OS%" == "Windows_NT" goto win9xME_args 68 | 69 | :win9xME_args 70 | @rem Slurp the command line arguments. 71 | set CMD_LINE_ARGS= 72 | set _SKIP=2 73 | 74 | :win9xME_args_slurp 75 | if "x%~1" == "x" goto execute 76 | 77 | set CMD_LINE_ARGS=%* 78 | 79 | :execute 80 | @rem Setup the command line 81 | 82 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 83 | 84 | @rem Execute Gradle 85 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 86 | 87 | :end 88 | @rem End local scope for the variables with windows NT shell 89 | if "%ERRORLEVEL%"=="0" goto mainEnd 90 | 91 | :fail 92 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 93 | rem the _cmd.exe /c_ return code! 94 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 95 | exit /b 1 96 | 97 | :mainEnd 98 | if "%OS%"=="Windows_NT" endlocal 99 | 100 | :omega 101 | -------------------------------------------------------------------------------- /iosApp/Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | 3 | platform :ios, '9.0' 4 | 5 | target 'iosApp' do 6 | pod 'app', :path => '../app' 7 | end 8 | -------------------------------------------------------------------------------- /iosApp/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - app (0.1) 3 | 4 | DEPENDENCIES: 5 | - app (from `../app`) 6 | 7 | EXTERNAL SOURCES: 8 | app: 9 | :path: "../app" 10 | 11 | SPEC CHECKSUMS: 12 | app: f8ac19e4463df26b49e4178e2e71ebdfcaa3f812 13 | 14 | PODFILE CHECKSUM: a59ae4ede205a9902641eb92a01246777e20c4a5 15 | 16 | COCOAPODS: 1.7.2 17 | -------------------------------------------------------------------------------- /iosApp/Pods/Local Podspecs/app.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "app", 3 | "version": "0.1", 4 | "homepage": "https://github.com/touchlab/KotlinMultiplatformStarter", 5 | "source": { 6 | "git": "Not Published", 7 | "tag": "Cocoapods/app/0.1" 8 | }, 9 | "authors": "", 10 | "license": "", 11 | "summary": "KMP Starter Project", 12 | "static_framework": true, 13 | "vendored_frameworks": "build/cocoapods/framework/app.framework", 14 | "libraries": "c++", 15 | "module_name": "app_umbrella", 16 | "pod_target_xcconfig": { 17 | "KOTLIN_TARGET[sdk=iphonesimulator*]": "ios_x64", 18 | "KOTLIN_TARGET[sdk=iphoneos*]": "ios_arm", 19 | "KOTLIN_TARGET[sdk=macosx*]": "macos_x64" 20 | }, 21 | "script_phases": [ 22 | { 23 | "name": "Build app", 24 | "execution_position": "before_compile", 25 | "shell_path": "/bin/sh", 26 | "script": " set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" :app:syncFramework -Pkotlin.native.cocoapods.target=$KOTLIN_TARGET -Pkotlin.native.cocoapods.configuration=$CONFIGURATION -Pkotlin.native.cocoapods.cflags=\"$OTHER_CFLAGS\" -Pkotlin.native.cocoapods.paths.headers=\"$HEADER_SEARCH_PATHS\" -Pkotlin.native.cocoapods.paths.frameworks=\"$FRAMEWORK_SEARCH_PATHS\"\n" 27 | } 28 | ], 29 | "platforms": { 30 | "osx": null, 31 | "ios": null, 32 | "tvos": null, 33 | "watchos": null 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /iosApp/Pods/Local Podspecs/lib.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lib", 3 | "version": "0.1", 4 | "homepage": "https://github.com/touchlab/KotlinMultiplatformStarter", 5 | "source": { 6 | "git": "Not Published", 7 | "tag": "Cocoapods/lib/0.1" 8 | }, 9 | "authors": "", 10 | "license": "", 11 | "summary": "Basic Sample App", 12 | "static_framework": true, 13 | "vendored_frameworks": "build/cocoapods/framework/lib.framework", 14 | "libraries": "c++", 15 | "module_name": "lib_umbrella", 16 | "pod_target_xcconfig": { 17 | "KOTLIN_TARGET[sdk=iphonesimulator*]": "ios_x64", 18 | "KOTLIN_TARGET[sdk=iphoneos*]": "ios_arm", 19 | "KOTLIN_TARGET[sdk=macosx*]": "macos_x64" 20 | }, 21 | "script_phases": [ 22 | { 23 | "name": "Build app", 24 | "execution_position": "before_compile", 25 | "shell_path": "/bin/sh", 26 | "script": " set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" :lib:syncFramework -Pkotlin.native.cocoapods.target=$KOTLIN_TARGET -Pkotlin.native.cocoapods.configuration=$CONFIGURATION -Pkotlin.native.cocoapods.cflags=\"$OTHER_CFLAGS\" -Pkotlin.native.cocoapods.paths.headers=\"$HEADER_SEARCH_PATHS\" -Pkotlin.native.cocoapods.paths.frameworks=\"$FRAMEWORK_SEARCH_PATHS\"\n" 27 | } 28 | ], 29 | "platforms": { 30 | "osx": null, 31 | "ios": null, 32 | "tvos": null, 33 | "watchos": null 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /iosApp/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - app (0.1) 3 | 4 | DEPENDENCIES: 5 | - app (from `../app`) 6 | 7 | EXTERNAL SOURCES: 8 | app: 9 | :path: "../app" 10 | 11 | SPEC CHECKSUMS: 12 | app: f8ac19e4463df26b49e4178e2e71ebdfcaa3f812 13 | 14 | PODFILE CHECKSUM: a59ae4ede205a9902641eb92a01246777e20c4a5 15 | 16 | COCOAPODS: 1.7.2 17 | -------------------------------------------------------------------------------- /iosApp/Pods/Pods.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXAggregateTarget section */ 10 | 0F5BEB6A881C8168658A3A78BBBD2DB6 /* app */ = { 11 | isa = PBXAggregateTarget; 12 | buildConfigurationList = B9D9B69C85DE432E55FD811A4842BA0B /* Build configuration list for PBXAggregateTarget "app" */; 13 | buildPhases = ( 14 | 3F5B08E54CA6653E79D8A3A43EB9624C /* [CP-User] Build app */, 15 | ); 16 | dependencies = ( 17 | ); 18 | name = app; 19 | }; 20 | /* End PBXAggregateTarget section */ 21 | 22 | /* Begin PBXBuildFile section */ 23 | 8F79EC192C4099B71DC60F229BDA364E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; 24 | A4803AC3015A1CC5D72B08D58A5A2AA2 /* Pods-iosApp-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 42DE4C0106600A5B6D599285368F3270 /* Pods-iosApp-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 25 | E6F2C9121774932AB99729CA4DF6CD12 /* Pods-iosApp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A2475209BEE7612101900020629C625 /* Pods-iosApp-dummy.m */; }; 26 | /* End PBXBuildFile section */ 27 | 28 | /* Begin PBXContainerItemProxy section */ 29 | 9C0D3500028114725FB83AD8E10683EA /* PBXContainerItemProxy */ = { 30 | isa = PBXContainerItemProxy; 31 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; 32 | proxyType = 1; 33 | remoteGlobalIDString = 0F5BEB6A881C8168658A3A78BBBD2DB6; 34 | remoteInfo = app; 35 | }; 36 | /* End PBXContainerItemProxy section */ 37 | 38 | /* Begin PBXFileReference section */ 39 | 0011AEE22E8296B3D9E0B0B2CDCAB2EE /* Pods-iosApp-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-iosApp-acknowledgements.plist"; sourceTree = ""; }; 40 | 1A2FB55B5C37861BC78ECD1420D818C3 /* Pods-iosApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-iosApp.release.xcconfig"; sourceTree = ""; }; 41 | 301D50E212175658D47D71B53F1D8138 /* app.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = app.framework; path = build/cocoapods/framework/app.framework; sourceTree = ""; }; 42 | 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 43 | 3A2475209BEE7612101900020629C625 /* Pods-iosApp-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-iosApp-dummy.m"; sourceTree = ""; }; 44 | 42DE4C0106600A5B6D599285368F3270 /* Pods-iosApp-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-iosApp-umbrella.h"; sourceTree = ""; }; 45 | 482384ADFE4EF692B16FACB8C2021970 /* Pods-iosApp.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-iosApp.modulemap"; sourceTree = ""; }; 46 | 87BD694FC7128AAA9176D7BF5CD55038 /* app.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = app.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 47 | 9502834EA6B18FA1859707CB318B2C1B /* app.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = app.xcconfig; sourceTree = ""; }; 48 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 49 | A43877303056397968EC90C7AAFE17E8 /* Pods-iosApp-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-iosApp-acknowledgements.markdown"; sourceTree = ""; }; 50 | A79C2AA5C063914B2D1BD80187FDF6DE /* Pods-iosApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-iosApp.debug.xcconfig"; sourceTree = ""; }; 51 | B097DD7534E741D5C41838011D755842 /* Pods_iosApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_iosApp.framework; path = "Pods-iosApp.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 52 | BCAED803D074E2E9C3B1327F049C8C2A /* Pods-iosApp-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-iosApp-Info.plist"; sourceTree = ""; }; 53 | /* End PBXFileReference section */ 54 | 55 | /* Begin PBXFrameworksBuildPhase section */ 56 | B210F6E7EDE00F23EF79CB0AF4A2BA5D /* Frameworks */ = { 57 | isa = PBXFrameworksBuildPhase; 58 | buildActionMask = 2147483647; 59 | files = ( 60 | 8F79EC192C4099B71DC60F229BDA364E /* Foundation.framework in Frameworks */, 61 | ); 62 | runOnlyForDeploymentPostprocessing = 0; 63 | }; 64 | /* End PBXFrameworksBuildPhase section */ 65 | 66 | /* Begin PBXGroup section */ 67 | 129465E2FC58E4DB86C30E5137C9D227 /* Pod */ = { 68 | isa = PBXGroup; 69 | children = ( 70 | 87BD694FC7128AAA9176D7BF5CD55038 /* app.podspec */, 71 | ); 72 | name = Pod; 73 | sourceTree = ""; 74 | }; 75 | 310087C345B86EEF25A054485E0BB5CB /* Pods-iosApp */ = { 76 | isa = PBXGroup; 77 | children = ( 78 | 482384ADFE4EF692B16FACB8C2021970 /* Pods-iosApp.modulemap */, 79 | A43877303056397968EC90C7AAFE17E8 /* Pods-iosApp-acknowledgements.markdown */, 80 | 0011AEE22E8296B3D9E0B0B2CDCAB2EE /* Pods-iosApp-acknowledgements.plist */, 81 | 3A2475209BEE7612101900020629C625 /* Pods-iosApp-dummy.m */, 82 | BCAED803D074E2E9C3B1327F049C8C2A /* Pods-iosApp-Info.plist */, 83 | 42DE4C0106600A5B6D599285368F3270 /* Pods-iosApp-umbrella.h */, 84 | A79C2AA5C063914B2D1BD80187FDF6DE /* Pods-iosApp.debug.xcconfig */, 85 | 1A2FB55B5C37861BC78ECD1420D818C3 /* Pods-iosApp.release.xcconfig */, 86 | ); 87 | name = "Pods-iosApp"; 88 | path = "Target Support Files/Pods-iosApp"; 89 | sourceTree = ""; 90 | }; 91 | 319F06CF7672CB11D74721BAD5CE50BB /* app */ = { 92 | isa = PBXGroup; 93 | children = ( 94 | 5E9539E7D28F74139A72E07ACE6A393F /* Frameworks */, 95 | 129465E2FC58E4DB86C30E5137C9D227 /* Pod */, 96 | 593B34192FD183733EFF71BDCCEE15E8 /* Support Files */, 97 | ); 98 | name = app; 99 | path = ../../app; 100 | sourceTree = ""; 101 | }; 102 | 3FE6C4172A7EA3C0BDE73E5A54AE7875 /* Products */ = { 103 | isa = PBXGroup; 104 | children = ( 105 | B097DD7534E741D5C41838011D755842 /* Pods_iosApp.framework */, 106 | ); 107 | name = Products; 108 | sourceTree = ""; 109 | }; 110 | 593B34192FD183733EFF71BDCCEE15E8 /* Support Files */ = { 111 | isa = PBXGroup; 112 | children = ( 113 | 9502834EA6B18FA1859707CB318B2C1B /* app.xcconfig */, 114 | ); 115 | name = "Support Files"; 116 | path = "../iosApp/Pods/Target Support Files/app"; 117 | sourceTree = ""; 118 | }; 119 | 5E9539E7D28F74139A72E07ACE6A393F /* Frameworks */ = { 120 | isa = PBXGroup; 121 | children = ( 122 | 301D50E212175658D47D71B53F1D8138 /* app.framework */, 123 | ); 124 | name = Frameworks; 125 | sourceTree = ""; 126 | }; 127 | 861B35ECE4F71F261132816BD2BCD2B2 /* Development Pods */ = { 128 | isa = PBXGroup; 129 | children = ( 130 | 319F06CF7672CB11D74721BAD5CE50BB /* app */, 131 | ); 132 | name = "Development Pods"; 133 | sourceTree = ""; 134 | }; 135 | C0834CEBB1379A84116EF29F93051C60 /* iOS */ = { 136 | isa = PBXGroup; 137 | children = ( 138 | 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */, 139 | ); 140 | name = iOS; 141 | sourceTree = ""; 142 | }; 143 | C9F6DDEE5D76F65BB478A349731F54F4 /* Targets Support Files */ = { 144 | isa = PBXGroup; 145 | children = ( 146 | 310087C345B86EEF25A054485E0BB5CB /* Pods-iosApp */, 147 | ); 148 | name = "Targets Support Files"; 149 | sourceTree = ""; 150 | }; 151 | CF1408CF629C7361332E53B88F7BD30C = { 152 | isa = PBXGroup; 153 | children = ( 154 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, 155 | 861B35ECE4F71F261132816BD2BCD2B2 /* Development Pods */, 156 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, 157 | 3FE6C4172A7EA3C0BDE73E5A54AE7875 /* Products */, 158 | C9F6DDEE5D76F65BB478A349731F54F4 /* Targets Support Files */, 159 | ); 160 | sourceTree = ""; 161 | }; 162 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = { 163 | isa = PBXGroup; 164 | children = ( 165 | C0834CEBB1379A84116EF29F93051C60 /* iOS */, 166 | ); 167 | name = Frameworks; 168 | sourceTree = ""; 169 | }; 170 | /* End PBXGroup section */ 171 | 172 | /* Begin PBXHeadersBuildPhase section */ 173 | 76D2F18B80150F87C36707CE8EC42369 /* Headers */ = { 174 | isa = PBXHeadersBuildPhase; 175 | buildActionMask = 2147483647; 176 | files = ( 177 | A4803AC3015A1CC5D72B08D58A5A2AA2 /* Pods-iosApp-umbrella.h in Headers */, 178 | ); 179 | runOnlyForDeploymentPostprocessing = 0; 180 | }; 181 | /* End PBXHeadersBuildPhase section */ 182 | 183 | /* Begin PBXNativeTarget section */ 184 | ED39C638569286489CD697A6C8964146 /* Pods-iosApp */ = { 185 | isa = PBXNativeTarget; 186 | buildConfigurationList = C566DB1EFBEE44F599C38053C9BD5253 /* Build configuration list for PBXNativeTarget "Pods-iosApp" */; 187 | buildPhases = ( 188 | 76D2F18B80150F87C36707CE8EC42369 /* Headers */, 189 | DB3322DBE41251B1156FAACCBED3E2AB /* Sources */, 190 | B210F6E7EDE00F23EF79CB0AF4A2BA5D /* Frameworks */, 191 | F5D1E2D2524618D82E31E574C12AA27D /* Resources */, 192 | ); 193 | buildRules = ( 194 | ); 195 | dependencies = ( 196 | A56E39E66AA092EE90A731326C06BDA1 /* PBXTargetDependency */, 197 | ); 198 | name = "Pods-iosApp"; 199 | productName = "Pods-iosApp"; 200 | productReference = B097DD7534E741D5C41838011D755842 /* Pods_iosApp.framework */; 201 | productType = "com.apple.product-type.framework"; 202 | }; 203 | /* End PBXNativeTarget section */ 204 | 205 | /* Begin PBXProject section */ 206 | BFDFE7DC352907FC980B868725387E98 /* Project object */ = { 207 | isa = PBXProject; 208 | attributes = { 209 | LastSwiftUpdateCheck = 1100; 210 | LastUpgradeCheck = 1100; 211 | }; 212 | buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; 213 | compatibilityVersion = "Xcode 9.3"; 214 | developmentRegion = en; 215 | hasScannedForEncodings = 0; 216 | knownRegions = ( 217 | en, 218 | ); 219 | mainGroup = CF1408CF629C7361332E53B88F7BD30C; 220 | productRefGroup = 3FE6C4172A7EA3C0BDE73E5A54AE7875 /* Products */; 221 | projectDirPath = ""; 222 | projectRoot = ""; 223 | targets = ( 224 | 0F5BEB6A881C8168658A3A78BBBD2DB6 /* app */, 225 | ED39C638569286489CD697A6C8964146 /* Pods-iosApp */, 226 | ); 227 | }; 228 | /* End PBXProject section */ 229 | 230 | /* Begin PBXResourcesBuildPhase section */ 231 | F5D1E2D2524618D82E31E574C12AA27D /* Resources */ = { 232 | isa = PBXResourcesBuildPhase; 233 | buildActionMask = 2147483647; 234 | files = ( 235 | ); 236 | runOnlyForDeploymentPostprocessing = 0; 237 | }; 238 | /* End PBXResourcesBuildPhase section */ 239 | 240 | /* Begin PBXShellScriptBuildPhase section */ 241 | 3F5B08E54CA6653E79D8A3A43EB9624C /* [CP-User] Build app */ = { 242 | isa = PBXShellScriptBuildPhase; 243 | buildActionMask = 2147483647; 244 | files = ( 245 | ); 246 | name = "[CP-User] Build app"; 247 | runOnlyForDeploymentPostprocessing = 0; 248 | shellPath = /bin/sh; 249 | shellScript = " set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" :app:syncFramework -Pkotlin.native.cocoapods.target=$KOTLIN_TARGET -Pkotlin.native.cocoapods.configuration=$CONFIGURATION -Pkotlin.native.cocoapods.cflags=\"$OTHER_CFLAGS\" -Pkotlin.native.cocoapods.paths.headers=\"$HEADER_SEARCH_PATHS\" -Pkotlin.native.cocoapods.paths.frameworks=\"$FRAMEWORK_SEARCH_PATHS\"\n"; 250 | }; 251 | /* End PBXShellScriptBuildPhase section */ 252 | 253 | /* Begin PBXSourcesBuildPhase section */ 254 | DB3322DBE41251B1156FAACCBED3E2AB /* Sources */ = { 255 | isa = PBXSourcesBuildPhase; 256 | buildActionMask = 2147483647; 257 | files = ( 258 | E6F2C9121774932AB99729CA4DF6CD12 /* Pods-iosApp-dummy.m in Sources */, 259 | ); 260 | runOnlyForDeploymentPostprocessing = 0; 261 | }; 262 | /* End PBXSourcesBuildPhase section */ 263 | 264 | /* Begin PBXTargetDependency section */ 265 | A56E39E66AA092EE90A731326C06BDA1 /* PBXTargetDependency */ = { 266 | isa = PBXTargetDependency; 267 | name = app; 268 | target = 0F5BEB6A881C8168658A3A78BBBD2DB6 /* app */; 269 | targetProxy = 9C0D3500028114725FB83AD8E10683EA /* PBXContainerItemProxy */; 270 | }; 271 | /* End PBXTargetDependency section */ 272 | 273 | /* Begin XCBuildConfiguration section */ 274 | 02A9A26AA5D430472278B2C50DD7F750 /* Debug */ = { 275 | isa = XCBuildConfiguration; 276 | baseConfigurationReference = A79C2AA5C063914B2D1BD80187FDF6DE /* Pods-iosApp.debug.xcconfig */; 277 | buildSettings = { 278 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; 279 | CODE_SIGN_IDENTITY = ""; 280 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 281 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 282 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 283 | CURRENT_PROJECT_VERSION = 1; 284 | DEFINES_MODULE = YES; 285 | DYLIB_COMPATIBILITY_VERSION = 1; 286 | DYLIB_CURRENT_VERSION = 1; 287 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 288 | INFOPLIST_FILE = "Target Support Files/Pods-iosApp/Pods-iosApp-Info.plist"; 289 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 290 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 291 | LD_RUNPATH_SEARCH_PATHS = ( 292 | "$(inherited)", 293 | "@executable_path/Frameworks", 294 | "@loader_path/Frameworks", 295 | ); 296 | MACH_O_TYPE = staticlib; 297 | MODULEMAP_FILE = "Target Support Files/Pods-iosApp/Pods-iosApp.modulemap"; 298 | OTHER_LDFLAGS = ""; 299 | OTHER_LIBTOOLFLAGS = ""; 300 | PODS_ROOT = "$(SRCROOT)"; 301 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 302 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 303 | SDKROOT = iphoneos; 304 | SKIP_INSTALL = YES; 305 | TARGETED_DEVICE_FAMILY = "1,2"; 306 | VERSIONING_SYSTEM = "apple-generic"; 307 | VERSION_INFO_PREFIX = ""; 308 | }; 309 | name = Debug; 310 | }; 311 | 3346AF51807CFD49032388F4544D1FE3 /* Debug */ = { 312 | isa = XCBuildConfiguration; 313 | baseConfigurationReference = 9502834EA6B18FA1859707CB318B2C1B /* app.xcconfig */; 314 | buildSettings = { 315 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 316 | CODE_SIGN_IDENTITY = "iPhone Developer"; 317 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 318 | LD_RUNPATH_SEARCH_PATHS = ( 319 | "$(inherited)", 320 | "@executable_path/Frameworks", 321 | ); 322 | SDKROOT = iphoneos; 323 | TARGETED_DEVICE_FAMILY = "1,2"; 324 | }; 325 | name = Debug; 326 | }; 327 | 8F17DC3A99F99FBAD606CE6963886315 /* Release */ = { 328 | isa = XCBuildConfiguration; 329 | buildSettings = { 330 | ALWAYS_SEARCH_USER_PATHS = NO; 331 | CLANG_ANALYZER_NONNULL = YES; 332 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 333 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 334 | CLANG_CXX_LIBRARY = "libc++"; 335 | CLANG_ENABLE_MODULES = YES; 336 | CLANG_ENABLE_OBJC_ARC = YES; 337 | CLANG_ENABLE_OBJC_WEAK = YES; 338 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 339 | CLANG_WARN_BOOL_CONVERSION = YES; 340 | CLANG_WARN_COMMA = YES; 341 | CLANG_WARN_CONSTANT_CONVERSION = YES; 342 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 343 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 344 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 345 | CLANG_WARN_EMPTY_BODY = YES; 346 | CLANG_WARN_ENUM_CONVERSION = YES; 347 | CLANG_WARN_INFINITE_RECURSION = YES; 348 | CLANG_WARN_INT_CONVERSION = YES; 349 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 350 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 351 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 352 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 353 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 354 | CLANG_WARN_STRICT_PROTOTYPES = YES; 355 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 356 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 357 | CLANG_WARN_UNREACHABLE_CODE = YES; 358 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 359 | COPY_PHASE_STRIP = NO; 360 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 361 | ENABLE_NS_ASSERTIONS = NO; 362 | ENABLE_STRICT_OBJC_MSGSEND = YES; 363 | GCC_C_LANGUAGE_STANDARD = gnu11; 364 | GCC_NO_COMMON_BLOCKS = YES; 365 | GCC_PREPROCESSOR_DEFINITIONS = ( 366 | "POD_CONFIGURATION_RELEASE=1", 367 | "$(inherited)", 368 | ); 369 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 370 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 371 | GCC_WARN_UNDECLARED_SELECTOR = YES; 372 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 373 | GCC_WARN_UNUSED_FUNCTION = YES; 374 | GCC_WARN_UNUSED_VARIABLE = YES; 375 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 376 | MTL_ENABLE_DEBUG_INFO = NO; 377 | MTL_FAST_MATH = YES; 378 | PRODUCT_NAME = "$(TARGET_NAME)"; 379 | STRIP_INSTALLED_PRODUCT = NO; 380 | SWIFT_COMPILATION_MODE = wholemodule; 381 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 382 | SWIFT_VERSION = 5.0; 383 | SYMROOT = "${SRCROOT}/../build"; 384 | }; 385 | name = Release; 386 | }; 387 | 916E0404255105F480DC4950B7625F7A /* Debug */ = { 388 | isa = XCBuildConfiguration; 389 | buildSettings = { 390 | ALWAYS_SEARCH_USER_PATHS = NO; 391 | CLANG_ANALYZER_NONNULL = YES; 392 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 393 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 394 | CLANG_CXX_LIBRARY = "libc++"; 395 | CLANG_ENABLE_MODULES = YES; 396 | CLANG_ENABLE_OBJC_ARC = YES; 397 | CLANG_ENABLE_OBJC_WEAK = YES; 398 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 399 | CLANG_WARN_BOOL_CONVERSION = YES; 400 | CLANG_WARN_COMMA = YES; 401 | CLANG_WARN_CONSTANT_CONVERSION = YES; 402 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 403 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 404 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 405 | CLANG_WARN_EMPTY_BODY = YES; 406 | CLANG_WARN_ENUM_CONVERSION = YES; 407 | CLANG_WARN_INFINITE_RECURSION = YES; 408 | CLANG_WARN_INT_CONVERSION = YES; 409 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 410 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 411 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 412 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 413 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 414 | CLANG_WARN_STRICT_PROTOTYPES = YES; 415 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 416 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 417 | CLANG_WARN_UNREACHABLE_CODE = YES; 418 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 419 | COPY_PHASE_STRIP = NO; 420 | DEBUG_INFORMATION_FORMAT = dwarf; 421 | ENABLE_STRICT_OBJC_MSGSEND = YES; 422 | ENABLE_TESTABILITY = YES; 423 | GCC_C_LANGUAGE_STANDARD = gnu11; 424 | GCC_DYNAMIC_NO_PIC = NO; 425 | GCC_NO_COMMON_BLOCKS = YES; 426 | GCC_OPTIMIZATION_LEVEL = 0; 427 | GCC_PREPROCESSOR_DEFINITIONS = ( 428 | "POD_CONFIGURATION_DEBUG=1", 429 | "DEBUG=1", 430 | "$(inherited)", 431 | ); 432 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 433 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 434 | GCC_WARN_UNDECLARED_SELECTOR = YES; 435 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 436 | GCC_WARN_UNUSED_FUNCTION = YES; 437 | GCC_WARN_UNUSED_VARIABLE = YES; 438 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 439 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 440 | MTL_FAST_MATH = YES; 441 | ONLY_ACTIVE_ARCH = YES; 442 | PRODUCT_NAME = "$(TARGET_NAME)"; 443 | STRIP_INSTALLED_PRODUCT = NO; 444 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 445 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 446 | SWIFT_VERSION = 5.0; 447 | SYMROOT = "${SRCROOT}/../build"; 448 | }; 449 | name = Debug; 450 | }; 451 | CC9BD2E6C70D1FCE3D72EAB3BF1B9200 /* Release */ = { 452 | isa = XCBuildConfiguration; 453 | baseConfigurationReference = 9502834EA6B18FA1859707CB318B2C1B /* app.xcconfig */; 454 | buildSettings = { 455 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 456 | CODE_SIGN_IDENTITY = "iPhone Developer"; 457 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 458 | LD_RUNPATH_SEARCH_PATHS = ( 459 | "$(inherited)", 460 | "@executable_path/Frameworks", 461 | ); 462 | SDKROOT = iphoneos; 463 | TARGETED_DEVICE_FAMILY = "1,2"; 464 | VALIDATE_PRODUCT = YES; 465 | }; 466 | name = Release; 467 | }; 468 | D726EA816F6D38C0BCD749F148E64BD6 /* Release */ = { 469 | isa = XCBuildConfiguration; 470 | baseConfigurationReference = 1A2FB55B5C37861BC78ECD1420D818C3 /* Pods-iosApp.release.xcconfig */; 471 | buildSettings = { 472 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; 473 | CODE_SIGN_IDENTITY = ""; 474 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 475 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 476 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 477 | CURRENT_PROJECT_VERSION = 1; 478 | DEFINES_MODULE = YES; 479 | DYLIB_COMPATIBILITY_VERSION = 1; 480 | DYLIB_CURRENT_VERSION = 1; 481 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 482 | INFOPLIST_FILE = "Target Support Files/Pods-iosApp/Pods-iosApp-Info.plist"; 483 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 484 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 485 | LD_RUNPATH_SEARCH_PATHS = ( 486 | "$(inherited)", 487 | "@executable_path/Frameworks", 488 | "@loader_path/Frameworks", 489 | ); 490 | MACH_O_TYPE = staticlib; 491 | MODULEMAP_FILE = "Target Support Files/Pods-iosApp/Pods-iosApp.modulemap"; 492 | OTHER_LDFLAGS = ""; 493 | OTHER_LIBTOOLFLAGS = ""; 494 | PODS_ROOT = "$(SRCROOT)"; 495 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 496 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 497 | SDKROOT = iphoneos; 498 | SKIP_INSTALL = YES; 499 | TARGETED_DEVICE_FAMILY = "1,2"; 500 | VALIDATE_PRODUCT = YES; 501 | VERSIONING_SYSTEM = "apple-generic"; 502 | VERSION_INFO_PREFIX = ""; 503 | }; 504 | name = Release; 505 | }; 506 | /* End XCBuildConfiguration section */ 507 | 508 | /* Begin XCConfigurationList section */ 509 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { 510 | isa = XCConfigurationList; 511 | buildConfigurations = ( 512 | 916E0404255105F480DC4950B7625F7A /* Debug */, 513 | 8F17DC3A99F99FBAD606CE6963886315 /* Release */, 514 | ); 515 | defaultConfigurationIsVisible = 0; 516 | defaultConfigurationName = Release; 517 | }; 518 | B9D9B69C85DE432E55FD811A4842BA0B /* Build configuration list for PBXAggregateTarget "app" */ = { 519 | isa = XCConfigurationList; 520 | buildConfigurations = ( 521 | 3346AF51807CFD49032388F4544D1FE3 /* Debug */, 522 | CC9BD2E6C70D1FCE3D72EAB3BF1B9200 /* Release */, 523 | ); 524 | defaultConfigurationIsVisible = 0; 525 | defaultConfigurationName = Release; 526 | }; 527 | C566DB1EFBEE44F599C38053C9BD5253 /* Build configuration list for PBXNativeTarget "Pods-iosApp" */ = { 528 | isa = XCConfigurationList; 529 | buildConfigurations = ( 530 | 02A9A26AA5D430472278B2C50DD7F750 /* Debug */, 531 | D726EA816F6D38C0BCD749F148E64BD6 /* Release */, 532 | ); 533 | defaultConfigurationIsVisible = 0; 534 | defaultConfigurationName = Release; 535 | }; 536 | /* End XCConfigurationList section */ 537 | }; 538 | rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; 539 | } 540 | -------------------------------------------------------------------------------- /iosApp/Pods/Pods.xcodeproj/xcuserdata/benwhitley.xcuserdatad/xcschemes/Pods-iosApp.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /iosApp/Pods/Pods.xcodeproj/xcuserdata/benwhitley.xcuserdatad/xcschemes/app.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /iosApp/Pods/Pods.xcodeproj/xcuserdata/benwhitley.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Pods-iosApp.xcscheme 8 | 9 | isShown 10 | 11 | orderHint 12 | 1 13 | 14 | app.xcscheme 15 | 16 | isShown 17 | 18 | orderHint 19 | 0 20 | 21 | 22 | SuppressBuildableAutocreation 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /iosApp/Pods/Pods.xcodeproj/xcuserdata/kgalligan.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Pods-iosApp.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 2 11 | 12 | app.xcscheme_^#shared#^_ 13 | 14 | orderHint 15 | 1 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /iosApp/Pods/Target Support Files/Pods-iosApp/Pods-iosApp-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /iosApp/Pods/Target Support Files/Pods-iosApp/Pods-iosApp-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /iosApp/Pods/Target Support Files/Pods-iosApp/Pods-iosApp-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /iosApp/Pods/Target Support Files/Pods-iosApp/Pods-iosApp-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_iosApp : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_iosApp 5 | @end 6 | -------------------------------------------------------------------------------- /iosApp/Pods/Target Support Files/Pods-iosApp/Pods-iosApp-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_iosAppVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_iosAppVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /iosApp/Pods/Target Support Files/Pods-iosApp/Pods-iosApp.debug.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../app/build/cocoapods/framework" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -framework "app" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 7 | PODS_ROOT = ${SRCROOT}/Pods 8 | -------------------------------------------------------------------------------- /iosApp/Pods/Target Support Files/Pods-iosApp/Pods-iosApp.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_iosApp { 2 | umbrella header "Pods-iosApp-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /iosApp/Pods/Target Support Files/Pods-iosApp/Pods-iosApp.release.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../app/build/cocoapods/framework" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -framework "app" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 7 | PODS_ROOT = ${SRCROOT}/Pods 8 | -------------------------------------------------------------------------------- /iosApp/Pods/Target Support Files/app/app.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/app 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../app/build/cocoapods/framework" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | KOTLIN_TARGET[sdk=iphoneos*] = ios_arm 5 | KOTLIN_TARGET[sdk=iphonesimulator*] = ios_x64 6 | KOTLIN_TARGET[sdk=macosx*] = macos_x64 7 | PODS_BUILD_DIR = ${BUILD_DIR} 8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT} 10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../app 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 159F297A53AACFC20EDD2FBB /* Pods_iosApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C77B632C0422AFBE5E0FD49D /* Pods_iosApp.framework */; }; 11 | 63E57A2722EF5C0C00FAAC7B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E57A2622EF5C0C00FAAC7B /* AppDelegate.swift */; }; 12 | 63E57A2922EF5C0C00FAAC7B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E57A2822EF5C0C00FAAC7B /* ViewController.swift */; }; 13 | 63E57A2C22EF5C0C00FAAC7B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 63E57A2A22EF5C0C00FAAC7B /* Main.storyboard */; }; 14 | 63E57A2E22EF5C0F00FAAC7B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 63E57A2D22EF5C0F00FAAC7B /* Assets.xcassets */; }; 15 | 63E57A3122EF5C0F00FAAC7B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 63E57A2F22EF5C0F00FAAC7B /* LaunchScreen.storyboard */; }; 16 | /* End PBXBuildFile section */ 17 | 18 | /* Begin PBXFileReference section */ 19 | 096AA7AAFC18619E823D1FC0 /* Pods-iosApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosApp.debug.xcconfig"; path = "Target Support Files/Pods-iosApp/Pods-iosApp.debug.xcconfig"; sourceTree = ""; }; 20 | 63E57A2322EF5C0C00FAAC7B /* iosApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iosApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 21 | 63E57A2622EF5C0C00FAAC7B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 22 | 63E57A2822EF5C0C00FAAC7B /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 23 | 63E57A2B22EF5C0C00FAAC7B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 24 | 63E57A2D22EF5C0F00FAAC7B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 25 | 63E57A3022EF5C0F00FAAC7B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 26 | 63E57A3222EF5C0F00FAAC7B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 27 | A188D59035001BF56A3F89F6 /* Pods-iosApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosApp.release.xcconfig"; path = "Target Support Files/Pods-iosApp/Pods-iosApp.release.xcconfig"; sourceTree = ""; }; 28 | C77B632C0422AFBE5E0FD49D /* Pods_iosApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_iosApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 29 | /* End PBXFileReference section */ 30 | 31 | /* Begin PBXFrameworksBuildPhase section */ 32 | 63E57A2022EF5C0C00FAAC7B /* Frameworks */ = { 33 | isa = PBXFrameworksBuildPhase; 34 | buildActionMask = 2147483647; 35 | files = ( 36 | 159F297A53AACFC20EDD2FBB /* Pods_iosApp.framework in Frameworks */, 37 | ); 38 | runOnlyForDeploymentPostprocessing = 0; 39 | }; 40 | /* End PBXFrameworksBuildPhase section */ 41 | 42 | /* Begin PBXGroup section */ 43 | 63E57A1A22EF5C0C00FAAC7B = { 44 | isa = PBXGroup; 45 | children = ( 46 | 63E57A2522EF5C0C00FAAC7B /* iosApp */, 47 | 63E57A2422EF5C0C00FAAC7B /* Products */, 48 | 79C1DBFF97F4F9D041BB33A8 /* Pods */, 49 | A083FEFC5AF17B9E46C204E6 /* Frameworks */, 50 | ); 51 | sourceTree = ""; 52 | }; 53 | 63E57A2422EF5C0C00FAAC7B /* Products */ = { 54 | isa = PBXGroup; 55 | children = ( 56 | 63E57A2322EF5C0C00FAAC7B /* iosApp.app */, 57 | ); 58 | name = Products; 59 | sourceTree = ""; 60 | }; 61 | 63E57A2522EF5C0C00FAAC7B /* iosApp */ = { 62 | isa = PBXGroup; 63 | children = ( 64 | 63E57A2622EF5C0C00FAAC7B /* AppDelegate.swift */, 65 | 63E57A2822EF5C0C00FAAC7B /* ViewController.swift */, 66 | 63E57A2A22EF5C0C00FAAC7B /* Main.storyboard */, 67 | 63E57A2D22EF5C0F00FAAC7B /* Assets.xcassets */, 68 | 63E57A2F22EF5C0F00FAAC7B /* LaunchScreen.storyboard */, 69 | 63E57A3222EF5C0F00FAAC7B /* Info.plist */, 70 | ); 71 | path = iosApp; 72 | sourceTree = ""; 73 | }; 74 | 79C1DBFF97F4F9D041BB33A8 /* Pods */ = { 75 | isa = PBXGroup; 76 | children = ( 77 | 096AA7AAFC18619E823D1FC0 /* Pods-iosApp.debug.xcconfig */, 78 | A188D59035001BF56A3F89F6 /* Pods-iosApp.release.xcconfig */, 79 | ); 80 | path = Pods; 81 | sourceTree = ""; 82 | }; 83 | A083FEFC5AF17B9E46C204E6 /* Frameworks */ = { 84 | isa = PBXGroup; 85 | children = ( 86 | C77B632C0422AFBE5E0FD49D /* Pods_iosApp.framework */, 87 | ); 88 | name = Frameworks; 89 | sourceTree = ""; 90 | }; 91 | /* End PBXGroup section */ 92 | 93 | /* Begin PBXNativeTarget section */ 94 | 63E57A2222EF5C0C00FAAC7B /* iosApp */ = { 95 | isa = PBXNativeTarget; 96 | buildConfigurationList = 63E57A3522EF5C0F00FAAC7B /* Build configuration list for PBXNativeTarget "iosApp" */; 97 | buildPhases = ( 98 | 58048FDF47E69A8F645AD16D /* [CP] Check Pods Manifest.lock */, 99 | 63E57A1F22EF5C0C00FAAC7B /* Sources */, 100 | 63E57A2022EF5C0C00FAAC7B /* Frameworks */, 101 | 63E57A2122EF5C0C00FAAC7B /* Resources */, 102 | ); 103 | buildRules = ( 104 | ); 105 | dependencies = ( 106 | ); 107 | name = iosApp; 108 | productName = iosApp; 109 | productReference = 63E57A2322EF5C0C00FAAC7B /* iosApp.app */; 110 | productType = "com.apple.product-type.application"; 111 | }; 112 | /* End PBXNativeTarget section */ 113 | 114 | /* Begin PBXProject section */ 115 | 63E57A1B22EF5C0C00FAAC7B /* Project object */ = { 116 | isa = PBXProject; 117 | attributes = { 118 | LastSwiftUpdateCheck = 1030; 119 | LastUpgradeCheck = 1030; 120 | ORGANIZATIONNAME = "Kevin Galligan"; 121 | TargetAttributes = { 122 | 63E57A2222EF5C0C00FAAC7B = { 123 | CreatedOnToolsVersion = 10.3; 124 | }; 125 | }; 126 | }; 127 | buildConfigurationList = 63E57A1E22EF5C0C00FAAC7B /* Build configuration list for PBXProject "iosApp" */; 128 | compatibilityVersion = "Xcode 9.3"; 129 | developmentRegion = en; 130 | hasScannedForEncodings = 0; 131 | knownRegions = ( 132 | en, 133 | Base, 134 | ); 135 | mainGroup = 63E57A1A22EF5C0C00FAAC7B; 136 | productRefGroup = 63E57A2422EF5C0C00FAAC7B /* Products */; 137 | projectDirPath = ""; 138 | projectRoot = ""; 139 | targets = ( 140 | 63E57A2222EF5C0C00FAAC7B /* iosApp */, 141 | ); 142 | }; 143 | /* End PBXProject section */ 144 | 145 | /* Begin PBXResourcesBuildPhase section */ 146 | 63E57A2122EF5C0C00FAAC7B /* Resources */ = { 147 | isa = PBXResourcesBuildPhase; 148 | buildActionMask = 2147483647; 149 | files = ( 150 | 63E57A3122EF5C0F00FAAC7B /* LaunchScreen.storyboard in Resources */, 151 | 63E57A2E22EF5C0F00FAAC7B /* Assets.xcassets in Resources */, 152 | 63E57A2C22EF5C0C00FAAC7B /* Main.storyboard in Resources */, 153 | ); 154 | runOnlyForDeploymentPostprocessing = 0; 155 | }; 156 | /* End PBXResourcesBuildPhase section */ 157 | 158 | /* Begin PBXShellScriptBuildPhase section */ 159 | 58048FDF47E69A8F645AD16D /* [CP] Check Pods Manifest.lock */ = { 160 | isa = PBXShellScriptBuildPhase; 161 | buildActionMask = 2147483647; 162 | files = ( 163 | ); 164 | inputFileListPaths = ( 165 | ); 166 | inputPaths = ( 167 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 168 | "${PODS_ROOT}/Manifest.lock", 169 | ); 170 | name = "[CP] Check Pods Manifest.lock"; 171 | outputFileListPaths = ( 172 | ); 173 | outputPaths = ( 174 | "$(DERIVED_FILE_DIR)/Pods-iosApp-checkManifestLockResult.txt", 175 | ); 176 | runOnlyForDeploymentPostprocessing = 0; 177 | shellPath = /bin/sh; 178 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 179 | showEnvVarsInLog = 0; 180 | }; 181 | /* End PBXShellScriptBuildPhase section */ 182 | 183 | /* Begin PBXSourcesBuildPhase section */ 184 | 63E57A1F22EF5C0C00FAAC7B /* Sources */ = { 185 | isa = PBXSourcesBuildPhase; 186 | buildActionMask = 2147483647; 187 | files = ( 188 | 63E57A2922EF5C0C00FAAC7B /* ViewController.swift in Sources */, 189 | 63E57A2722EF5C0C00FAAC7B /* AppDelegate.swift in Sources */, 190 | ); 191 | runOnlyForDeploymentPostprocessing = 0; 192 | }; 193 | /* End PBXSourcesBuildPhase section */ 194 | 195 | /* Begin PBXVariantGroup section */ 196 | 63E57A2A22EF5C0C00FAAC7B /* Main.storyboard */ = { 197 | isa = PBXVariantGroup; 198 | children = ( 199 | 63E57A2B22EF5C0C00FAAC7B /* Base */, 200 | ); 201 | name = Main.storyboard; 202 | sourceTree = ""; 203 | }; 204 | 63E57A2F22EF5C0F00FAAC7B /* LaunchScreen.storyboard */ = { 205 | isa = PBXVariantGroup; 206 | children = ( 207 | 63E57A3022EF5C0F00FAAC7B /* Base */, 208 | ); 209 | name = LaunchScreen.storyboard; 210 | sourceTree = ""; 211 | }; 212 | /* End PBXVariantGroup section */ 213 | 214 | /* Begin XCBuildConfiguration section */ 215 | 63E57A3322EF5C0F00FAAC7B /* Debug */ = { 216 | isa = XCBuildConfiguration; 217 | buildSettings = { 218 | ALWAYS_SEARCH_USER_PATHS = NO; 219 | CLANG_ANALYZER_NONNULL = YES; 220 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 221 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 222 | CLANG_CXX_LIBRARY = "libc++"; 223 | CLANG_ENABLE_MODULES = YES; 224 | CLANG_ENABLE_OBJC_ARC = YES; 225 | CLANG_ENABLE_OBJC_WEAK = YES; 226 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 227 | CLANG_WARN_BOOL_CONVERSION = YES; 228 | CLANG_WARN_COMMA = YES; 229 | CLANG_WARN_CONSTANT_CONVERSION = YES; 230 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 231 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 232 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 233 | CLANG_WARN_EMPTY_BODY = YES; 234 | CLANG_WARN_ENUM_CONVERSION = YES; 235 | CLANG_WARN_INFINITE_RECURSION = YES; 236 | CLANG_WARN_INT_CONVERSION = YES; 237 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 238 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 239 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 240 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 241 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 242 | CLANG_WARN_STRICT_PROTOTYPES = YES; 243 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 244 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 245 | CLANG_WARN_UNREACHABLE_CODE = YES; 246 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 247 | CODE_SIGN_IDENTITY = "iPhone Developer"; 248 | COPY_PHASE_STRIP = NO; 249 | DEBUG_INFORMATION_FORMAT = dwarf; 250 | ENABLE_STRICT_OBJC_MSGSEND = YES; 251 | ENABLE_TESTABILITY = YES; 252 | GCC_C_LANGUAGE_STANDARD = gnu11; 253 | GCC_DYNAMIC_NO_PIC = NO; 254 | GCC_NO_COMMON_BLOCKS = YES; 255 | GCC_OPTIMIZATION_LEVEL = 0; 256 | GCC_PREPROCESSOR_DEFINITIONS = ( 257 | "DEBUG=1", 258 | "$(inherited)", 259 | ); 260 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 261 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 262 | GCC_WARN_UNDECLARED_SELECTOR = YES; 263 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 264 | GCC_WARN_UNUSED_FUNCTION = YES; 265 | GCC_WARN_UNUSED_VARIABLE = YES; 266 | IPHONEOS_DEPLOYMENT_TARGET = 12.4; 267 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 268 | MTL_FAST_MATH = YES; 269 | ONLY_ACTIVE_ARCH = YES; 270 | SDKROOT = iphoneos; 271 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 272 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 273 | }; 274 | name = Debug; 275 | }; 276 | 63E57A3422EF5C0F00FAAC7B /* Release */ = { 277 | isa = XCBuildConfiguration; 278 | buildSettings = { 279 | ALWAYS_SEARCH_USER_PATHS = NO; 280 | CLANG_ANALYZER_NONNULL = YES; 281 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 282 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 283 | CLANG_CXX_LIBRARY = "libc++"; 284 | CLANG_ENABLE_MODULES = YES; 285 | CLANG_ENABLE_OBJC_ARC = YES; 286 | CLANG_ENABLE_OBJC_WEAK = YES; 287 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 288 | CLANG_WARN_BOOL_CONVERSION = YES; 289 | CLANG_WARN_COMMA = YES; 290 | CLANG_WARN_CONSTANT_CONVERSION = YES; 291 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 292 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 293 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 294 | CLANG_WARN_EMPTY_BODY = YES; 295 | CLANG_WARN_ENUM_CONVERSION = YES; 296 | CLANG_WARN_INFINITE_RECURSION = YES; 297 | CLANG_WARN_INT_CONVERSION = YES; 298 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 299 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 300 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 301 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 302 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 303 | CLANG_WARN_STRICT_PROTOTYPES = YES; 304 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 305 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 306 | CLANG_WARN_UNREACHABLE_CODE = YES; 307 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 308 | CODE_SIGN_IDENTITY = "iPhone Developer"; 309 | COPY_PHASE_STRIP = NO; 310 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 311 | ENABLE_NS_ASSERTIONS = NO; 312 | ENABLE_STRICT_OBJC_MSGSEND = YES; 313 | GCC_C_LANGUAGE_STANDARD = gnu11; 314 | GCC_NO_COMMON_BLOCKS = YES; 315 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 316 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 317 | GCC_WARN_UNDECLARED_SELECTOR = YES; 318 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 319 | GCC_WARN_UNUSED_FUNCTION = YES; 320 | GCC_WARN_UNUSED_VARIABLE = YES; 321 | IPHONEOS_DEPLOYMENT_TARGET = 12.4; 322 | MTL_ENABLE_DEBUG_INFO = NO; 323 | MTL_FAST_MATH = YES; 324 | SDKROOT = iphoneos; 325 | SWIFT_COMPILATION_MODE = wholemodule; 326 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 327 | VALIDATE_PRODUCT = YES; 328 | }; 329 | name = Release; 330 | }; 331 | 63E57A3622EF5C0F00FAAC7B /* Debug */ = { 332 | isa = XCBuildConfiguration; 333 | baseConfigurationReference = 096AA7AAFC18619E823D1FC0 /* Pods-iosApp.debug.xcconfig */; 334 | buildSettings = { 335 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 336 | CODE_SIGN_STYLE = Automatic; 337 | DEVELOPMENT_TEAM = 5A27VZVWQE; 338 | INFOPLIST_FILE = iosApp/Info.plist; 339 | LD_RUNPATH_SEARCH_PATHS = ( 340 | "$(inherited)", 341 | "@executable_path/Frameworks", 342 | ); 343 | PRODUCT_BUNDLE_IDENTIFIER = co.touchlab.iosApp; 344 | PRODUCT_NAME = "$(TARGET_NAME)"; 345 | SWIFT_VERSION = 5.0; 346 | TARGETED_DEVICE_FAMILY = "1,2"; 347 | }; 348 | name = Debug; 349 | }; 350 | 63E57A3722EF5C0F00FAAC7B /* Release */ = { 351 | isa = XCBuildConfiguration; 352 | baseConfigurationReference = A188D59035001BF56A3F89F6 /* Pods-iosApp.release.xcconfig */; 353 | buildSettings = { 354 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 355 | CODE_SIGN_STYLE = Automatic; 356 | DEVELOPMENT_TEAM = 5A27VZVWQE; 357 | INFOPLIST_FILE = iosApp/Info.plist; 358 | LD_RUNPATH_SEARCH_PATHS = ( 359 | "$(inherited)", 360 | "@executable_path/Frameworks", 361 | ); 362 | PRODUCT_BUNDLE_IDENTIFIER = co.touchlab.iosApp; 363 | PRODUCT_NAME = "$(TARGET_NAME)"; 364 | SWIFT_VERSION = 5.0; 365 | TARGETED_DEVICE_FAMILY = "1,2"; 366 | }; 367 | name = Release; 368 | }; 369 | /* End XCBuildConfiguration section */ 370 | 371 | /* Begin XCConfigurationList section */ 372 | 63E57A1E22EF5C0C00FAAC7B /* Build configuration list for PBXProject "iosApp" */ = { 373 | isa = XCConfigurationList; 374 | buildConfigurations = ( 375 | 63E57A3322EF5C0F00FAAC7B /* Debug */, 376 | 63E57A3422EF5C0F00FAAC7B /* Release */, 377 | ); 378 | defaultConfigurationIsVisible = 0; 379 | defaultConfigurationName = Release; 380 | }; 381 | 63E57A3522EF5C0F00FAAC7B /* Build configuration list for PBXNativeTarget "iosApp" */ = { 382 | isa = XCConfigurationList; 383 | buildConfigurations = ( 384 | 63E57A3622EF5C0F00FAAC7B /* Debug */, 385 | 63E57A3722EF5C0F00FAAC7B /* Release */, 386 | ); 387 | defaultConfigurationIsVisible = 0; 388 | defaultConfigurationName = Release; 389 | }; 390 | /* End XCConfigurationList section */ 391 | }; 392 | rootObject = 63E57A1B22EF5C0C00FAAC7B /* Project object */; 393 | } 394 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/kgalligan.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/touchlab-lab/KotlinMultiplatformStarter/25ce61e6b34a4d961e0f48f8c5cb33a08da3d79c/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/kgalligan.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/xcuserdata/benwhitley.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | iosApp.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 2 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/xcuserdata/kgalligan.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | iosApp.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /iosApp/iosApp.xcworkspace/xcuserdata/benwhitley.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/touchlab-lab/KotlinMultiplatformStarter/25ce61e6b34a4d961e0f48f8c5cb33a08da3d79c/iosApp/iosApp.xcworkspace/xcuserdata/benwhitley.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /iosApp/iosApp.xcworkspace/xcuserdata/kgalligan.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/touchlab-lab/KotlinMultiplatformStarter/25ce61e6b34a4d961e0f48f8c5cb33a08da3d79c/iosApp/iosApp.xcworkspace/xcuserdata/kgalligan.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /iosApp/iosApp/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // iosApp 4 | // 5 | // Created by Kevin Galligan on 7/29/19. 6 | // Copyright © 2019 Kevin Galligan. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import app 11 | 12 | @UIApplicationMain 13 | class AppDelegate: UIResponder, UIApplicationDelegate { 14 | 15 | var window: UIWindow? 16 | 17 | 18 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 19 | // Override point for customization after application launch. 20 | return true 21 | } 22 | 23 | func applicationWillResignActive(_ application: UIApplication) { 24 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 25 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 26 | } 27 | 28 | func applicationDidEnterBackground(_ application: UIApplication) { 29 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 30 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 31 | } 32 | 33 | func applicationWillEnterForeground(_ application: UIApplication) { 34 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 35 | } 36 | 37 | func applicationDidBecomeActive(_ application: UIApplication) { 38 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 39 | } 40 | 41 | func applicationWillTerminate(_ application: UIApplication) { 42 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 43 | } 44 | 45 | 46 | } 47 | 48 | -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | } 93 | ], 94 | "info" : { 95 | "version" : 1, 96 | "author" : "xcode" 97 | } 98 | } -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /iosApp/iosApp/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /iosApp/iosApp/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /iosApp/iosApp/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /iosApp/iosApp/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // iosApp 4 | // 5 | // Created by Kevin Galligan on 7/29/19. 6 | // Copyright © 2019 Kevin Galligan. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | @IBOutlet weak var label: UILabel! 14 | 15 | override func viewDidLoad() { 16 | super.viewDidLoad() 17 | // Do any additional setup after loading the view. 18 | label.text = "Hello, iOS world!" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'mobilesample' 2 | 3 | include ':app' 4 | --------------------------------------------------------------------------------