METAL is now broken with iOS 15.3.1 and build 3664

Just an update for anyone following this…

The problem is real. We’ve discovered it is caused by the “admobiron” plugin. Oddly, it works fine on Scott’s iPhone 12 mini, but not on my iPhone 13 Pro. We’re both running iOS 15.3.1.

I can reproduce it on many devices and many plugins all the way back to 14.1.

1 Like

Another update - we found the problem is a plugin conflict. I’m not sure solving this can be done quickly, but I hope it can.

Using the ironSource demo from Scott, adding the googleSignIn OR firebaseAuth plugins INDIVIDUALLY, will NOT cause the black screen problem with the METAL build.

However, using BOTH googleSignIn AND firebaseAuth plugins TOGETHER, this WILL cause the black screen problem with the METAL build.

So, googleSignIn and firebaseAuth plugins included together in a project causing the problem were SYMPTOMS of the real problem.

When I remove the “admobiron” plugin, my METAL build works fine. Hopefully, this will be fixed soon. Until then, everyone should BEWARE of including the “admobiron” plugin in their builds.

Did you try the facebookIron plugin alone? For me this also causes the problem on some devices.

Adrian

The key is that admobiron is conflicting with others, perhaps the facebookiron too - Give it a shot - I’m on deadline at the moment.

so after working with Scott today, it is apparent that admobIron just, somehow, breaks Metal as reported. The difficulty we have now is that Scott does not have an iPhone 13 or iPad Pro such that he can create the build on his system. But he was able to try my build and could actually see the black screen of Metal. I will update this as progress is made, until then, I don’t recommend ANYONE try creating a build with the admobIron plugin with a Metal build, or you will be disappointed.

1 Like

Update and Question: Apparently, @Scott_Harrison can build to Metal without any difficulties. And last night, my co-developer created a build of my latest version of a game with Metal, using build 3661, without the black screen.

The point here is that both Scott and my co-developer cannot create a new build using Metal that shows the black screen. I have attempted to use build 3661, to see if that will help, but I can’t do this because I have already upgraded to MacOS 12.2.1.

So, why can my co-developer create a build using the identical code of our game using Metal WITHOUT this black screen? This tells me the problem is NOT the code. It must be either something in a recent Solar2D build newer than 3661, or, more likely, this is specific to my own computer.

In summary, a Metal build WORKS when a build is created by my co-developer running Solar v3661, MacOS 11.6 and Xcode 13.0 on a Mac Mini 2018.

I am running Solar v3665, MacOS 12.2.1 and Xcode 13.2.1 on a new 16" MacBook Pro (M1 Pro), which results in a Metal build NOT working, showing the black screen.

Does anyone know if the Solar2D build process uses code within Xcode to create a build?
In other words, should I experiment with older versions of Xcode to find an earlier version that might allow Metal to build okay on my system without the blank screen?

Yes, it uses Xcode to create a build. There is no other option.

UPDATE, I’m hoping to work more on the black screen problem that still prevents me from creating a build with Metal.

To summarize this problem, I have the newest MacBook Pro 16 (M1 Pro) and am using the latest Build 3665 and the latest Xcode 13.2.1. Bhavin can create a build on his 2018 Mac mini using Build 3661 and Xcode 13.0, USING THE IDENTICAL CODE, and it works fine.

@vlads any chance you can have the Build box default to the last used setting, whether Metal 15.2 or a normal build? By defaulting to Metal, it’s a bit of a pain. In the post above, @agramonte made a similar request.

Does anyone know how I can build with 3665 and cause the build process to use the older Xcode? I have 13.0 on my system also, just as Bhavin has, so I’m hoping this will give us, at the last, an answer.

Hey. Can you build anything or just your app? Like, try something from sample code.

Yes, I can build anything. And a few of our other games work fine building with Metal. Just not our main product.

Our apps will crash on ios9.
Is it possible to not use metal when the system is ios9 or below?

Metal does not work on iOS 9.

Did you ever get this resolved?

No, but it is apparent that this is dependent upon other plugins in the latest version.

Hello! I get the same black screen when building metal. Solar 2d 2022.3677. mac book air m1. Xcode Version 13.4.1. The game uses an advertising plugin ApplovinMax.

Are you using any other plugins besides Max, if so can you list them

plugins = {
		["plugin.utf8"] =
        {
            publisherId = "com.coronalabs"
        },
        ["plugin.google.iap.billing"] =
        {
          publisherId = "com.coronalabs",
          supportedPlatforms = { android=true }
        },
        -- Base
        ["plugin.applovinMax"] =
        {
            publisherId = "com.solar2d"
        },

        --Adapters
        ["plugin.applovinMax.Yandex"] = {
            publisherId = "com.solar2d",
        },
        ["plugin.applovinMax.AdColony"] = {
            publisherId = "com.solar2d",
        },
        ["plugin.applovinMax.GoogleAdMob"] = {
            publisherId = "com.solar2d",
        },
        ["plugin.applovinMax.IronSource"] = {
            publisherId = "com.solar2d",
        },
        ["plugin.applovinMax.Mintegral"] = {
            publisherId = "com.solar2d",
        },
        ["plugin.applovinMax.MyTarget"] = {
            publisherId = "com.solar2d",
        },
        ["plugin.applovinMax.UnityAds"] = {
            publisherId = "com.solar2d",
        },
 

        ['plugin.att'] = { publisherId = 'com.solar2d',supportedPlatforms = { iphone=true } },
        ["plugin.firebaseAnalytics"] =
        {
            publisherId="tech.scotth",
            marketplaceId = ""
        },

	}

@Scott_Harrison @vlads I understand that other tasks have priority at the moment, but I can confirm that Metal has been broken for me for months. I’m using a 16" M1 MacBook Pro, which is the newer version of M1. You should also know that @BK_PANARA was able to build my exact project in Metal using an older Mac. It works perfect on my iPhone 13 Pro, too. This confirms the issue is related, somehow, to the newer Macs that use Apple Silicon tech.