From 6b2ac7f9a1c5454caad5a4295f66baa45d92bc40 Mon Sep 17 00:00:00 2001 From: Sergey Minakov Date: Wed, 30 Sep 2020 17:27:30 +0300 Subject: [PATCH 1/2] iOS: Plugin documentation --- .../img/ios_export_preset_plugins_section.png | Bin 0 -> 72049 bytes tutorials/plugins/ios/index.rst | 8 + tutorials/plugins/ios/ios_plugin.rst | 141 ++++++++++++++++++ 3 files changed, 149 insertions(+) create mode 100644 tutorials/plugins/ios/img/ios_export_preset_plugins_section.png create mode 100644 tutorials/plugins/ios/index.rst create mode 100644 tutorials/plugins/ios/ios_plugin.rst diff --git a/tutorials/plugins/ios/img/ios_export_preset_plugins_section.png b/tutorials/plugins/ios/img/ios_export_preset_plugins_section.png new file mode 100644 index 0000000000000000000000000000000000000000..333ff245a982e1332d11af8b86af9b648010990e GIT binary patch literal 72049 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 z%0A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 Wy@gp~-v4z2_>+-Tlz@uA_WOTm{6_Hr literal 0 HcmV?d00001 diff --git a/tutorials/plugins/ios/index.rst b/tutorials/plugins/ios/index.rst new file mode 100644 index 000000000..413bd4a01 --- /dev/null +++ b/tutorials/plugins/ios/index.rst @@ -0,0 +1,8 @@ +iOS plugins +=========== + +.. toctree:: + :maxdepth: 1 + :name: toc-tutorials-plugins-ios + + ios_plugin diff --git a/tutorials/plugins/ios/ios_plugin.rst b/tutorials/plugins/ios/ios_plugin.rst new file mode 100644 index 000000000..1374f99a7 --- /dev/null +++ b/tutorials/plugins/ios/ios_plugin.rst @@ -0,0 +1,141 @@ +.. _doc_ios_plugin: + +Creating iOS plugins +==================== + +Introduction +------------ + +iOS plugins are powerful tools to extend the capabilities of the Godot engine +by tapping into the functionality provided by the iOS platform and ecosystem. + +In‑App Purchases, GameCenter integration or ARKit are such examples since it requires features +and capabilities that don't belong to the core feature set of a game engine: + +- Analytics +- In-app purchases +- Receipt validation +- Ads +- A/B testing +- Login +- Cloud saves +- Leaderboards and scores +- User support & feedback +- Posting to Facebook, Twitter, etc. +- Push notifications + +iOS plugin +---------- + +At its core, a Godot iOS plugin is a iOS static library (*a* archive file) +with the following caveats: + +- The library must have a dependency on the Godot engine headers. + +- The library must come with a ``.gdip`` configuration file. + +iOS plugin can have the same functionality as Godot modules, +but provides more flexibility and doesn't require engine being rebuilt. + +Building an iOS plugin +^^^^^^^^^^^^^^^^^^^^^^ + +**Prerequisite:** `Xcode `_ is strongly recommended as the IDE to use to create iOS plugins. +The instructions below assumes that you're using Xcode. + +1. Create an Objective-C static library for your plugin inside Xcode IDE. + +2. Add the Godot engine header files as a dependency for your plugin library in ``HEADER_SEARCH_PATHS`` at ``Build Settings`` tab: + + - Download the Godot engine source from the `Godot GitHub page `_. + + - Generate autogenerated headers by running SCons. Reference can be found at :ref:`Compiling for iOS`. + You don't have to wait for compilation complition as headers are generated before engine starts actual compilation. + + - Header files that used for plugin should be the same that was used for iOS template compilation. + +3. Specify correct compilation flags for static library in ``OTHER_CFLAGS`` at ``Build Settings`` tab. + Most important ones are ``-fcxx-modules``, ``-fmodules``, ``-DDEBUG`` if debug is required. + Other flags should be the same as for Godot compilation (e.g.: ``-DPTRCALL_ENABLED -DDEBUG_ENABLED, -DDEBUG_MEMORY_ALLOC -DDISABLE_FORCED_INLINE -DTYPED_METHOD_BIND``). + +4. Add the required logic for your plugin and build your library to generate ``a`` file. + You will probably need to build both ``debug`` and ``release`` targeted ``a`` files. + Depending on your need, pick only one or both. + If you need both ``a`` files their name should match following pattern: ``[PluginName].[TargetType].a``. + Static library can also be build with SCons configuration. + +5. Create a Godot iOS Plugin configuration file to help the system detect and load your plugin: + + - The configuration file extension must be ``gdip`` (e.g.: ``MyPlugin.gdip``). + + - The configuration file format is as follow:: + + [config] + name="MyPlugin" + binary="MyPlugin.a" + + initialization="init_my_plugin" + deinitialization="deinit_my_plugin" + + [dependencies] + linked=[] + embedded=[] + system=["Foundation.framework"] + + capabilities=["arkit", "metal"] + + files=["data.json"] + + [plist] + PlistKey="Some Info.plist key you might need" + + The ``config`` section and fields are required and defined as follow: + + - **name**: name of the plugin + + - **binary**: this should be the filepath of the plugin ``a`` file. + + - The filepath can be relative (e.g.: ``MyPlugin.a``) in which case it's relative to the directory where ``gdip`` file is located. + - The filepath can be absolute: ``res://some_path/MyPlugin.aar``. + - In case you need multitarget library usage, filename should be ``MyPlugin.a`` and ``a`` files should be name as ``MyPlugin.release.a`` and ``MyPlugin.debug.a``. + + The ``dependencies`` and ``plist`` sections are optional and defined as follow: + + - **dependencies**: + + - **linked**: contains a list of iOS frameworks that result iOS application should be linked with. + + - **embedded**: contains a list of iOS frameworks or libraries that should be both linked and embedded into resulting iOS application. + + - **system**: contains a list of iOS system frameworks that required for plugin. + + - **capabilities**: contains a list of iOS capabilities that is required for plugin. List of available capabilities can be found at `Apple UIRequiredDeviceCapabilities documentation page `_. + + - **files**: contains a list of files that should be copied on export. This is usefull for data files or images. + + - **plist**: should have keys and values that should be present in ``Info.plist`` file following pattern: ``KeyName="key value"`` + + + +Loading and using an iOS plugin +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Move the plugin configuration file (e.g: ``MyPlugin.gdip``) and its local binary (e.g: ``MyPlugin.a``) and dependencies to the Godot project's ``res://ios/plugins`` directory or any directory inside it (e.g: ``res://ios/plugins/my_plugin``). + +The Godot editor will automatically parse all ``.gdip`` files inside ``res://ios/plugins`` directory and it's subdirectories and show a list of detected and toggleable plugins in the iOS export presets window under the **Plugins** section. + +.. image:: img/ios_export_preset_plugins_section.png + + +From your script:: + + if Engine.has_singleton("MyPlugin"): + var singleton = Engine.get_singleton("MyPlugin") + print(singleton.foo()) + +Reference implementations +^^^^^^^^^^^^^^^^^^^^^^^^^ + +- `Godot iOS plugin template `_ + + - Contains template/example for iOS plugin as well as SCons configuration and setup Xcode project. From 62de10b3d0ac679f17b6740254f837c78b134af2 Mon Sep 17 00:00:00 2001 From: Nathan Lovato Date: Tue, 6 Oct 2020 15:47:15 -0600 Subject: [PATCH 2/2] Edit and move ios_plugin.rst --- tutorials/platform/index.rst | 1 + .../img/ios_export_preset_plugins_section.png | Bin tutorials/{plugins => platform}/ios/index.rst | 0 tutorials/platform/ios/ios_plugin.rst | 110 ++++++++++++++ tutorials/plugins/ios/ios_plugin.rst | 141 ------------------ 5 files changed, 111 insertions(+), 141 deletions(-) rename tutorials/{plugins => platform}/ios/img/ios_export_preset_plugins_section.png (100%) rename tutorials/{plugins => platform}/ios/index.rst (100%) create mode 100644 tutorials/platform/ios/ios_plugin.rst delete mode 100644 tutorials/plugins/ios/ios_plugin.rst diff --git a/tutorials/platform/index.rst b/tutorials/platform/index.rst index 3fbeb7161..b57ad1a97 100644 --- a/tutorials/platform/index.rst +++ b/tutorials/platform/index.rst @@ -6,6 +6,7 @@ Platform-specific :name: toc-learn-features-platform android/index + ios/index services_for_ios platform_html5 consoles diff --git a/tutorials/plugins/ios/img/ios_export_preset_plugins_section.png b/tutorials/platform/ios/img/ios_export_preset_plugins_section.png similarity index 100% rename from tutorials/plugins/ios/img/ios_export_preset_plugins_section.png rename to tutorials/platform/ios/img/ios_export_preset_plugins_section.png diff --git a/tutorials/plugins/ios/index.rst b/tutorials/platform/ios/index.rst similarity index 100% rename from tutorials/plugins/ios/index.rst rename to tutorials/platform/ios/index.rst diff --git a/tutorials/platform/ios/ios_plugin.rst b/tutorials/platform/ios/ios_plugin.rst new file mode 100644 index 000000000..67b53dc97 --- /dev/null +++ b/tutorials/platform/ios/ios_plugin.rst @@ -0,0 +1,110 @@ +.. _doc_ios_plugin: + +Creating iOS plugins +==================== + +This page explains what iOS plugins can do for you, how to use an existing plugin, and the steps to code a new one. + +iOS plugins allow you to use third-party libraries and support iOS-specific features like In-App Purchases, GameCenter integration, ARKit support, and more. + +Loading and using an existing plugin +------------------------------------ + +An iOS plugin requires a ``.gdip`` configuration file, a ``.a`` binary file, and possibly other dependencies. To use it, you need to: + +1. Copy the plugin's files to your Godot project's ``res://ios/plugins`` directory. You can also group files in a sub-directory, like ``res://ios/plugins/my_plugin``. + +2. The Godot editor automatically detects and imports ``.gdip`` files inside ``res://ios/plugins`` and its subdirectories. + +3. You can find and activate detected plugins by going to Project -> Export... -> iOS and in the Options tab, scrolling to the Plugins section. + +.. image:: img/ios_export_preset_plugins_section.png + +When a plugin is active, you can access it in your using ``Engine.get_singleton()``:: + + if Engine.has_singleton("MyPlugin"): + var singleton = Engine.get_singleton("MyPlugin") + print(singleton.foo()) + +Creating an iOS plugin +---------------------- + +At its core, a Godot iOS plugin is an iOS static library (*.a* archive file) with the following requirements: + +- The library must have a dependency on the Godot engine headers. + +- The library must come with a ``.gdip`` configuration file. + +An iOS plugin can have the same functionality as a Godot module but provides more flexibility and doesn't require to rebuild the engine. + +Here are the steps to get a plugin's development started. We recommend using `Xcode `_ as your development environment. + +.. seealso:: The `Godot iOS plugin template `_ gives you all the boilerplate you need to get your iOS plugin started. + + +To build an iOS plugin: + +1. Create an Objective-C static library for your plugin inside Xcode. + +2. Add the Godot engine header files as a dependency for your plugin library in ``HEADER_SEARCH_PATHS``. You can find the setting inside the ``Build Settings`` tab: + + - Download the Godot engine source from the `Godot GitHub page `_. + + - Run SCons to generate headers. You can learn the process by reading :ref:`doc_compiling_for_ios`. You don't have to wait for compilation to complete to move forward as headers are generated before the engine starts to compile. + + - You should use the same header files for iOS plugins and for the iOS export template. + +3. In the ``Build Settings`` tab, specify the compilation flags for your static library in ``OTHER_CFLAGS``. The most important ones are ``-fcxx-modules``, ``-fmodules``, and ``-DDEBUG`` if you need debug support. Other flags should be the same you use to compile Godot. For instance, ``-DPTRCALL_ENABLED -DDEBUG_ENABLED, -DDEBUG_MEMORY_ALLOC -DDISABLE_FORCED_INLINE -DTYPED_METHOD_BIND``. + +4. Add the required logic for your plugin and build your library to generate a ``.a`` file. You will probably need to build both ``debug`` and ``release`` targeted ``a`` files. Depending on your need, pick only one or both. If you need both ``a`` files their name should match following pattern: ``[PluginName].[TargetType].a``. You can also build the static library with your SCons configuration. + +5. Create a Godot iOS Plugin configuration file to help the system detect and load your plugin: + + - The configuration file extension must be ``gdip`` (e.g.: ``MyPlugin.gdip``). + + - The configuration file format is as follow:: + + [config] + name="MyPlugin" + binary="MyPlugin.a" + + initialization="init_my_plugin" + deinitialization="deinit_my_plugin" + + [dependencies] + linked=[] + embedded=[] + system=["Foundation.framework"] + + capabilities=["arkit", "metal"] + + files=["data.json"] + + [plist] + PlistKey="Some Info.plist key you might need" + + The ``config`` section and fields are required and defined as follow: + + - **name**: name of the plugin + + - **binary**: this should be the filepath of the plugin ``a`` file. + + - The filepath can be relative (e.g.: ``MyPlugin.a``) in which case it's relative to the directory where ``gdip`` file is located. + - The filepath can be absolute: ``res://some_path/MyPlugin.aar``. + - In case you need multitarget library usage, filename should be ``MyPlugin.a`` and ``a`` files should be name as ``MyPlugin.release.a`` and ``MyPlugin.debug.a``. + + The ``dependencies`` and ``plist`` sections are optional and defined as follow: + + - **dependencies**: + + - **linked**: contains a list of iOS frameworks that the iOS application should be linked with. + + - **embedded**: contains a list of iOS frameworks or libraries that should be both linked and embedded into the resulting iOS application. + + - **system**: contains a list of iOS system frameworks that are required for plugin. + + - **capabilities**: contains a list of iOS capabilities that is required for plugin. A list of available capabilities can be found at `Apple UIRequiredDeviceCapabilities documentation page `_. + + - **files**: contains a list of files that should be copied on export. This is useful for data files or images. + + - **plist**: should have keys and values that should be present in ``Info.plist`` file following pattern: ``KeyName="key value"`` diff --git a/tutorials/plugins/ios/ios_plugin.rst b/tutorials/plugins/ios/ios_plugin.rst deleted file mode 100644 index 1374f99a7..000000000 --- a/tutorials/plugins/ios/ios_plugin.rst +++ /dev/null @@ -1,141 +0,0 @@ -.. _doc_ios_plugin: - -Creating iOS plugins -==================== - -Introduction ------------- - -iOS plugins are powerful tools to extend the capabilities of the Godot engine -by tapping into the functionality provided by the iOS platform and ecosystem. - -In‑App Purchases, GameCenter integration or ARKit are such examples since it requires features -and capabilities that don't belong to the core feature set of a game engine: - -- Analytics -- In-app purchases -- Receipt validation -- Ads -- A/B testing -- Login -- Cloud saves -- Leaderboards and scores -- User support & feedback -- Posting to Facebook, Twitter, etc. -- Push notifications - -iOS plugin ----------- - -At its core, a Godot iOS plugin is a iOS static library (*a* archive file) -with the following caveats: - -- The library must have a dependency on the Godot engine headers. - -- The library must come with a ``.gdip`` configuration file. - -iOS plugin can have the same functionality as Godot modules, -but provides more flexibility and doesn't require engine being rebuilt. - -Building an iOS plugin -^^^^^^^^^^^^^^^^^^^^^^ - -**Prerequisite:** `Xcode `_ is strongly recommended as the IDE to use to create iOS plugins. -The instructions below assumes that you're using Xcode. - -1. Create an Objective-C static library for your plugin inside Xcode IDE. - -2. Add the Godot engine header files as a dependency for your plugin library in ``HEADER_SEARCH_PATHS`` at ``Build Settings`` tab: - - - Download the Godot engine source from the `Godot GitHub page `_. - - - Generate autogenerated headers by running SCons. Reference can be found at :ref:`Compiling for iOS`. - You don't have to wait for compilation complition as headers are generated before engine starts actual compilation. - - - Header files that used for plugin should be the same that was used for iOS template compilation. - -3. Specify correct compilation flags for static library in ``OTHER_CFLAGS`` at ``Build Settings`` tab. - Most important ones are ``-fcxx-modules``, ``-fmodules``, ``-DDEBUG`` if debug is required. - Other flags should be the same as for Godot compilation (e.g.: ``-DPTRCALL_ENABLED -DDEBUG_ENABLED, -DDEBUG_MEMORY_ALLOC -DDISABLE_FORCED_INLINE -DTYPED_METHOD_BIND``). - -4. Add the required logic for your plugin and build your library to generate ``a`` file. - You will probably need to build both ``debug`` and ``release`` targeted ``a`` files. - Depending on your need, pick only one or both. - If you need both ``a`` files their name should match following pattern: ``[PluginName].[TargetType].a``. - Static library can also be build with SCons configuration. - -5. Create a Godot iOS Plugin configuration file to help the system detect and load your plugin: - - - The configuration file extension must be ``gdip`` (e.g.: ``MyPlugin.gdip``). - - - The configuration file format is as follow:: - - [config] - name="MyPlugin" - binary="MyPlugin.a" - - initialization="init_my_plugin" - deinitialization="deinit_my_plugin" - - [dependencies] - linked=[] - embedded=[] - system=["Foundation.framework"] - - capabilities=["arkit", "metal"] - - files=["data.json"] - - [plist] - PlistKey="Some Info.plist key you might need" - - The ``config`` section and fields are required and defined as follow: - - - **name**: name of the plugin - - - **binary**: this should be the filepath of the plugin ``a`` file. - - - The filepath can be relative (e.g.: ``MyPlugin.a``) in which case it's relative to the directory where ``gdip`` file is located. - - The filepath can be absolute: ``res://some_path/MyPlugin.aar``. - - In case you need multitarget library usage, filename should be ``MyPlugin.a`` and ``a`` files should be name as ``MyPlugin.release.a`` and ``MyPlugin.debug.a``. - - The ``dependencies`` and ``plist`` sections are optional and defined as follow: - - - **dependencies**: - - - **linked**: contains a list of iOS frameworks that result iOS application should be linked with. - - - **embedded**: contains a list of iOS frameworks or libraries that should be both linked and embedded into resulting iOS application. - - - **system**: contains a list of iOS system frameworks that required for plugin. - - - **capabilities**: contains a list of iOS capabilities that is required for plugin. List of available capabilities can be found at `Apple UIRequiredDeviceCapabilities documentation page `_. - - - **files**: contains a list of files that should be copied on export. This is usefull for data files or images. - - - **plist**: should have keys and values that should be present in ``Info.plist`` file following pattern: ``KeyName="key value"`` - - - -Loading and using an iOS plugin -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Move the plugin configuration file (e.g: ``MyPlugin.gdip``) and its local binary (e.g: ``MyPlugin.a``) and dependencies to the Godot project's ``res://ios/plugins`` directory or any directory inside it (e.g: ``res://ios/plugins/my_plugin``). - -The Godot editor will automatically parse all ``.gdip`` files inside ``res://ios/plugins`` directory and it's subdirectories and show a list of detected and toggleable plugins in the iOS export presets window under the **Plugins** section. - -.. image:: img/ios_export_preset_plugins_section.png - - -From your script:: - - if Engine.has_singleton("MyPlugin"): - var singleton = Engine.get_singleton("MyPlugin") - print(singleton.foo()) - -Reference implementations -^^^^^^^^^^^^^^^^^^^^^^^^^ - -- `Godot iOS plugin template `_ - - - Contains template/example for iOS plugin as well as SCons configuration and setup Xcode project.