OFFICIAL GMS2 Version 2.2.4 (FULL RELEASE)

Status
Not open for further replies.

snowgames

Member
Thanks a lot guys! :) Yeah you guys were right.
For some reason I forgot to exclude google license extension when I was importing it.

However, I did found a serious Bug(?) for YYC Build for Android.
It's with the handling the code. So things were normal for VM Build...but the game was acting weird for YYC build and I found what it was.
Just in case if you find bugs in your game for YYC Build for Android that you did not see before this runtime
then make sure you check this one.

if you happen to have a habit of writing code like this:

ex) if ! shoot = true{ shoot = false; } /////then this will not work just for YYC build on android.
if shoot != true { shoot =false; } ///////this works

so having exclamation mark on the front won't work for not equal to just for YYC Android....
I wasn't sure if this is normal since YYC is strict. Should this be reported as a bug?
 

clee2005

Member
There is a new placeholder tag {YYAndroidInjectToApplicationTag} in the AndroidManifest.xml for the Android runtime. It would seem to be a great addition as it looks like we can add to the Application tag on the AndroidManifest.xml without having to modify it in the runtime. Where would I do this? I looked in the extensions and didn't see any place to inject to the Application tag. Couldn't find anything else related to this anywhere.
 

Mr Errorz

Member
Marketplace assets are now live, with updated store descriptions: Apple IAPs, Amazon IAPs, Apple Sign-In, Google Play Services, and Google Push Notifications.

I have also updated the obsolete individual Google IAPs, APK Expansion and Licensing assets to say you should just get the Google Play Services asset instead (as it now contains current versions of these extensions).
@Dan @Nocturne
Hmm, the APK Expansion asset seems to be missing, and IS NOT inside the Google Play Services asset..
Here's a pic of what's inside the asset..
This is kinda frustrating as I cannot build my project w/out the expansion. Help!
 

Attachments

Last edited:

clee2005

Member
I know this isn't much to go on, but I'm wondering if anyone has any suggestions to further debug this issue : I build once for Android Target 28 API and it builds fine (after many changes of Androidx in my extensions etc). It runs and all is good. I rebuild, even without changing anything and it fails with :

Code:
> Task :com.donkeysoft.wordwowbigcity:compileDebugJavaWithJavac FAILED
U:\com.donkeysoft.wordwowbigcity\src\main\java\com\yoyogames\runner\RunnerJNILib.java:56: error: cannot find symbol
import com.donkeysoft.wordwowbigcity.Gamepad;
                                    ^
  symbol:   class Gamepad
  location: package com.donkeysoft.wordwowbigcity
U:\com.donkeysoft.wordwowbigcity\src\main\java\com\donkeysoft\wordwowbigcity\RunnerActivity.java:631: error: cannot find symbol
        Gamepad.Initialise();
        ^
  symbol:   variable Gamepad
  location: class RunnerActivity
I am forced to clear the cache on each build, which is terrible for quick iteration testing for the new IAPs. I have tried checking the Gamepad in options on and off (normally off). I put LINT on and that doesn't reveal anything insightful... Any ideas?

Thanks,
Chris

ps. This is new to 2.2.4

EDIT : This turned out to be caused by one or both of these two plugins being added for a Firebase extension :

Code:
//FIREBASE
apply plugin: 'com.google.gms.google-services'

//CRASHLYTICS
apply plugin: 'io.fabric'
It's still a weird thing that's happening and new from 2.2.4. Adding these plugins to the gradle dependencies shouldn't cause this behavior.
 
Last edited:

Dan

GameMaker Staff
GameMaker Dev.
Added info on yesterday afternoon's release to the first post in this thread now.

@Dan @Nocturne
Hmm, the APK Expansion asset seems to be missing, and IS NOT inside the Google Play Services asset..
Here's a pic of what's inside the asset..
This is kinda frustrating as I cannot build my project w/out the expansion. Help!
Sorry! Not sure what happened there, but this is all fixed now. v3.1.9 of the asset was published yesterday afternoon also.


I know this isn't much to go on, but I'm wondering if anyone has any suggestions to further debug this issue : I build once for Android Target 28 API and it builds fine (after many changes of Androidx in my extensions etc). It runs and all is good. I rebuild, even without changing anything and it fails with :

