iOS 11.3 bindings
03 Apr 2018 | bro-geniOS 11.3 was released and using bro-gen binding were done in pr280. Most significant changes are to ARKit
and StoreKit
but following frameworks got their update as well:
iOS 11.3 was released and using bro-gen binding were done in pr280. Most significant changes are to ARKit
and StoreKit
but following frameworks got their update as well:
New Lottie.framework
pod. It is nice and shiny library for natively render After Effects vector animations, like this:
RoboPod is available from my own maven
repo for intermediate results altpods
:
Altpods
are available as repository in github, also it is deployed it to ‘oss.sonatype.org’ which makes it available as maven artifact.
RoboVM needs swift libraries as these has to be embedded into application in case any dependency is using swift. E.g. in case you favorite framework is built using swift. Precompiled libraries are available from https://swift.org. Seems to be easy but not so fast. Details bellow.
Previous post described how to remove android-gradle
facet but as well with it there was module dependency resolution broken. It is time to fix it as well.
It was missed to handle properly populateModuleDependencies
as result all modules were not populated with dependencies. As modules were moved out of Android gradle structures this tast shall be also forwarded to nextResolver.
This post is outdated. Please follow to post.
Last year AS/Idea become real pain in case Java project is mixed with Android one. This results of “android-gradle” facet and project type to be created. And these project type doesn’t play nice with RoboVM/Java projects. Nothing is working.
There is already several issues about this in the field:
It is almost year as JetBrains fixes it. So there is a hack which allows to run it:
First POC Linux/Windows build has major usability flaw: to start working on Linux/Windows user had to have access to Mac to obtain Xcode files and also manually download and deploy toolchain files. Now it is solved with automatic downloader/installer:
This became possible with as result of following changes:
There was basic a check for updates already at compiler level (and it even was fixed recently). But it was providing information only to console. I’m working on automatic toolchain download functionality for Linux/Windows project and it requires version check functionality improvement. Here I describe basic version check that I will propose also for MobiVM current master (it does not contain any Linux/Windows specific parts here).
UPDATE: Crashlytics reports also processed NPE, this happens as it uses mach exception handlers. Check following post for workaround.
Third party native SDK might report crash from following sources:
Last two cases require special consideration to be taken to let SDK receive required events and keep RoboVM operations as expected.
History Unable to start 12.5 inch iPad simulator #233
Fix PR273
Recently there was a fix for simulator selection in Idea. Its turned out that there is a similar gradle one. But gradle is broken in different way:
gradle -Probovm.arch=x86_64 -Probovm.device.name="iPad Pro (12.9-inch) (2nd generation)" launchIPadSimulator
failed with message
Unable to find a matching device [arch=x86_64, family=iPad, name=iPad Pro (12.9-inch) (2nd generation), sdk=null]
Root case is very simple, code in DeviceType.filter()
replaced any ‘-‘ with ‘ ‘ by following code snipped:
deviceName = deviceName == null ? null : deviceName.toLowerCase().replaceAll("-", " ");
as result it was looking for device with name iPad Pro (12.9 inch) (2nd generation)
(without ‘-‘) and of course was not able to locate it.
UIKit xib/storyboard files have be compiled from XML text format to binary NIB. In native Mac environment there is ibtool as part of XCode toolchain that handle this task. Windows/Linux lack this tool and without it not possible compiling iOS application that contains xib/stroryboard layouts. Lucky for us such tool was found in Microsoft/WinObjC project but unfortunately it was not working from scratch. Getting it to so-so working level cost me about 100+ hours to fix showstopper bugs and develop tools that simplifies reverse engineering of nib. Details are bellow: