This project is Kotlin/Native iOS app of DroidKaigi2018.
- Check all of sessions.
- Find the place of DroidKaigi will be held.
- See contributors of this app. (Please encourage us!)
We are always welcome your contribution!
You can find open isssues here, welcome contribute
or easy
tagged issues are good for first contribute.
Making new issues is welcome too!
Please, don't include your team in project.pbxproj
when commiting. 🙏
- machine running macOS installed Xcode 9.2
- Apple developer program account
- iOS devices for running binary (iOS Simulator is unavailable for Kotlin/Native)
- CLion (optional)
To compile Kotlin/Native use following steps:
git clone https://github.com/JetBrains/kotlin-native.git
cd kotlin-native
./gradlew dependencies:update
# this may take around a hour
./gradlew dist distPlatformLibs
export PATH=./dist/bin:$PATH
You can find Kotlin/Native introduction in here.
The instance of Kotlin/Native iOS app is KotlinConf 2017 app. We reference it to write codes.
- (optional) Open
ios/
directory with CLion. - (optional) Write your code. Put your code under
ios/src/main/kotlin/
. - Open
ios/DroidKaigi2018.xcodeproj
with Xcode. - Connect your iOS device to your mac.
- Choose your iOS device as running target.
- In Xcode, select your Team at
DroidKaigi2018
>General
Tab > (in left painTARGET
)DroidKaigi2018
>Signing
Section >Team
pull down menu.- If you have no team options, choose
Add an Acount...
and add your Apple ID. - Maybe you can find your Personal Team.
- If you have no team options, choose
- Run and you can find
DroidKaigi2018
app in your home screen!- If you using Personal Team, in first time, you have to accept your Signing Certificate from
Settings.app
>General
>Device Management
.
- If you using Personal Team, in first time, you have to accept your Signing Certificate from
It's little confusing for me (and maybe you).
- Add new pod into Podfile normally.
- Archive pod as framework. (Select that scheme in Xcode and
Product
>Archive
) - Copy framework from DerivedData into
Frameworks
directory. - Add header files we want to use in Kotlin, linker/compiler options into
src/main/c_interop/libs.def
. - Run
compileKonanLibs
gradle task.
This project uses some modern libraries and source codes.
- Kotlin - JetBrains
- Kotlin/Native - JetBrains
- kotlinconf-app - JetBranis
- conference-app-2018 - DroidKaigi
TBD