Code:
> Task :com.donkeysoft.wordwowbigcity:compileDebugJavaWithJavac FAILED
U:\com.donkeysoft.wordwowbigcity\src\main\java\com\yoyogames\runner\RunnerJNILib.java:56: error: cannot find symbol
import com.donkeysoft.wordwowbigcity.Gamepad;
                                    ^
This is something we saw and thought we had fixed during the beta, and it had indeed stopped for us (it was 100% in our internal version) so we're investigating your ticket at the moment - however, it doesn't reproduce for us even when using your project. Are you definitely on the latest 2.2.4 stable release? In which case, one cache clean should be all you need to fix this issue and then it shouldn't come back.
 
Last edited:

Dan

GameMaker Staff
GameMaker Dev.
There is a new placeholder tag {YYAndroidInjectToApplicationTag} in the AndroidManifest.xml for the Android runtime. It would seem to be a great addition as it looks like we can add to the Application tag on the AndroidManifest.xml without having to modify it in the runtime. Where would I do this? I looked in the extensions and didn't see any place to inject to the Application tag. Couldn't find anything else related to this anywhere.
Imagine you have found it by now, but

upload_2019-10-18_11-37-44.png
 

clee2005

Member
@Dan I am definitely on the latest stable IDE (2.2.4.464) and Runtime (2.2.4.372). I have two different machines that exhibit the exact same behaviour. Clearing the cache does indeed fix it, in that you can build again, but the next subsequent build will fail with the same error. It happens in my current project and the test project that I put together.

I also went and cleared the .gradle cache to see if perhaps something was tangled up in there. That didn't seem to change anything. I added a screenshot of my preferences for the Android platform to the ticket in case it helps at all.

Also, I hadn't seen that place for the "Inject to Android Application Tag" ... so thanks!
 
Last edited:

clee2005

Member
@Dan There are some issues with the iOS IAP documentation. The function ios_iap_ValidateReceipt accepts no params in the extension, but the sample code in the documentation is sending a receipt param which causes it to fail... I can see lots of people getting hung up on this as you have to dig through the output logs to see one line that says it's failing when attempting to call this extension function. It should be as it is in the documentation as the code below that I ended up with is a bit odd since you don't end up passing the receipt at all. In fact, you don't even need to retrieve it - the extension seems to keep state between calls.

