|
@@ -1,119 +0,0 @@
|
|
|
-= How to build for iOS and publish to Apple App Store
|
|
|
-:author: mitm
|
|
|
-:revnumber: 1.0
|
|
|
-:revdate: 2-28-2020
|
|
|
-:relfileprefix: ../
|
|
|
-:imagesdir: ..
|
|
|
-:experimental:
|
|
|
-ifdef::env-github,env-browser[:outfilesuffix: .adoc]
|
|
|
-
|
|
|
-
|
|
|
-= Building On iOS.
|
|
|
-
|
|
|
-There are a couple of updates required to the standard XCODE project generated by the system in order to build correctly.
|
|
|
-
|
|
|
-. After creating a `Basic Game` project in the jMonkeyEngine SDK, add the iOS library by btn:[RMB] selecting your project and navigating to `menu:Properties[Libraries > Add Library... > jme3-ios]` and when ready btn:[Add Library].
|
|
|
-+
|
|
|
-image::sdk/xcode_add_ios_lib.jpg[xcode_add_ios_lib.jpg]
|
|
|
-
|
|
|
-. In `menu:Properties[Application > IOS]` enable iOS deployment and make sure the iOS SDK Version is showing a number (Not Default). If there is no number present then you need to install XCODE. In this example, my SDK version is 11.3 and I’m using XCODE version 9.3
|
|
|
-+
|
|
|
---
|
|
|
-image::sdk/xcode_enable_ios_deploy.jpg[xcode_enable_ios_deploy.jpg]
|
|
|
-
|
|
|
-When you press OK, after enabling iOS deployment and if not already installed, "`AVIAN`" will download and install. This is shown in the bottom status bar of the JME editor. Wait until this is finished before doing anything else.
|
|
|
---
|
|
|
-
|
|
|
-. Compile your project. If it’s missing `stdio.h` you need to install the xcode command line tools.
|
|
|
-.. Run this command in terminal:
|
|
|
-
|
|
|
- xcode-select --install
|
|
|
-
|
|
|
-.. When it’s compiled successfully, load the XCODE PROJECT into XCODE, which is located in the IOS/PROJECT folder. As mentioned above, my SDK version is 11.3 and I’m using XCODE version 9.3
|
|
|
-
|
|
|
-. First change the selected "`TARGET`" at the top of the screen from `iPhone 7 Plus` to `Generic iOS Device`. This is so we can do a full build. If you want to run it in a simulator then you can change it back later.
|
|
|
-+
|
|
|
-image::sdk/xcode_generic_ios.jpg[xcode_generic_ios.jpg]
|
|
|
-
|
|
|
-. From the "`PROJECT`" menu click btn:[BUILD] and the build will fail. Click the btn:[ISSUE NAVIGATOR] button to show the compilation errors.
|
|
|
-+
|
|
|
---
|
|
|
-image::sdk/xcode_issue_nav.jpg[xcode_issue_nav.jpg]
|
|
|
-
|
|
|
-We can see here that the "`Developer`" account is missing, the project settings are out of date and there is a missing image for Retina 4-inch support.
|
|
|
---
|
|
|
-
|
|
|
-.. Click btn:[Validate Project Settings] followed by btn:[PERFORM CHANGES] to accept all the suggested amendments.
|
|
|
-+
|
|
|
-image::sdk/xcode_perform_changes.jpg[xcode_perform_changes.jpg]
|
|
|
-
|
|
|
-.. Click on the Missing Image warning and XCODE will automatically add a placeholder for you.
|
|
|
-+
|
|
|
-image::sdk/xcode_add_placeholder.jpg[xcode_add_placeholder.jpg]
|
|
|
-
|
|
|
-.. Add your iOS developer account details by clicking on the target and then the Account Drop down.
|
|
|
-+
|
|
|
-image::sdk/xcode_add_account.jpg[xcode_add_account.jpg]
|
|
|
-
|
|
|
-. Now click the "`PROJECT`" menu and "`BUILD`" again and it should compile now but fails at the linking stage.
|
|
|
-+
|
|
|
-image::sdk/xcode_build.jpg[xcode_build.jpg]
|
|
|
-
|
|
|
-. We need to amend the linker search paths.
|
|
|
-.. Click on btn:[PROJECT NAVIGATOR].
|
|
|
-.. Highlight the top row (JME-IOS).
|
|
|
-.. Click btn:[jme-ios] under "`PROJECT`" (Not "`TARGETS`").
|
|
|
-+
|
|
|
-If you have done it correct then you will only see "`INFO`" & "`BUILD SETTINGS`" at the top.
|
|
|
-.. Select btn:[BUILD SETTINGS].
|
|
|
-.. Scroll down to "`LINKING`" section.
|
|
|
-+
|
|
|
-image::sdk/xcode_linking.jpg[xcode_linking.jpg]
|
|
|
-.. Double click on btn:[OTHER LINKER FLAGS].
|
|
|
-+
|
|
|
-image::sdk/xcode_linker_flags.jpg[xcode_linker_flags.jpg]
|
|
|
-.. Double click on the line referencing "`i386`" and change it from:
|
|
|
-+
|
|
|
---
|
|
|
-`…/…/build/ios-i386/libs.list`
|
|
|
-
|
|
|
-to
|
|
|
-
|
|
|
-`…/…/build/ios-x86_64/libs.list`
|
|
|
---
|
|
|
-.. Add the additional flag for "`ARM64`" sub type issue introduced in iOS SDK 11.
|
|
|
-+
|
|
|
---
|
|
|
-* With nothing selected click on the btn:[+] sign and a new entry will be added at the bottom.
|
|
|
-* In here add:
|
|
|
-+
|
|
|
-`-force_cpusubtype_ALL`
|
|
|
---
|
|
|
-+
|
|
|
---
|
|
|
-Your other linker flags should now look like this…
|
|
|
-
|
|
|
-image::sdk/xcode_other_linker.png[xcode_other_linker.png]
|
|
|
---
|
|
|
-. Disable "`BITCODE`".
|
|
|
-.. Click on btn:[PROJECT NAVIGATOR].
|
|
|
-.. Highlight the top row (JME-IOS).
|
|
|
-.. Click btn:[jme-ios] under "`TARGETS`" (Not "`PROJECT`").
|
|
|
-+
|
|
|
-If you have followed the directions correctly, then you will see General/Capabilities/Resource Tags/Info/Build Settings/Build Phases/Build Rules at the top.
|
|
|
-.. Select btn:[BUILD SETTINGS].
|
|
|
-.. Scroll down to "`BUILD OPTIONS`" section and change "`ENABLE BITCODE`" to "`NO`".
|
|
|
-+
|
|
|
-image::sdk/xcode_disable_bitcode.jpg[xcode_disable_bitcode.jpg]
|
|
|
-
|
|
|
-. From the "`PROJECT`" menu click "BUILD" and the project should build and link fully.
|
|
|
-
|
|
|
-. To publish to the "`APP STORE`" you select the "`PROJECT`" menu and "`ARCHIVE`".
|
|
|
-+
|
|
|
-This will generate the App Store Archive and show in the organizer screen.
|
|
|
-+
|
|
|
-image::sdk/xcode_publish.png[xcode_publish.png]
|
|
|
-
|
|
|
-. Click Upload to APP Store and away you go.
|
|
|
-
|
|
|
-You can follow the forum post on this subject link:https://hub.jmonkeyengine.org/t/how-to-build-for-ios-and-publish-to-apple-app-store/40920[here].
|