27 Apr 2018
|
linux windows
idea
Continue extending functionality for Linux/Windows port. Today device system log and screenshot capture were added. This functionality is available in Xcode on Mac but on Windows/Linux it would require external tool. It was required to adjust libmobiledevice bindings, some RoboVM classes and Idea plugin to make it available for user.
Whats new in idea
Syslog functionality almost copies Android Logcat as code from AOSP was used as reference.
04 Apr 2018
|
fix
xcode
History dSYM generation heavily delayed on XCode 9.3
Fix PR282
Each Xcode update breaks something in RoboVM. This time it slowed down dsymutil
that makes build time up to 30 min long and development process completely unusable. Small numbers on empty project, will use i386 slice from binary generated from empty framework sample:
With 9.3 dsymutil - 1 min 42 secs vs 6 secs:
> time (dsymutil -o test.dsym i386.bin)
real 1m42.932s
user 1m30.420s
sys 0m9.043s
With llvm-dsymutil (built it from source):
> time (./llvm-dsymutil -o test.dsym i386.bin)
real 0m5.813s
user 0m1.953s
sys 0m3.599s
Had no idea where to start from so started from old known bug robovm/#1126. In general it was complaining that it was not able to find out object file for about 90K+ symbols:
03 Apr 2018
|
bro-gen
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:
09 Mar 2018
|
bro-gen
binding
robopods
altpods
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.
09 Mar 2018
|
linux windows
swift
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.
06 Mar 2018
|
dirty hack
idea
gradle
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.
What was wrong
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.
01 Mar 2018
|
dirty hack
idea
gradle
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:
28 Feb 2018
|
linux windows
idea
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:
21 Feb 2018
|
linux windows
idea
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).
Changes visible to user
Balloon instead of console output
16 Feb 2018
|
tutorial
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:
- by sending crash report stored on device;
- signals;
- native unhandled exceptions.
Last two cases require special consideration to be taken to let SDK receive required events and keep RoboVM operations as expected.