I changed the provided code (from here : https://help.yoyogames.com/hc/en-us/articles/360002237257) :

Code:
var _receipt = ios_iap_GetReceipt();
// CALL SERVER CHECK WITH RECEIPT HERE
// or validate, award the product, and finalise
if ios_iap_ValidateReceipt(_receipt) == true
    {
          // Do stuff
    }
to this and got it to work :

Code:
ios_iap_GetReceipt();
if (ios_iap_ValidateReceipt()) {
  // Do whatever
  ios_iap_FinishTransaction(_ptoken)
}
 

snowgames

Member
@Dan I submitted the game on iOS got rejected for having hidden features which I did not do anything other than compling with iOS YYG. They say "your app contains functionality to load a webview of external content within the app for the purpose of third-party game streaming."

So I appealed and got the feedback "We continue to find that your app contains hidden features. Before resubmitting this app for review, we recommend you perform an in-depth review of your app and remove any features, code, frameworks, or SDKs that allow users to access payment mechanisms other than in-app purchase. If you have trouble locating the issue in your app's code, we suggest you reach out to the original provider of this code for further assistance."

Here are the screenshots.

Now.. I got double warning saying Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account...

2.jpg
error1.jpg
 

SIG.

Member
That rejection from Apple is disconcerting.

I finally received a response from YYG for my bug report regarding Apple's warning that my game uses a deprecated API, UIWebView. YYG said that the issue is fixed in version 3.1.9 of the Google Play Services extension.

I hope YYG did not incorrectly implement "functionality to load a webview" to take the place of UIWebView in such a way as to trigger Apple's rejection.

@snowgames What extensions are you using? Are you using Google Play Services? Anything else?

@clee2005 I guess you didn't get any such warning/rejection? Can I ask what extensions you're using? It might help narrow down what's happening with snowgames.
 
Last edited:

chirpy

Member
iOS IAP extension iOS_StoreManager.mm calls NSLocale functions that are only available in iOS SDK 10.0+:
- https://developer.apple.com/documentation/foundation/nslocale/1643026-languagecode
- https://developer.apple.com/documentation/foundation/nslocale/1643060-countrycode

They're crashing apps on iOS 9 devices; we should replace with objectForKey: methods instead (keys: NSLocaleLanguageCode, NSLocaleCountryCode).

I did file a bug report but I don't easily have a sample project to attach, so I think I'd put this here just in case anyone's also trying to support iOS 9.
We probably shouldn't waste the time, since my device almost cannot launch app store anyway, nor safari. Even though it runs my game pretty well.
 

snowgames

Member
Hey @SiG thanks for taking the look on it.

The extensions I used was only Googleplay extensions& Apple IAP extension.
The version I used was 3.1.8 which I just noticed it was updated to 3.1.9 two days ago.
Now Googleplayservices extension seems to require adding Ads extension seperately.

I will try with 3.1.9 version of Googleplay services but I don't think this would be sufficient in getting approved by Apple. So,
I think I'm gonna try adding some description stuff to plist in Xcode instead of creating binary right away. Hope this is right...but again kinda risky to submit the game
again for review unless I found the real answer to this.
 

clee2005

Member
That rejection from Apple is disconcerting.

I finally received a response from YYG for my bug report regarding Apple's warning that my game uses a deprecated API, UIWebView. YYG said that the issue is fixed in version 3.1.9 of the Google Play Services extension.

I hope YYG did not incorrectly implement "functionality to load a webview" to take the place of UIWebView in such a way as to trigger Apple's rejection.

@clee2005 I guess you didn't get any such warning/rejection? Can I ask what extensions you're using? It might help narrow down what's happening with snowgames.
@SIG. I am NOT using the Google Play Services Extension in our iOS export. I haven't submitted to Apple yet, but will soon and will report back either way.
 

SIG.

Member
@snowgames Have you submitted a bug report? Will you?

I've submitted a "request for guidance" asking whether your issue has been reported by other users or is a known bug, but they may ignore it since I haven't had the problem. Of course, this isn't the kind of thing that I care to test myself because it puts my app store account at risk. If this remains an unknown risk, I will actually prefer just to stop using the YYG extension until I can remake my game in Unity. This may be an extreme reaction, but if GMS2 has gone from "frustrating" to "endangers your business relationship with Apple," then we've reached a new degree of unusability.
 

clee2005

Member
@snowgames Have you submitted a bug report? Will you?

I've submitted a "request for guidance" asking whether your issue has been reported by other users or is a known bug, but they may ignore it since I haven't had the problem. Of course, this isn't the kind of thing that I care to test myself because it puts my app store account at risk. If this remains an unknown risk, I will actually prefer just to stop using the YYG extension until I can remake my game in Unity. This may be an extreme reaction, but if GMS2 has gone from "frustrating" to "endangers your business relationship with Apple," then we've reached a new degree of unusability.
I'm sure this will get worked out. Re-working the entire IAP functionality for all platforms is not a trivial bit of work. I'm sure they'll be quick to react and fix things as required, especially if it's as something as show stopping as rejections from the stores. I'm going to submit something to Apple this week and if it goes through we can maybe have it narrowed to the Google Play extension. Either way I'll post my findings here to help sort it out.
 

SIG.

Member
I'm going to submit something to Apple this week and if it goes through we can maybe have it narrowed to the Google Play extension. Either way I'll post my findings here to help sort it out.
You're less risk averse than me. I also think you have more experience, so perhaps you have a better gauge on the actual degree of risk. Thank you for the test and reporting.
 

clee2005

Member
iOS IAP extension iOS_StoreManager.mm calls NSLocale functions that are only available in iOS SDK 10.0+:
- https://developer.apple.com/documentation/foundation/nslocale/1643026-languagecode
- https://developer.apple.com/documentation/foundation/nslocale/1643060-countrycode

They're crashing apps on iOS 9 devices; we should replace with objectForKey: methods instead (keys: NSLocaleLanguageCode, NSLocaleCountryCode).

I did file a bug report but I don't easily have a sample project to attach, so I think I'd put this here just in case anyone's also trying to support iOS 9.
We probably shouldn't waste the time, since my device almost cannot launch app store anyway, nor safari. Even though it runs my game pretty well.
Thanks @chirpy for posting this. We are still supporting iOS 9 devices for a bit longer anyway. Can you be more specific about what needs replacing? My ObjC is fairly terrible, but I might be able to hack my way through it if you've got a sample of how to use the object(forKey) method.
 

clee2005

Member
I feel like I'm spamming this forum... lol. I've done iOS, Android, Amazon and am now working on Mac IAP. It seems the extension will not initialize at all. I filed a ticket already but thought I'd post here to see if anyone else had any thoughts or seen this already. The project builds fine for the Mac export, but when it runs I get this (and a lot more not posted here) :

Code:
Extension_Prepare()
error trying to load /Users/caw/Library/Application Support/com.yoyogames.macyoyorunner/game/assets/libmaciapextension.dylib - dlopen(/Users/caw/Library/Application Support/com.yoyogames.macyoyorunner/game/assets/libmaciapextension.dylib, 1): no suitable image found.  Did find:
    /Users/caw/Library/Application Support/com.yoyogames.macyoyorunner/game/assets/libmaciapextension.dylib: code signature in (/Users/caw/Library/Application Support/com.yoyogames.macyoyorunner/game/assets/libmaciapextension.dylib) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
error trying to load /Users/caw/Library/Application Support/com.yoyogames.macyoyorunner/game/assets/libmaciapextension.dylib - dlopen(/Users/caw/Library/Application Support/com.yoyogames.macyoyorunner/game/assets/libmaciapextension.dylib, 1): no suitable image found.  Did find:
    /Users/caw/Library/Application Support/com.yoyogames.macyoyorunner/game/assets/libmaciapextension.dylib: code signature in (/Users/caw/Library/Application Support/com.yoyogames.macyoyorunner/game/assets/libmaciapextension.dylib) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
error trying to load @loader_path/liblibMacIapExtension.dylib - dlopen(@loader_path/liblibMacIapExtension.dylib, 1): no suitable image found.  Did find:
    file system relative paths not allowed in hardened programs
 

chirpy

Member
Thanks @chirpy for posting this. We are still supporting iOS 9 devices for a bit longer anyway. Can you be more specific about what needs replacing? My ObjC is fairly terrible, but I might be able to hack my way through it if you've got a sample of how to use the object(forKey) method.
I'm sure YYG will update the extension soon but here:
Code:
priceLocale] languageCode] --> priceLocale] objectForKey:NSLocaleLanguageCode]
priceLocale] countryCode] --> priceLocale] objectForKey:NSLocaleCountryCode]
 

chirpy

Member
On Mac IDE 2.2.4.464, is there a way to build .aab directly (as a dropdown option like in Windows)?

Edit: the runtime release notes seems to indicate that there is (since Finder was mentioned), but I can't find it. (runtime 2.2.4.372)
https://gms.yoyogames.com/release-notes-runtime.html
  • Added support for building a Google Play App Bundle package (toggle the file format drop-down in the Explorer/Finder dialog when clicking Create Exe)

Edit: Sorry, I found the bug listed here now:
https://bugs.yoyogames.com/view.php?id=31427
 
Last edited:

clee2005

Member
I'm sure YYG will update the extension soon but here:
Code:
priceLocale] languageCode] --> priceLocale] objectForKey:NSLocaleLanguageCode]
priceLocale] countryCode] --> priceLocale] objectForKey:NSLocaleCountryCode]
Awesome! Thanks @chripy I made those changes and it built for me. Hopefully YoYo incorporates those changes soon, but now I can proceed to update my apps.
 

Dan

GameMaker Staff
GameMaker Dev.
Do you have plans to add injection into application tag in extensions properties? It will be even more convenient.
No plans just now, but I am adding this to our suggestion list just now - we do have a desire to change how all the injection UI is being done anyway, as there are now lots of injection points and so the UI for this could do with a general refactor before we add even more.

@Dan There are some issues with the iOS IAP documentation. The function ios_iap_ValidateReceipt accepts no params in the extension, but the sample code in the documentation is sending a receipt param which causes it to fail... I can see lots of people getting hung up on this as you have to dig through the output logs to see one line that says it's failing when attempting to call this extension function. It should be as it is in the documentation... [/CODE]
Yeah, we had this reported to us late last week, so we have fixed it - I will be updating the extension on the Marketplace shortly. As you say, the docs (the mini-manual) have the correct info, but the syntax help is wrong.

I'm sure YYG will update the extension soon but here:
Code:
priceLocale] languageCode] --> priceLocale] objectForKey:NSLocaleLanguageCode]
priceLocale] countryCode] --> priceLocale] objectForKey:NSLocaleCountryCode]
Will get this added also. Thanks for advising the fix (and thanks, Chris, for confirming)!

On Mac IDE 2.2.4.464, is there a way to build .aab directly (as a dropdown option like in Windows)?

Edit: Sorry, I found the bug listed here now:
https://bugs.yoyogames.com/view.php?id=31427
Ahh, was just about to reply, then saw the edit ;) I have now slightly updated the report and tagged it so it appears on the known issues list.

Hey @SiG thanks for taking the look on it.

The extensions I used was only Googleplay extensions& Apple IAP extension.
The version I used was 3.1.8 which I just noticed it was updated to 3.1.9 two days ago.
Now Googleplayservices extension seems to require adding Ads extension seperately.

I will try with 3.1.9 version of Googleplay services but I don't think this would be sufficient in getting approved by Apple. So,
I think I'm gonna try adding some description stuff to plist in Xcode instead of creating binary right away. Hope this is right...but again kinda risky to submit the game
again for review unless I found the real answer to this.
You will need that 3.1.9 - the fix was made for 3.1.8, but the Marketplace download wasn't correct, so 3.1.9 is "3.1.8 with all the missing files...". It happens to be that the ads stuff was part of the missing files, so now you have the correct version. You should be fine to submit again now (although, do check that the only Google Play "blah" extension actually enabled in your iOS package is the ads one - if you have Google Play Services itself still enabled, this could be why you're getting this rejection).

Please let us know if Apple does complain or accepts the update now!
 

Mr Errorz

Member
There's another weird thing that I am experiencing w/ the new release, it has to do w/ the splash screen when I am running the project on an iPhone 11 pro.
It just seems like the splash screen ratio/dimensions are getting distorted, when I compile and run the same build from an older GM version, the problem doesn't exist.
I'm attaching a picture for reference.
Anyone knows what's causing this?
 

Attachments

Dan

GameMaker Staff
GameMaker Dev.
There's another weird thing that I am experiencing w/ the new release, it has to do w/ the splash screen when I am running the project on an iPhone 11 pro.
It just seems like the splash screen ratio/dimensions are getting distorted, when I compile and run the same build from an older GM version, the problem doesn't exist.
I'm attaching a picture for reference.
Anyone knows what's causing this?
We're investigating/confirming at the moment, but this appears to be an intended consequence of us changing to use Apple's current preferred splash screen system in 2.2.4, combined with Game Options > iOS > Icons doesn't yet have an entry for that brand-new phone, so the OS is picking an unwanted splash screen size.
 

Mr Errorz

Member
We're investigating/confirming at the moment, but this appears to be an intended consequence of us changing to use Apple's current preferred splash screen system in 2.2.4, combined with Game Options > iOS > Icons doesn't yet have an entry for that brand-new phone, so the OS is picking an unwanted splash screen size.
Yeah okay, I thought that might be the cause.
Although the screen resolution is identical to the iPhone X if I'm not mistaken, and it seems to be working fine on that device.
 

Dan

GameMaker Staff
GameMaker Dev.
Btw, you are able to fix this just now in Xcode - either build YYC, or build VM when the preference to "suppress build and run" is ticked, and then you can change the splash screen within Xcode. You don't need to wait for a fix from us.

Sorry, forgot to add that bit yesterday....
 

Mr Errorz

Member
Btw, you are able to fix this just now in Xcode - either build YYC, or build VM when the preference to "suppress build and run" is ticked, and then you can change the splash screen within Xcode. You don't need to wait for a fix from us.

Sorry, forgot to add that bit yesterday....
Cool, thanks. I'll give it a go.
 

clee2005

Member
@SIG. Ok I just submitted and had my app approved by Apple with the new IAP. I didn't have Google Play Services in it. I do have other extensions as well, but none that have changed since the last GMS Version, other than the IAP and Google Play Services.

Hopefully that helps narrow it for you.
 

SIG.

Member
@SIG. Ok I just submitted and had my app approved by Apple with the new IAP. I didn't have Google Play Services in it. I do have other extensions as well, but none that have changed since the last GMS Version, other than the IAP and Google Play Services.

Hopefully that helps narrow it for you.
@Dan 's post just above in this thread, here, said, in response to snowgames:

Dan said:
You will need that 3.1.9 - the fix was made for 3.1.8, but the Marketplace download wasn't correct, so 3.1.9 is "3.1.8 with all the missing files...". It happens to be that the ads stuff was part of the missing files, so now you have the correct version. You should be fine to submit again now (although, do check that the only Google Play "blah" extension actually enabled in your iOS package is the ads one - if you have Google Play Services itself still enabled, this could be why you're getting this rejection).

Please let us know if Apple does complain or accepts the update now!
Much as I appreciate communication from YYG, I wish I had a little more info. Dan said two things:
  1. 3.1.8 was missing the AdMob extension, which is now separate from the Google Play Services extension. 3.1.9 includes the Admob extension as a separate extension.
  2. If snowgames was copying the Google Play Services (GPS) into his iOS export, it may have caused Apple's rejection.
The first thing shouldn't matter. The absence of an extension shouldn't trigger a rejection based on "hidden features," specifically "functionality to load a webview of external content within the app for the purpose of third-party game streaming." If snowgames was just missing this extension, then I guess we can cross it off the list.

The second thing might matter. GPS includes a GDPR consent form, which I think it displays as a web page based on my mucking about in the Xcode project files. If that's the case, and YYG implemented a webview function to display the consent in a way that would trigger a warning from Apple, then Dan is correct. Presumably someone at YYG made the updates to the new GPS extension and could make an educated guess on whether this is the case. I wish someone would say so: "Yes, the GPS extension was updated to include new webview functionality that could be flagged by Apple as improper. Don't include it with the iOS export. In fact, we've made it impossible to copy to the iOS export."

App store rejections and warnings like snowgames got are serious. I think it's a bit unfortunate that YYG's official position is that snowgames should spin the wheel and see if he gets banned. I mean, then we'd need another volunteer to see if they get rejected/warned/banned with the next update. Eventually we'll run out of volunteers!
 

FrostyCat

Redemption Seeker
You will need that 3.1.9 - the fix was made for 3.1.8, but the Marketplace download wasn't correct, so 3.1.9 is "3.1.8 with all the missing files...". It happens to be that the ads stuff was part of the missing files, so now you have the correct version. You should be fine to submit again now (although, do check that the only Google Play "blah" extension actually enabled in your iOS package is the ads one - if you have Google Play Services itself still enabled, this could be why you're getting this rejection).

Please let us know if Apple does complain or accepts the update now!
Sorry, but what's with all of these premature releases that offload basic testing to end users?

The following quote from SIG should be emphasized:
App store rejections and warnings like snowgames got are serious. I think it's a bit unfortunate that YYG's official position is that snowgames should spin the wheel and see if he gets banned. I mean, then we'd need another volunteer to see if they get rejected/warned/banned with the next update. Eventually we'll run out of volunteers!
And it's not the first time sentiments like this crop up. Here's one of mine from an earlier topic:
My question: Why not consider bringing back Simple Solitaire, Lazy Mouse, Froad or any of the older games, just so that the development team has in-house projects to experiment with and get direct vendor feedback from for plugin projects? This topic is a pretty good testament to why relying on GMC and helpdesk feedback for integration extensions is a bad idea. People are either too busy or have too much on the line to experiment with a beta, and the lack of in-house testing starts a vicious "no testing > extensions become unreliable > people don't use it > efforts diverted elsewhere > no testing" cycle.
You responded agreeing that there are people unable/unwilling to try out the beta live and that YoYo has submission test projects. Yet the problems cropping up on this topic are basic use cases that a submission test would have caught, but is now offloaded to end-users to risk their relationship with Apple and Google Play.

YoYo should be the one taking the exploratory hits by the virtue of us having paid you for the convenience of the engine.
 

snowgames

Member
As much as I love using gamemaker, I do agree on elevating the support for reliable build and submissions to the Appstore and Googleplay.

Anyways, as for volunteering to spin the wheel, I decided to go with it so it can be helpful to those who are having issues with using all the extensions and GDPR consent form. Here are the things I used in the game:
-3.1.9 GooglePlay service extension
-separate new AD extension (Used Admob)
-iOS IAP extension
-coded GDPR consent form (tested working and passed the review on Playstore)
-coded leaderboard(tested working/passed the review Playstore)

So basically, most of the functions that you would want on iOS game. Currently passed the review on Playstore, and as mentioned above rejected on iOS/ resubmitted now. I did some research on the issue and I think this is a must that should be added on helpdesk or manual pdf on uploading to iOS. If you use the GooglePlay extension(ads), you must include these two in plist on Xcode or your app will be rejected.

