-
-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Error compiling Godot for iOS with module for version 3.2.4 beta 5 #41
Comments
Hmm, you don't need to compile by yourself, theres already compiled files: https://github.com/Poing-Studios/Godot-AdMob-Android-iOS/releases/tag/iOS_v3.0%2B What version are you trying to compile? Be sure to choice the right version here: https://downloads.tuxfamily.org/godotengine/ |
Maybe you've missed the place of the frameworks: here are some possible probabilities of why you have this error: 1 - You downloaded the updated code from the "master" branch of Godot, which is unstable and still in the alpha development phase, is being developed in version 4.0 2 - You put the files in the Godot source code folder wrong 3 - You must have updated your computer and perhaps the compilation of some language has changed (very unlikely, but remotely possible) |
@gustavottc I'm compiling myself because I need to compile Godot with other custom modules besides just Godot-AdMob-Android-iOS Godot version is the latest commit on the 3.2 branch, so 3.2.4 beta, macOS is 11.1 Big Sur, Xcode is 12.3. Directory looks similar to yours: Do I need to be on a 3.2.3 tag on the godot repo? |
Oh, yes, you need to compile by yourself if you want to use more modules for iOS, this is a problem with Godot, the engine currently doesn't support Plugins for iOS, but soon it will. My Xcode version is the same as yours, the different is with the versions of Operational System, mine is Catalina (i don't updated to Big Sur yet because i heard theres a lot of bugs haha) I strong recommend you to use 3.2.3 stable, because 3.2.4 beta is with some bugs, is taking too long to be released, so i don't recommend to release a game with 3.2.4 beta version. But i will try to compile by myself on 3.2.4 beta to see how it works, soon i will give you an answer. By the way, i'm downloading from here: https://downloads.tuxfamily.org/godotengine/3.2.4/beta5/godot-3.2.4-beta5.tar.xz |
Yeah, I didn't want to go to Big Sur, but I was behind Catalina when I was trying to deploy the compiled versions last week, and the only upgrade I could do was all the up to Big Sur. Trust me, I would have avoided it if I could. Let me know what you find, I will try with 3.2.3 stable in the morning! |
I don't know what they did, but from what I'm seeing a lot has changed in version 3.2.4, apparently it will take a while because I'm afraid to "fix" it and give some bugs after that, so for please use stable version 3.2.3: https://downloads.tuxfamily.org/godotengine/3.2.3/godot-3.2.3-stable.tar.xz |
@naithar can you please give a look? Do you know what we need to fix these errors? Thanks! |
@gustavottc yeah, some stuff has changed in iOS platform code to address some memory issues and make it more stable and compatible with For the most part there has been added a support for ARC, so there is no need to call So basically you have to add some headers first, like |
@naithar did everything that you said, but is giving me this error on Xcode: full log:
|
Branch for this issue: https://github.com/Poing-Studios/Godot-AdMob-Android-iOS/tree/3.2.4 |
Does module work after your changes?
I'll need MRP to test everything with latest Godot beta if it's really needed. Edit: Edit: Searching |
@naithar yes, my godot project work on iOS 3.2.4 beta5 without the module(without compiling), i will try to compile without admob to see how it goes yes, i am using a simulator because i don't have a real iPhone :( this error "coretelephony-xpc" also appear on 3.2.3 about: AURemoteIO i don't know about it |
But does your project work with module? From what I've seen everything should work fine, did you build it? |
Doesn't work with AdMob module, i just compiled here without the AdMob and it's working: Full log
Don't pay attention to Google's warnings, I'm just important in the frameworks in the Xcode project, but I didn't compile in Godot |
What errors does module give you on compilation? I thought that you already managed to compile module, but it seems I was mistaken. |
I managed to compile with the AdMob module, the compile was finished with success, but when i replace the '.a' file, the game crashes in Xcode. I'm compiling again to check the warnings |
Are you building in debug mode? It should provide more information about the crash. |
This is the unique command that i'm using right now: |
So it does build, but crashes? I find it really hard to actually understand what's the problem is :) |
Here are the log of debug: (the file size is like 3x more big)
|
I guess this is the source of the issue.
|
Error gives you the hint on where the problem actually is
|
Since your GDScript singleton and AdMob module singleton have the same name, Godot is probably mistaking one for another when module is actually compiled. |
Yeah, I've finally managed to setup project and everything is working fine after singleton name change, but I guess basic stuff for upgrading is done. Your should probably fix other warning just to make compiler happy. I've also encountered your previous issue: godotengine/godot#44681. I'm still not sure how to reproduce it 100%, but I'll take a closer look when I can. |
I tried to change the name of Godot Singleton to
|
No, singleton name doesn't have to match with class name. So you might have to double check Godot's singleton name. |
Yeah, but I don't this that's the class name is the source of the issue. Because plugins basically use the same system and they are not really bound to the class name. At least in my testing the weren't. |
@naithar , do you know how to pause the game in iOS with Objective-C? because when i play a interstitial or rewarded ad the game doesn't stop, but in Android stops without do any additional configuration so i need to do this to force stop, but it's not recommended: |
This two functions should probably cover your case, but it requires testing anyway. |
@naithar Omg works! I tried to do that in years ago but only could do that today thanks to you! But it's only working for 3.2.4, theres any way to do that in < 3.2.3? I'm using this method: I saw that in 3.2.3 this is implemented in |
@gustavottc Busy day! Just wanted to chime in here that I've pulled your latest changes as of 20 minutes ago, compiling against the 3.2 HEAD on godot and it looks like everything is working just as it was when I was using the precompiled versions earlier this week. Thanks to you as well @naithar! |
@sjhennion hey! great news! i will close here the issue since the main problem is solved @naithar thank you so much man, you are amazing! |
Describe the bug
I'm trying to compile godot using Godot-AdMob-Android-iOS as a module, but I'm getting forward declaration errors in the iOS source:
To Reproduce
Steps to reproduce the behavior:
ios/admob
contents intogodot/modules/admob
*.framework
directories intogodot/modules/admob/lib
scons p=iphone target=debug
Expected behavior
Builds an ios
*.a
fileScreenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
The text was updated successfully, but these errors were encountered: