How to set up project.xml for ios apps

Hi,
after some months i reactivated my mac and continued to work on the ios version of our game.

It used to build, but not anymore:

  $ haxelib run lime test ios
    Build settings from command line:
    PLATFORM_NAME = iphoneos
    SDKROOT = iphoneos13.2
    note: Using new build system
    note: Planning build
    note: Constructing build description
    error: "mars" requires a provisioning profile. Select a provisioning profile in the Signing & Capabilities editor. (in target 'mars' from project 'mars')

I updated XCode and the system to catalina, but no luck.

Is there any documentation how to setup an ios app in the project.xml? What i currently have ( and what was working, i think ) is this:

<section if="ios">
	<certificate path="cert/keystore.jks" alias="XXX" password="YYY" />
	<config:ios team-id="ZZZ" identity="WWW" provisioning-profile="cert/Mars_Dev.mobileprovision" />
</section>

Have you tried running lime update ios -xcode and performing a build using the Xcode UI? That tends to flush out issues I have with the Xcode setup (like when it wants to install additional dependencies or has decided to change signing)

No luck :frowning: Is there any recent tutorial how to setup up the certificates? I’m not used to work on mac, so this is painfull.

Spent this week to get it running on the simulator:

  • Found out that the default simulator setting in the XCodeHelper.hx is outdated ( changed it from “iphone-6” to “iphone-11” ).
  • It seems not to be possible to load an not embedded asset before the preloader has finished ( works on other targets). I used that to show a small “splash” screen while the preloading is done. Not sure if this is really needed for ios anyway.
  • https://github.com/openfl/lime/commit/274ae5fe3bafa717462abe9d40674e498a3b09e8 seems to be not live yet
  • Debugging openGL within the simulator is pain, too

Just to let you know about may personal ios pain :smiley:

Ah I think this was why I was thinking of cutting an OpenFL 8.9.6 release (Discussion: OpenFL 8.9.6?)

I only use the team-id setting when signing for iOS (as it picks the certificate, alias, identity and provisioning-profile automatically I believe). In fact I also put this in my ~/.lime/config.xml so it can sign any iOS app I build on my system

The update ios -xcode fallback is helpful though because it lets you use Xcode directly until it feels happy building and you can see (using a UI) what changes you need to make in terms of signing or other prompts

1 Like

Thx! Using only the team id worked perfectly fine.

Talking about ios, is there a good way to debug opengl rendering? Works fine on all targets, but on ios i get serveral 1286 errors ( “invalid framebuffer”, using gl.getError() ) after a random time :confused:

Do you get errors visually?

It stops rendering :slight_smile:

I’m using a lot of different render textures, this worked fine on all other platforms. But gl.bindFramebuffer(gl.FRAMEBUFFER, null); to set back the default framebuffer does not work on ios. Now i query the default framebuffer with gl.getParameter(gl.FRAMEBUFFER_BINDING) at the start and use this one instead of null, and it works! Good to know :slight_smile:

Oh, yes! I thought we did this internally if you bind null using Lime