Update iOS integration guide #29

This commit is contained in:
Longri 2016-10-08 07:18:40 +02:00 committed by Emux
parent 1ac57cb719
commit 4994d611fe

View File

@ -1,18 +1,33 @@
### iOS implementation ### iOS implementation
RoboVm needs the native libs / frameworks to create a build. RoboVm needs the native libs / frameworks to create a build.
Copy those files from `vtm-ios-[CURRENT-VERSION]-natives.jar` into a temp folder.
Create a copy task into your **build.gradle**. Create a copy task into your iOS **build.gradle** and add the dependencies.
```groovy ```groovy
task copyFrameWorks(type: Copy) { configurations { natives }
from(zipTree("./libs/vtm-ios-[CURRENT-VERSION]-natives.jar"))
into("${buildDir}/native") dependencies {
compile "org.mapsforge:vtm-ios:[CURRENT-VERSION]"
natives "org.mapsforge:vtm-ios:[CURRENT-VERSION]:natives"
...
} }
tasks.withType(org.gradle.api.tasks.compile.JavaCompile) { // Called every time Gradle gets executed. Takes the native dependencies of
compileTask -> compileTask.dependsOn copyFrameWorks // the 'natives' configuration and extracts them to the proper build folders
// so they get packed with the IPA.
task copyNatives() {
file("build/native/").mkdirs();
configurations.natives.files.each { jar ->
def outputDir = null
if (jar.name.endsWith("natives.jar")) outputDir = file("build/native/")
if (outputDir != null) {
copy {
from zipTree(jar)
into outputDir
}
}
}
} }
``` ```