Explorar o código

Added publish to Apple App Store page.

mitm %!s(int64=5) %!d(string=hai) anos
pai
achega
bd0a057e6e

+ 1 - 1
src/docs/asciidoc/jme3.adoc

@@ -314,7 +314,7 @@ Now that you understand the concepts, it's time to make the most of the jMonkeyE
 *  <<jme3/android#,Android>>
 *  <<sdk/application_deployment#,Application Deployment (using jMonkeyEngine SDK)>>
 *  <<jme3/webstart#,WebStart Deployment (without jMonkeyEngine SDK)>>
-
+*  <<sdk/xcode_project#,How to build for iOS and publish to Apple App Store>>
 
 === Virtual Reality &amp; Simulation
 

+ 119 - 0
src/docs/asciidoc/sdk/xcode_project.adoc

@@ -0,0 +1,119 @@
+= 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 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 done it correct 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 menu:PROJECT MENU[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].

BIN=BIN
src/docs/images/sdk/xcode_add_account.jpg


BIN=BIN
src/docs/images/sdk/xcode_add_ios_lib.jpg


BIN=BIN
src/docs/images/sdk/xcode_add_placeholder.jpg


BIN=BIN
src/docs/images/sdk/xcode_build.jpg


BIN=BIN
src/docs/images/sdk/xcode_disable_bitcode.jpg


BIN=BIN
src/docs/images/sdk/xcode_enable_ios_deploy.jpg


BIN=BIN
src/docs/images/sdk/xcode_generic_ios.jpg


BIN=BIN
src/docs/images/sdk/xcode_issue_nav.jpg


BIN=BIN
src/docs/images/sdk/xcode_linker_flags.jpg


BIN=BIN
src/docs/images/sdk/xcode_linking.jpg


BIN=BIN
src/docs/images/sdk/xcode_other_linker.png


BIN=BIN
src/docs/images/sdk/xcode_perform_changes.jpg


BIN=BIN
src/docs/images/sdk/xcode_publish.png