1) Instead of using (create executable) on IDE right away for iOS, make sure you check the box for Suppress build and run(only create Xcode project on macOS) under File->Preferences->Platform Settings->iOS.

2) After sending your project on Xcode,

3) Click Targets of your game(You should have two. One for the game and another one for test(I just took out one not needed/ your choice)) If you include test file for Targets, make sure you add this too with that target.

4) After you click targets of your game, Click Info.

5) Under info click + sign on below to add info. then choose "Privacy- Bluetooth Always Usage Description" for the key.

6) Type "Advertisement would like to use bluetooth" for the value.

7) Do the same for "Privacy-Bluetooth Peripheral Usage" key

333.jpg


After this fix, I submitted the game for iOS Review. I'm pretty sure this is the problem that is causing the issue and even if you use newest extension, I think you still have to add this in Xcode.
 

clee2005

Member
I was updating another project with the new IAPs and the Android build for this project gives me a new error which I haven't seen yet... Apparently others have (https://forum.yoyogames.com/index.p...ile-for-android-after-2-2-4-458-update.68193/)

Android Build Fails with :

Code:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':com.donkeysoft.wordwowseasons:processDebugResources'.
> Android resource linking failed
  U:\com.donkeysoft.wordwowseasons\src\main\res\layout\download.xml:13: AAPT: error: resource string/banner_desc (aka com.donkeysoft.wordwowseasons:string/banner_desc) not found.
  
  U:\com.donkeysoft.wordwowseasons\src\main\res\layout\download.xml:116: AAPT: error: resource string/text_button_pause (aka com.donkeysoft.wordwowseasons:string/text_button_pause) not found.
  
  U:\com.donkeysoft.wordwowseasons\src\main\res\layout\download.xml:130: AAPT: error: resource string/text_button_cancel (aka com.donkeysoft.wordwowseasons:string/text_button_cancel) not found.
  
  U:\com.donkeysoft.wordwowseasons\src\main\res\layout\download.xml:156: AAPT: error: resource string/text_paused_cellular (aka com.donkeysoft.wordwowseasons:string/text_paused_cellular) not found.
  
  U:\com.donkeysoft.wordwowseasons\src\main\res\layout\download.xml:163: AAPT: error: resource string/text_paused_cellular_2 (aka com.donkeysoft.wordwowseasons:string/text_paused_cellular_2) not found.
  
  U:\com.donkeysoft.wordwowseasons\src\main\res\layout\download.xml:176: AAPT: error: resource string/text_button_resume_cellular (aka com.donkeysoft.wordwowseasons:string/text_button_resume_cellular) not found.
  
  U:\com.donkeysoft.wordwowseasons\src\main\res\layout\download.xml:184: AAPT: error: resource string/text_button_wifi_settings (aka com.donkeysoft.wordwowseasons:string/text_button_wifi_settings) not found.
  
  error: failed linking file resources.
Just wondering if anyone has figured anything out with it... I'm still trying to work around it. It has to be something in the project, as I did 2 other projects that did NOT have this issue, so it's not my setup. I tried using the Project Tool to regenerate the images and icons thinking it might update the project file, but that made no difference.

EDIT : Ok, it was my setup. I tried on my second PC and it builds without that error. So I'll look at the caches on that other machine.

EDIT2 : I cleared my .gradle cache and all the caches in GMS2 and rebuilt and it went away! For the record, I had cleared the build cache many times prior to this, so I'm guessing it's the .gradle cache that did it or the other IDE cache
 

Attachments

Last edited:

spinout

Member
Just wanted to say thanks for this update. As a full time mobile developer on GM, this update is so nice for IAP's. I'd love to see you guys keep opening up the doors more like this in other areas as well. The freedom is great!
 

Dan

GameMaker Staff
GameMaker Dev.
Hotfix release IDE v2.2.4.474 and Runtime v2.2.4.374 are rolling out 30/10/2019.

IDE Update 465+
  • 0031427: Android: [Mac IDE] File extension filter for AAB packages not shown in Finder dropdown (see the first comment)
  • Reverted an unwanted change to some manual pages for arrays
Runtime Update 373+
  • 0031446: HTML5: Accessing a 2-dimensional array as an argument through a script will crash the page on startup
  • 0031449: iOS: Audio muted after screen is locked
  • Fixed iOS splash screen startup code, so devices which do not have a custom splash screen in Game Options (e.g., iPhone 11) will determine the best splash screen to use, rather than using a small, old default image
 

chirpy

Member
Another weird bug in 2.2.4: new, empty Draw event does not override draw_self() calls now. Bug report submitted to YYG.
This is listed as intended in release notes, however I was pulling my hair out for a couple of hours this afternoon for it. Was trying to move draws to Draw End, but the sprite shows up every time like a nightmare. Please consider fixing..

Edit: it happens to all overridden events.

Changed behaviour around saving empty code files
 

Mike

nobody important
GMC Elder
If there is no code in there, the event script is likely removed. Empty scripts are deleted to avoid crap buildup on disk. Try sticking in a "///" comment - that should work, but failing that, a "var a=12" or something.
 

chirpy

Member
If there is no code in there, the event script is likely removed. Empty scripts are deleted to avoid crap buildup on disk. Try sticking in a "///" comment - that should work, but failing that, a "var a=12" or something.
I can confirm it works by adding a whitespace, or anything like ///. However I believe it's confusing enough. Overriding inherited behavior with an empty event no longer works. It does not affect empty events created before v2.2.4 so I did not notice until now.
 

Mike

nobody important
GMC Elder
I would highly recommend putting in a comment like this

/// @description disable draw_self()

as it's good practice, so you remember why you're not seeing anything, as this will be displayed in the event list.

But yes, chances are, draw events should detect an event without a script, and so disable things to avoid these hidden issues.
 

MilesThatch

Member
Judging by how many HTML5 Bugs there were in this update, I'd say YoYo bug report team was most likely FAR too hasty to close my ticket without looking at all the evidence I've provided.

Serious tho. Why would a draw even function fire for an object but a step event not?
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Judging by how many HTML5 Bugs there were in this update, I'd say YoYo bug report team was most likely FAR too hasty to close my ticket without looking at all the evidence I've provided.
Just to let you know, your ticket is still open and being investigated... :)
 

MilesThatch

Member
Just to let you know, your ticket is still open and being investigated... :)
Oh I see. Thank you for the heads up. I had the only email from the ticket handler who said he'd just close the ticket right away. Good to know it's being looked into. I don't know what to hope for more - that it is the engine error and my evidence is of some help but in that case i'ts an engine bug or that it's my code error but in that case I'm wasting their time :/
 
Updated to IDE v2.2.4.474 and Runtime v2.2.4.374 ! After uninstalling the previous version and completing the installation, I logged in and in Start Page, After Loading Prefernces..and Checking RSS.. Installing runtime 2.2.4.374 this is where from my GMS is not going any fruther. The right upper corner bar which shows the progress of the installation process of the runtime is blinking..Usually when I updated it starts empty and get filled but this time it's completely filled already and blinking... It's almost 2 hours and 3rd atttemp but nothing is happing!

PS: Finally IT got installed! But I gave me some hard time!
 
Last edited:

clee2005

Member
Has anyone got the Mac IAPs to work? Specifically the non-consumable IAPs? It's strange but I can get Consumables to work as expected, but when I purchase a non-consumable no events are raised from the extension. So nothing occurs. I'm testing in the Mac VM (I'm aware there are issues with the Mac VM and the extensions - but using App Wrapper 3 you can resign the .dylib extension file and it will build and run).

I filed a ticket, but I'm wondering if anyone else has or can verify since the Mac export seems to be a low priority.
 
I made a thread before I saw this, I'm having lots of problems with networking in the latest version that used to work just fine. Details, including project examples, here.
 

spinout

Member
Has anyone got the Mac IAPs to work? Specifically the non-consumable IAPs? It's strange but I can get Consumables to work as expected, but when I purchase a non-consumable no events are raised from the extension. So nothing occurs. I'm testing in the Mac VM (I'm aware there are issues with the Mac VM and the extensions - but using App Wrapper 3 you can resign the .dylib extension file and it will build and run).

I filed a ticket, but I'm wondering if anyone else has or can verify since the Mac export seems to be a low priority.
I've got it working fine, consumables, subscriptions and non-consumables.
 

breakmt

Member
Began to see this error window :( It happens when I just start IDE and happened to me already 3 times! Don't know why, I never saw it before...
2019-11-10_091615.png
 

chirpy

Member
My gms2 runtime got rolled back to 366 this morning(from 374, on ide startup). I didn’t check whether it’s back to 374 now but is this normal/expected?
 
Status
Not open for further replies.
Top