[go: up one dir, main page]

0% found this document useful (0 votes)
83 views3 pages

iOS Package Creation Guide

The document provides instructions for creating a package for an iOS application using Kivy. It involves 3 main steps: 1) Compiling Python and modules for iOS, 2) Creating an Xcode project and linking the source code, 3) Customizing the application. Some prerequisites like Cython need to be installed first. Then the Python distribution is compiled and an Xcode project is created from a script. The project can be updated and customized further. Known issues and FAQs regarding iOS packaging with Kivy are also addressed.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views3 pages

iOS Package Creation Guide

The document provides instructions for creating a package for an iOS application using Kivy. It involves 3 main steps: 1) Compiling Python and modules for iOS, 2) Creating an Xcode project and linking the source code, 3) Customizing the application. Some prerequisites like Cython need to be installed first. Then the Python distribution is compiled and an Xcode project is created from a script. The project can be updated and customized further. Known issues and FAQs regarding iOS packaging with Kivy are also addressed.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Create a package for IOS

Note :

Currently, packages for iOS can only be generated with Python 2.7. Python 3.4+ support is on the
way.

The overall process for creating a package for IOS can be explained in 3 steps:

1. Compile python + modules for IOS


2. Create an Xcode project and link your source code
3. Customize

Prerequisites

You need to install some dependencies, like Cython, autotools, etc. We encourage
you to use Homebrew to install those dependencies:

brew install autoconf automake libtool pkg-config


brew link libtool
sudo easy_install pip
sudo pip install Cython==0.28.3

For more detail, see IOS Prerequisites. Just ensure that everything is ok before
starting the second step!

Compile the distribution

Open a terminal, and type:

$ git clone git://github.com/kivy/kivy-ios


$ cd kivy-ios
$ ./toolchain.py build kivy

Most of the python distribution is packed into python27.zip. If you experience any
issues, please refer to our user group or the kivy-ios project page.

Create an Xcode project

Before proceeding to the next step, ensure your application entry point is a file
named main.py.

We provide a script that creates an initial Xcode project to start with. In the
command line below, replace test with your project name. It must be a name
without any spaces or illegal characters:

$ ./toolchain.py create <title> <app_directory>


$ ./toolchain.py create Touchtracer ~/code/kivy/examples/demo/touchtracer
Note
You must use a fully qualified path to your application directory.
A directory named <title>-ios will be created, with an Xcode project in it. You can
open the Xcode project:

$ open touchtracer-ios/touchtracer.xcodeproj

Then click on Play, and enjoy.

Note
Everytime you press Play, your application directory will be synced to the <title>-
ios/YourApp directory. Don’t make changes in the -ios directory directly.
Updating an Xcode project

Let’s say you want to add numpy to your project but you did not compile it prior to
creating your XCode project. First, ensure it is built:

$ ./toolchain.py build numpy

Then, update your Xcode project:

$ ./toolchain.py update touchtracer-ios

All the libraries / frameworks necessary to run all the compiled recipes will be added
to your Xcode project.

Customize

There are various ways to customize and configure your app. Please refer to
the kivy-ios documentation for more information.

Known issues

All known issues with packaging for iOS are currently tracked on our issues page. If
you encounter an issue specific to packaging for iOS that isn’t listed there, please
feel free to file a new issue, and we will get back to you on it.

While most are too technical to be written here, one important known issue is that
removing some libraries (e.g. SDL_Mixer for audio) is currently not possible because
the kivy project requires it. We will fix this and others in future versions.

FAQ
Application quit abnormally!

By default, all the print statements to the console and files are ignored. If you have
an issue when running your application, you can activate the log by commenting out
this line in main.m:

putenv("KIVY_NO_CONSOLELOG=1");

Then you should see all the Kivy logging on the Xcode console.
How can Apple accept a python app ?

We managed to merge the app binary with all the libraries into a single binary,
called libpython. This means all binary modules are loaded beforehand, so nothing is
dynamically loaded.

Have you already submited a Kivy application to the App store ?

Yes, check:

 Defletouch on iTunes,
 ProcessCraft on iTunes

For a more complete list, visit the Kivy wiki.

You might also like