From dd58fcc959a7e2f0d754749b967867de4f28621b Mon Sep 17 00:00:00 2001 From: Richard Larkin <zenkey.zencode@gmail.com> Date: Wed, 23 Nov 2016 14:18:41 +0200 Subject: [PATCH] doc: added build and configure information. references #226 --- README.rst | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 603f64d..47a8338 100644 --- a/README.rst +++ b/README.rst @@ -112,10 +112,20 @@ Then click on `Play`, and enjoy. Configuring your App -------------------- -When you first build your XCode project, a 'main.m' file is created in your -XCode project folder. This file configures your environment variables and -controls your application startup. You can edit this file to customize your -launch environment. +You can configure and customize your app in various ways: + +#. Set the icon and launch images in XCode. Note that XCode requires that you + specify these assests per device or/and iOS version. + +#. When you first build your XCode project, a 'main.m' file is created in your + XCode project folder. This file configures your environment variables and + controls your application startup. You can edit this file to customize your + launch environment. + +#. Kivy uses SDL, and as soon as the application starts the SDL main, the launch + image will disappear. To prevent that, you need to have 2 files named + `Default.png` and `Default-Landscape.png`, and put them + in the `Resources` folder in Xcode (not in your application folder) .. note:: @@ -123,6 +133,37 @@ launch environment. the 'export_orientation' function in 'main.m'. The XCode orientation settings should be set to support all. +Reducing the application size +----------------------------- + +If you would like to reduce the size of your distributed app, there are a few +things you can do to achieve this: + +#. Minimize the `build/python/lib/python27.zip`: this contains all the python + modules. You can edit the zip file and remove all the files you'll not use + (reduce encodings, remove xml, email...) + +#. Go to the settings panel > build, search for "strip" options, and + triple-check that they are all set to NO. Stripping does not work with + Python dynamic modules and will remove needed symbols. + +#. By default, the iOS package compiles binaries for all processor + architectures, namely x86, x86_64, armv7 and arm64 as per the guidelines from + Apple. You can reduce the size of your ipa significantly by removing the + x86 and x86_64 architectures as they are usually used only for the emulator. + + The procedure is to first compile/build all the host recipes as is:: + + ./toolchain.py build hostpython + + Then build all the rest of the recipes using --arch=armv7 --arch=arm64 + arguments as follows:: + + ./toolchain.py build kivy --arch=armv7 --arch=arm64 + + Note that these packages will not run in the iOS emulators, so use them + only for deployment. + FAQ ---