Godot Version 4.3
4.3
Question
When will ios-plugins be ever updated?
This post is a mix of sharing experience, and a cry for help.
The exports work great, but the plugins for both iOS and Android aren’t being maintained or updated. After taking a udemy course on Mobile development and doing a huge amount of research here is the current situation:
ANDROID:
Official godot google play billing
is outdated, won’t support the latest Google Play Billing Library. Thankfully this gentleman here
Updated it to 4.2+ and it connects correctly (at least for now) with google play billing servers to implement IAP.
iOS:
Official iOS plugin is not maintained since 2022. As far as I could research in GitHub comments, the creator is not available and no one picked up the torch.
In the course, the instructor Kaan Alpar could not compile plugin following the official docs but could with the guide in this repo:
Guide for updating to 4.0
The Godot version in the course he compiled and made the iap plugin available is 4.1.3.
In the guide above. I could not compile the plugins for 4.3 stable. Got errors on vulkan and other stuff I have no idea that caused the plugin to not compile based on the errors.
UPDATE: I finally managed to get to 4.3 without errors. Vulkan and OpenGL were causing a lot of issues and explicitly asking them to be removed them from command like managed to get the plugin compiled without errors, all 3 (editor, debug, release). The plugin now appears in Project>Export, can be turned on. BUT I get errors when trying to export. If I turn of the plugin, no errors. I’ll need to ‘upgrade’ the Frustrating word for it. Spent 3 days on it already. The errors are clearly coming from InAppStore plugin’s incompatibility with current version.
Undefined symbols for architecture arm64:
“Object::merge_meta_from(Object const*)”, referenced from:
vtable for InAppStore in inappstore-device.debug.a[arm64]3
“Object::set_translation_domain(StringName const&)”, referenced from:
vtable for InAppStore in inappstore-device.debug.a[arm64]3
“Object::has_connections(StringName const&) const”, referenced from:
vtable for InAppStore in inappstore-device.debug.a[arm64]3
“Object::get_translation_domain() const”, referenced from:
vtable for InAppStore in inappstore-device.debug.a[arm64]3
My current option is, if I want my games to be sold on iOS store, I will be locked in version 4.1.3 because I can’t find a way to compile iap plugins to 4.3 and the compiled 4.1.3 won’t run on 4.3 and there is no sight of official support to version 4.3 and beyond.
So my projects are in 4.3 and I need to roll back to 4.1.3 and deal with all broken things that happen when we roll back projects, and I am using the new Tilemaps Layer node that will have to be replaced to Tilemaps and so on.
I understand Godot is an open source project, depend on volunteers and contributors but what is the point of having a mobile exporter if basic iap plugins are virtually unavailable officially? This basically locks a game to be either free, free with ads or paid without anything in-between, like having ability to remove ads through iap or a game demo with no ads and a iap to unlock full content. The other option is to be locked in Godot version that the plugin is working and miss all the good things coming.
Anyone have any idea how to sort this out for iOS?