364 lines
21 KiB
HTML
364 lines
21 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>iOS — Ren'Py Documentation</title>
|
|
<link rel="stylesheet" href="_static/renpydoc.css" type="text/css" />
|
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-3.3.6/css/bootstrap.min.css" />
|
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-3.3.6/css/bootstrap-theme.min.css" />
|
|
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
|
|
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
<script type="text/javascript" src="_static/language_data.js"></script>
|
|
<script type="text/javascript" src="_static/js/jquery-1.11.0.min.js"></script>
|
|
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
|
|
<script type="text/javascript" src="_static/bootstrap-3.3.6/js/bootstrap.min.js"></script>
|
|
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>
|
|
<link rel="index" title="Index" href="genindex.html" />
|
|
<link rel="search" title="Search" href="search.html" />
|
|
<link rel="next" title="In-App Purchasing" href="iap.html" />
|
|
<link rel="prev" title="Chrome OS/Chromebook" href="chromeos.html" />
|
|
<meta charset='utf-8'>
|
|
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
|
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
</head><body>
|
|
|
|
<div id="navbar" class="navbar navbar-default navbar-fixed-top">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
|
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="index.html">
|
|
Ren'Py Documentation</a>
|
|
<span class="navbar-text navbar-version pull-left"><b>7.5.3</b></span>
|
|
</div>
|
|
|
|
<div class="collapse navbar-collapse nav-collapse">
|
|
<ul class="nav navbar-nav">
|
|
|
|
<li><a href="https://www.renpy.org">Home Page</a></li>
|
|
<li><a href="https://www.renpy.org/doc/html/">Online Documentation</a></li>
|
|
|
|
|
|
<li class="dropdown globaltoc-container">
|
|
<a role="button"
|
|
id="dLabelGlobalToc"
|
|
data-toggle="dropdown"
|
|
data-target="#"
|
|
href="index.html">Site <b class="caret"></b></a>
|
|
<ul class="dropdown-menu globaltoc"
|
|
role="menu"
|
|
aria-labelledby="dLabelGlobalToc"><ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="gui.html">GUI Customization Guide</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="language_basics.html">Language Basics</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="label.html">Labels & Control Flow</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="dialogue.html">Dialogue and Narration</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="displaying_images.html">Displaying Images</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="menus.html">In-Game Menus</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="python.html">Python Statements</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="conditional.html">Conditional Statements</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="audio.html">Audio</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="movie.html">Movie</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="voice.html">Voice</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="text.html">Text</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="translation.html">Translation</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="displayables.html">Displayables</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="transforms.html">Transforms</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="transitions.html">Transitions</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="atl.html">Animation and Transformation Language</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="matrixcolor.html">Matrixcolor</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="layeredimage.html">Layered Images</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="3dstage.html">3D Stage</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="live2d.html">Live2D Cubism</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="style.html">Styles</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="style_properties.html">Style Properties</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="screens.html">Screens and Screen Language</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="screen_actions.html">Screen Actions, Values, and Functions</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="screen_special.html">Special Screen Names</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="screen_optimization.html">Screen Language Optimization</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="config.html">Configuration Variables</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="preferences.html">Preference Variables</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="store_variables.html">Store Variables</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="mouse.html">Custom Mouse Cursors</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="launcher.html">Launcher</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="developer_tools.html">Developer Tools</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="director.html">Interactive Director</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="nvl_mode.html">NVL-Mode Tutorial</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="input.html">Text Input</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="side_image.html">Side Images</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="rooms.html">Image Gallery, Music Room, and Replay Actions</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="drag_drop.html">Drag and Drop</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="sprites.html">Sprites</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="keymap.html">Customizing the Keymap</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="achievement.html">Achievements</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="history.html">Dialogue History</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="multiple.html">Multiple Character Dialogue</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="splashscreen_presplash.html">Splashscreen and Presplash</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="statement_equivalents.html">Statement Equivalents</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="save_load_rollback.html">Saving, Loading, and Rollback</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="persistent.html">Persistent Data</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="trans_trans_python.html">Transforms and Transitions in Python</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="gui_advanced.html">Advanced GUI</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="screen_python.html">Screens and Python</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="modes.html">Modes</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="cdd.html">Creator-Defined Displayables</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="cds.html">Creator-Defined Statements</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="custom_text_tags.html">Custom Text Tags</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="character_callbacks.html">Character Callbacks</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="file_python.html">File Access</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="color_class.html">Color Class</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="matrix.html">Matrix</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="model.html">Model-Based Rendering</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="other.html">Other Functions and Variables</a></li>
|
|
</ul>
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="build.html">Building Distributions</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="updater.html">Web Updater</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="android.html">Android</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="chromeos.html">Chrome OS/Chromebook</a></li>
|
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">iOS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="iap.html">In-App Purchasing</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="gesture.html">Gestures</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="raspi.html">Raspberry Pi</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="problems.html">Dealing with Problems</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="environment_variables.html">Environment Variables</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="self_voicing.html">Self-Voicing</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="editor.html">Text Editor Integration</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="skins.html">Skins</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="translating_renpy.html">Translating Ren'Py</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog (Ren'Py 7.x-)</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="changelog6.html">Changelog (Ren'Py 6.11 - 6.99)</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="incompatible.html">Incompatible Changes</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="distributor.html">Distributor Notes</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="credits.html">Credits</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="sponsors.html">Ren'Py Development Sponsors</a></li>
|
|
</ul>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="thequestion.html">Script of The Question</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="thequestion_nvl.html">NVL-mode script for The Question</a></li>
|
|
</ul>
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<form class="navbar-form navbar-right" action="search.html" method="get">
|
|
<div class="form-group">
|
|
<input type="text" name="q" class="form-control" placeholder="Search" />
|
|
</div>
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-md-3">
|
|
<div id="sidebar" class="bs-sidenav" role="complementary"><ul>
|
|
<li><a class="reference internal" href="#">iOS</a><ul>
|
|
<li><a class="reference internal" href="#required-language">Required Language</a></li>
|
|
<li><a class="reference internal" href="#work-in-progress">Work in Progress</a></li>
|
|
<li><a class="reference internal" href="#platform-differences">Platform Differences</a></li>
|
|
<li><a class="reference internal" href="#testing-and-emulation">Testing and Emulation</a></li>
|
|
<li><a class="reference internal" href="#packaging">Packaging</a><ul>
|
|
<li><a class="reference internal" href="#getting-started">Getting Started</a></li>
|
|
<li><a class="reference internal" href="#creating-the-xcode-project">Creating the Xcode Project</a></li>
|
|
<li><a class="reference internal" href="#building-the-project">Building the Project</a></li>
|
|
<li><a class="reference internal" href="#updating-the-project">Updating the Project</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a class="reference internal" href="#customization">Customization</a><ul>
|
|
<li><a class="reference internal" href="#launch-storyboard">Launch Storyboard</a></li>
|
|
<li><a class="reference internal" href="#generation">Generation</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a class="reference internal" href="#pyobjus">Pyobjus</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="col-md-9 content">
|
|
|
|
<div class="section" id="ios">
|
|
<h1>iOS<a class="headerlink" href="#ios" title="Permalink to this headline"> link</a></h1>
|
|
<p>Ren'Py supports creating iOS apps that run on iPhone and iPad devices. As
|
|
creating an iOS app requires Apple-developed programs (like the Xcode IDE),
|
|
iOS apps can only be created on Macintosh computers.</p>
|
|
<div class="section" id="required-language">
|
|
<h2>Required Language<a class="headerlink" href="#required-language" title="Permalink to this headline"> link</a></h2>
|
|
<p>Some of the libraries used by Ren'Py on iOS are licensed under the terms
|
|
of the GNU Lesser/Library General Public License. You'll need to comply
|
|
with the terms of that license to distribute Ren'Py. We believe including
|
|
the following language in your app's description will suffice, but check
|
|
with a lawyer to be sure.</p>
|
|
<blockquote>
|
|
<div>This program contains free software licensed under a number of licenses,
|
|
including the GNU Lesser General Public License. A complete list of
|
|
software is available at <a class="reference external" href="https://www.renpy.org/l/license/">https://www.renpy.org/l/license/</a>.</div></blockquote>
|
|
</div>
|
|
<div class="section" id="work-in-progress">
|
|
<h2>Work in Progress<a class="headerlink" href="#work-in-progress" title="Permalink to this headline"> link</a></h2>
|
|
<p>The current Ren'Py iOS support is a work in progress. While it has been
|
|
used to release games to the Apple App Store, the default Ren'Py interface
|
|
does not comply with Apple's guidelines and will need to be changed.</p>
|
|
<p>Please let us know the results of getting your game through the App Store
|
|
approval process.</p>
|
|
</div>
|
|
<div class="section" id="platform-differences">
|
|
<h2>Platform Differences<a class="headerlink" href="#platform-differences" title="Permalink to this headline"> link</a></h2>
|
|
<p>iOS is similar to Android, but differs from the mouse-based platforms
|
|
that Ren'Py supports. All of the <a class="reference internal" href="android.html#android-platform-differences"><span class="std std-ref">android platform differences</span></a>
|
|
apply to iOS.</p>
|
|
<p>A list of video formats supported by iOS can be found
|
|
<a class="reference external" href="https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/MediaLayer/MediaLayer.html#//apple_ref/doc/uid/TP40007898-CH9-SW6">here</a>.</p>
|
|
</div>
|
|
<div class="section" id="testing-and-emulation">
|
|
<h2>Testing and Emulation<a class="headerlink" href="#testing-and-emulation" title="Permalink to this headline"> link</a></h2>
|
|
<p>For testing purposes, Ren'Py supports two iOS emulation modes. These
|
|
are accessed from the iOS screen of the launcher. Both modes simulate
|
|
running on a touchscreen, such that events only reach the game when
|
|
the mouse button is down.</p>
|
|
<dl class="docutils">
|
|
<dt>iPhone</dt>
|
|
<dd>This mode emulates an iPhone.</dd>
|
|
<dt>Tablet</dt>
|
|
<dd>This mode emulates an iPad.</dd>
|
|
</dl>
|
|
<p>While these emulators can be used to quickly test your project, it's best to
|
|
also test on real hardware. The emulators do not deal with some human-factors
|
|
issues, like the size of a user's fingers.</p>
|
|
</div>
|
|
<div class="section" id="packaging">
|
|
<h2>Packaging<a class="headerlink" href="#packaging" title="Permalink to this headline"> link</a></h2>
|
|
<p>Packaging a Ren'Py game for iOS is currently an involved process compared
|
|
to the other platforms Ren'Py supports. We currently assume you have some
|
|
experience with creating iOS apps, or can follow Apple's instructions.</p>
|
|
<div class="section" id="getting-started">
|
|
<h3>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this headline"> link</a></h3>
|
|
<p>Before you can package a Ren'Py game, you'll need to set up your Macintosh
|
|
to create iOS applications. This means setting up Xcode on your Mac,
|
|
enrolling in the iOS Developer Program, and creating a provisioning
|
|
profile that allows your apps to run on your iOS device.</p>
|
|
<p>The Apple-written <a class="reference external" href="https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppStoreDistributionTutorial/Introduction/Introduction.html">App Distribution Quick Start</a>
|
|
guide explains how to configure all of the above. We suggest working through
|
|
it, and even packaging a one of the template apps before moving on to
|
|
Ren'Py games.</p>
|
|
</div>
|
|
<div class="section" id="creating-the-xcode-project">
|
|
<h3>Creating the Xcode Project<a class="headerlink" href="#creating-the-xcode-project" title="Permalink to this headline"> link</a></h3>
|
|
<p>The first step in creating your iOS application is to create the Xcode project.
|
|
This is done by selecting "Create Xcode Project" from the iOS menu in the
|
|
Ren'Py launcher.</p>
|
|
<p>The name of the Xcode project is automatically chosen based on the name that
|
|
shows up in the launcher. The project is customized based this name, but
|
|
those customizations can be edited in Xcode.</p>
|
|
<p>Xcode projects created in this way are specific to a single version of
|
|
Ren'Py. After upgrading Ren'Py, you must create a new Xcode project for your
|
|
game, and repeat the project customizations.</p>
|
|
</div>
|
|
<div class="section" id="building-the-project">
|
|
<h3>Building the Project<a class="headerlink" href="#building-the-project" title="Permalink to this headline"> link</a></h3>
|
|
<p>After the project has been created in Ren'Py, it can be opened in Xcode by
|
|
choosing "Launch Xcode" from the launcher. Once the project is open in Xcode,
|
|
it can be built and installed on the iOS device.</p>
|
|
</div>
|
|
<div class="section" id="updating-the-project">
|
|
<h3>Updating the Project<a class="headerlink" href="#updating-the-project" title="Permalink to this headline"> link</a></h3>
|
|
<p>Choosing "Update Xcode Project" will copy the latest version of your
|
|
Ren'Py project into the Xcode project. This is suitable for when your project
|
|
files change, but not for when Ren'Py itself has been updated.</p>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="customization">
|
|
<h2>Customization<a class="headerlink" href="#customization" title="Permalink to this headline"> link</a></h2>
|
|
<p>Most customization is performed in the Xcode project. For example, the
|
|
icon, launch images, and orientations are all customized in Xcode.</p>
|
|
<div class="section" id="launch-storyboard">
|
|
<h3>Launch Storyboard<a class="headerlink" href="#launch-storyboard" title="Permalink to this headline"> link</a></h3>
|
|
<p>When the application is run, the Launch Storyboard (configure as part of the
|
|
Xcode project, outside of Ren'Py) will be displayed until Ren'Py is ready
|
|
to display the game's user interface.</p>
|
|
<p>Once Ren'Py finishes initializing, it will either resume the current game,
|
|
or run the splashscreen and main menu.</p>
|
|
</div>
|
|
<div class="section" id="generation">
|
|
<h3>Generation<a class="headerlink" href="#generation" title="Permalink to this headline"> link</a></h3>
|
|
<p>To ease development, it's possible to have Ren'Py generate the iOS icon
|
|
images from files.</p>
|
|
<dl class="docutils">
|
|
<dt><code class="docutils literal notranslate"><span class="pre">ios-icon.png</span></code></dt>
|
|
<dd>If present, this file is scaled to the various sizes of png file
|
|
needed to make an iOS icon.</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="pyobjus">
|
|
<span id="id1"></span><h2>Pyobjus<a class="headerlink" href="#pyobjus" title="Permalink to this headline"> link</a></h2>
|
|
<p>On iOS and macOS, a version of <a class="reference external" href="https://pyobjus.readthedocs.io/en/latest/">Pyobjus</a>
|
|
is available, allowing advanced creators to call system libraries.</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<footer class="footer">
|
|
<div class="container">
|
|
<p class="pull-right">
|
|
<a href="#">Back to top</a>
|
|
|
|
</p>
|
|
<p>
|
|
© Copyright 2012-2022, Tom Rothamel.<br/>
|
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.6.<br/>
|
|
</p>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html> |