MIT App Inventor for iOS version 0.9

Hello everyone,

We have submitted a new version of the iOS companion to TestFlight. Here are the release notes to go with this version. If you’re in the beta testing program, please keep an eye on in the TestFlight app for the new version once Apple approves it.

The MIT App Inventor team is pleased to announce version 0.9 of the MIT App Inventor companion for iOS. This version brings a number of new components. In particular, we have implemented support for scrollable arrangements, the Switch user interface components, and have implemented cross-platform data storage via the addition of CloudDB. We have also included a number of new blocks that have been added to MIT App Inventor since iOS version 0.8 was released. Please test any projects you have that use the newly supported components for iOS and report issues.

Changelog:

  • Added CloudDB component
  • Added HorizontalScrollArrangement and VerticalScrollArrangement components
  • Added Switch component
  • Added support for legacy Button background in Classic theme
  • Added PasswordDialog method to Notifier
  • Added ChoosingCanceled and TextInputCanceled Notifier events
  • Added DrawArc and DrawShape methods to Canvas
  • Added MakeDate, MakeTime, and MakeInstantFromParts to Clock
  • Added Stop method to VideoPlayer
  • Implemented reverse list block
  • Improved TableArrangement logic
  • Made return key a proxy for “connect with code” in main screen
  • Fixed a bug where components would be drawn beyond the bounds of their containers
  • Fixed a bug where true/false would be rendered as 1/0
  • Fixed an issue with fixed scaling that would result in too short a screen on devices like iPhone X
  • Fixed a threading issue with callbacks
  • Fixed arrangement logic in horizontal and vertical arrangements
  • Fixed bugs around large number math
  • Fixed miscellaneous issues with the Spinner component
  • Fixed miscellaneous issues with CheckBox
  • Fixed a bug where buttons wouldn’t be updated based on their intrinsic size
  • Fixed a bug where Canvas would clear after switching to another view
  • Fixed a crash triggered by changing the number of rows/columns in a TableArrangement
  • Miscellaneous bug fixes

Known issues:

  • Some CloudDB projects with high throughput, such as SketchAndGuess, can occasionally result in a use-after-free bug that crashes the companion. We are still working to track this bug down.
18 Likes

Wow, great job. Hope to get starting soon.

1 Like

Testflight shows the updated companion. :+1:

2 Likes

Yes. Everyone who is on the beta testers list should have also received an email from Apple informing them that it is live. I’m going through and reviewing beta testing requests so we can start opening it up to more people.

4 Likes

Where do we submit beta testing requests?

I figured out where to submit for beta testing, and I just got an email about the preview companion being released. Will the companion work with iOS 13? I just saw that available as a software update.
Thank you for the help,
Jenn

Apple is using a new signing mechanism for iOS 13, so I would suggest not upgrading until we've confirmed that our process works correctly. We have tested it on iOS 9-12. If you are a Mobile CSP teacher, we can add you to our Mobile CSP beta testers group on TestFlight so that you can also get access that way, but it will also require logging into TestFlight on each device using your Apple ID tied to your TestFlight account.

1 Like

Hi Evan,
I tried my testcase for iOS again, the results are better, but not good.
I attach my aia here, and some pictures of what it looks like on my Android tablet and my iPad mini of the same size.
armadio_4_iOS(1).aia (946.3 KB)


This is what it should look like (it is not a nice looking app, I agree.
There are several problems with the iOS version: the screen background picture repeats itself instead of scaling, the buttons cannot have automatic width/height, the do not have a default background color, and the text colour should be black by default.IMG_0005
So far. I hope to try more things shortly.
Cheers, Ghica

1 Like

Which theme are you using? In Classic theme, buttons should have black text. For device default themes, buttons have blue text in iOS.

1 Like

I think device default. But still, the buttons should have a background color?
I just thought of two other problems I had. On my iPad the orientation stays landscape, while I specified portrait in Screen1, and, with my iPone 6 I cannot use the QR code reader. It does not seem to see the QR. Once it saw a really long number. Strange. This was FF, on Chrome it works. Typing in the code works ok.
Cheers, Ghica.

This is a known issue and we'll try to get it fixed for the next release.

Automatic sizing should be okay for buttons. This might be something specific about the configuration within the parent view. We use HelloPurr as one of the test apps and it will certainly size the button to the image size.

This depends on the theme. Buttons in iOS naturally don't have a background color, so if you've specified default that is what you will see. If you specify a different color they should take that color as the background.

It seems as though it is biased to the top left quadrant of the viewport. My guess is that we have a scaling issue. This is on my list to fix this week.

It's possible that if it the QR code was cut off (see my earlier comment about the viewport), it might have tried interpreting the bit it could see as a different type of barcode, resulting in the long number.

OK. I understand about the background. It seems that only for classic the buttons have black text on gray background. On all others the text is blue with no background. For labels it is black with no background.
What about the rounded corners and oval options? Should they work?

What I find a problem though, is that there is no margin between two buttons or labels and buttons, so, (except for classic) there is no space between text, if you use automatic sizing.
Cheers, Ghica.

The margins issue is something that we can fix. I do believe that there is a standard system-defined padding that we can use for that. The various shape options should work provided that you specify a non-default background color.

Just a question: is there specific iOS documentation planned or already there?
For example, I am interested what the path-to-assets is, to be able to try some WebViewer stuff.
I remember that there was a method planned for this, which would make the use of an extension unnecessary. Is that still true?
Also, the very handy WebViewString.Changed event is not implemented for iOS. Will it be done sometime?
Cheers, Ghica.

Hi Ghica,

It should be the case that the iOS companion will accept URLs in the file:///android_asset/ form. The iOS WebViewer implementation internally rewrites the URLs to the sandbox path that iOS generates when the companion is installed. This will be true in both the companion and compiled apps and should be backward compatible with the Android version (modulo a change we need to make for the companion).

As for the WebViewStringChange event, I’ll make sure that makes it into the next beta version.

My app I wanted to try, reading an RSS feed, does not load, it gives a connection error. Why?


My other test apps load fine.
Cheers, Ghica.

1 Like

Another question, I understood not to install iOS13. Is that still the case? Apple seems to be impatient to install it on my devices.
Cheers, Ghoca.

The version we publish through our preview server has a patch to fix the iOS 13 issue. We’re going to submit a new version to Apple next week that will fix it via TestFlight (once they approve it, of course).

Can you please share the list of known issues for iOS and items being addressed in the next release for iOS?
Thanks, Noel

1 Like

Unfortunately I have not realized yet that there is a beta test version for iOS.

I have created some of my Android apps (AI2, Kodular) also for iOS (Xcode 11 / Swift 5). So I have some experience with Xcode & Swift and I know the problems that can occur when switching between Android and iOS, especially regarding (auto) layout (constraints / stack views) or frameworks like AVFoundation (for media files and the different audio formats supported by iOS) etc.

I’d like to test how (well) App Inventor works for iOS (my iOS apps have been updated for iOS 13.1.1 a few days ago).

Can I still register as a beta tester?
I completed the form. (http://appinv.us/ai-iOS-beta)

Greetings,
Anke

3 Likes