MIT App Inventor for iOS version 0.9

Hi Ewan Patton,
about extensions and IOS what will happen to BLE Extension. Will it not be possible to use it? Why not add BLE to the App Inventor Connectivity menu instead of having an extension?
I think BLE for App Inventor is fundamental
A last question
on the site http://doesappinventorrunonios.com/
I have seen that almost everything is ready except that BluetoothClient and Bluetooth Server is there a particular reason? Are You planning to develop this part too?
Thanks Best Regards
Marco

1 Like

My understanding is that the block was removed back in 2018, but if they've added it back--great! I don't know how they do it, but if I had a guess (based on my experience), you can embed a Java compiler such as the Eclipse Java Compiler (written in Java) into your Android app along with the dx.jar utility (converts JVM bytecode to Android dex bytecode) and then create a DexClassLoader to load up the compiled and dexed source.

To do the same technique on iOS, you'd first have to package a chunk of the Swift and LLVM toolchains (cross-compiled for ARM), and then try to load. When I did my initial research, it sounded like dlopen, the system call to dynamically link libraries on macOS/iOS, does not dynamically link libraries that aren't signed by the same key as the calling app. I haven't tried to verify this by doing it myself, but if it's true that means that if we wanted to support extensions MIT would need to sign the extensions with our key.

4 Likes

We will likely bake it into the iOS version and possibly into the Android one as well. The primary reason at the time for doing BLE as an extension is that not many phones had Bluetooth 4.0 and since we were still learning what was capable it made sense to be able to iterate separately from the rest of App Inventor. Now that things are more stable and most phones have BLE, it would make more sense to keep it as part of the core system.

The BluetoothServer and BluetoothClient components make use of the SPP over RFCOMM Bluetooth, which as far as I can tell CoreBluetooth (Apple's Bluetooth API) does not support. My understanding is that CoreBluetooth only supports GATT, which means it can do BLE but not "classic" Bluetooth. We've done a couple of hacks to make it so that the Ev3 LEGO Mindstorms kits will work though.

2 Likes

Thank you, Evan, for your detailed response!

Hi how can I get beta testing please is it possible , thank you .

Hello I would like to be in the testing program !!! thanks you.

Same here, waiting for response after submitting an application weeks ago

Sorry for the delay in replying, but I think you should think twice about using Javascript-based extensions.
I'm not yet an expert on extensions, but I think the extension based on Javascript will not work fast and high quality compared to an extension written in the native language of the device (Swift) and in addition I also think there will be a lot of things that can not be done with extensions based on Javascript code.
If I understood correctly the problem with using extensions happens because of sending the code to the companion, then maybe we will allow the use of extensions only when the application will be installed on the device (in iOS)?

Yes, that is something that we are considering.

2 Likes

Hey is it done can we use ios builder right now

Not yet possible @Havish_B_lijin . MIT will certainly make an announcement when it is possible to create ios apps. You can use the ios Companion interpreter right now but Apple and App Inventor 2 still have issues to resolve before you can create and save ios apps.

In the meanwhile please continue to build Android apps or start using a different platform for ios.

when it will be possible

MIT is still making iOS available. I don't think there is a particular time when you will be able to compile with iOS, but it should be in the next versions, about 1 to 2 years?

1 Like

But that is probably, the launching date of compiling IPA apps might be before or after the expected time period.

1 Like

I think 'fall semester' refers to Sep - Dec 21. If that is, MIT is still working on compiling iOS apps. Also, that is what I think, it might not work.

Also, the iOS functionality still has a lot to cover.

Nevertheless, we can all agree that MIT App Inventor for iOS is a great project and will definitely be supported by MIT App Inventor users.

I'm pretty satisfied at the Media drawer. AI2 is the best!

1 Like

We could see that even without your screenshot.

I have a .aia file is there any option to convert to ios platform

You can test the AIA file with the MIT App Inventor app on iOS, but you cannot install the app on your iPhone/ iPad.

1 Like