airsdk / Adobe-Runtime-Support

Report, track and discuss issues in Adobe AIR. Monitored by Adobe - and HARMAN - and maintained by the AIR community.
206 stars 11 forks source link

How to run IPA on iOS Simulator #1716

Open megajogos opened 2 years ago

megajogos commented 2 years ago

Anyone could explain how to install developer IPA to the iOS Simulator?

I have tried this command:

image

ajwfrost commented 2 years ago

Hi

It looks like you've got the right command, but the IPA is built for a real device rather than for the simulator. To run on a simulator it needs to be built with ipa-[test|debug]-interpreter-simulator as the simulators are just simulators, they're not emulators..

Although having said that ... the error message is coming from AIR, and it's feasible that Apple may have got support for ARM64 applications running within the simulator on an M1. This seems to be the case, e.g. I just found: https://blog.sudeium.com/2021/06/18/build-for-x86-simulator-on-apple-silicon-macs/

But, I'm not 100% sure whether it would work, we can have a look... in the meantime please try building with one of the 'simulator' options in ADT.

thanks

MurrayHamilton commented 2 years ago

@ajwfrost I was just about to ask a question about the iOS simulator, but it feels appropriate to ask in here...

I use the ipa-test-interpreter-simulator target and it works absolutely fine for taking screenshots for App Store Connect using the simulator.

My apps are not games, so they're fairly resource-light, but the simulator performance is too bad to capture a video for an App Preview on my M1 Mac Mini.

It's probably an unfair/the wrong comparison, but the stock apps on the simulator are all smooth enough to capture a video when using them.

It would be so useful if I could make App Previews on my Mini rather than having to use a device! Is there anything that can be done to improve AIR app performance on the simulator (e.g. a new target)?

ajwfrost commented 2 years ago

@MurrayHamilton we'll look at this, it may be linked... the current simulator targets are all 'interpreter' ones, because we don't have any AOT generation for x86 or x86_64 which are what the simulator had (until M1) used, and I guess they didn't think it was particularly worthwhile adding a JIT configuration as well... But if we can build an IPA for a device, with ARM64 platform and AOT, and get this to run on the simulator that's then already running as an ARM64 binary, it should mean it's a lot quicker as there won't be any translation going on... (the current set-up, on an M1, would presumably mean your simulator is running in ARM64 mode and then having to run a binary that's created for x86_64 which itself is trying to interpret the AS3 scripts..)

So if we check first that we can get a 'normal' ARM64-based IPA file running on the simulator, we can see what the performance of that is like on M1 computers..

thanks

mesaglam commented 1 year ago

Hi, how were you able to change the default simulator? I've tried export AIR_IOS_SIMULATOR_DEVICE='iPad Pro (12.9-inch)' and restart Animate. Even restart the computer, but still opens iPhone 14. Stuck here....

mesaglam commented 1 year ago

Ok, I've solved. We have to set device name same as Xcode device lists. Right click simulator icon on the dock hover the device menu and check the name. That's it...

MurrayHamilton commented 1 year ago

@MurrayHamilton we'll look at this, it may be linked... the current simulator targets are all 'interpreter' ones, because we don't have any AOT generation for x86 or x86_64 which are what the simulator had (until M1) used, and I guess they didn't think it was particularly worthwhile adding a JIT configuration as well... But if we can build an IPA for a device, with ARM64 platform and AOT, and get this to run on the simulator that's then already running as an ARM64 binary, it should mean it's a lot quicker as there won't be any translation going on... (the current set-up, on an M1, would presumably mean your simulator is running in ARM64 mode and then having to run a binary that's created for x86_64 which itself is trying to interpret the AS3 scripts..)

So if we check first that we can get a 'normal' ARM64-based IPA file running on the simulator, we can see what the performance of that is like on M1 computers..

thanks

@ajwfrost I completely forgot about this until this thread resurfaced - any progress on improving simulator performance? I’m running fairly old versions of AIR in my apps so I’m a bit out of the loop!