22 Jun 2018
|
fix
PR310
Time to start 2.3.5 with fix. Fix to own code that was intended to fix auto-signature pickup (PR293). It fixes a lot of stuff but introduced bug, that auto mode was picking distribution configuration (identity and profile). This will not work for debug/run configuration case. Fix is simple: consider only development identities:
--- Pair<SigningIdentity, ProvisioningProfile> pair = ProvisioningProfile.find(ProvisioningProfile.list(), SigningIdentity.list(), bundleId);
+++ Pair<SigningIdentity, ProvisioningProfile> pair = ProvisioningProfile.find(ProvisioningProfile.list(), SigningIdentity.list("/(?i)iPhone Developer|iOS Development/"), bundleId);
14 Jun 2018
|
debugger
kotlin
soot
jvm
Keep working on local variable resolution for Kotlin and while having a progress there a bunch of WTF cases related to debug information that is included in Kotlin. Happily it is related to synthetic variable that are inserted by Kotlin, usually it goes into following cases:
- variable defined to be in some slot within specific bytecode range but this slot is not populated;
- same as first but in specified local variable slot there is leftover data and it is has not compatible type.
Here is bytecode that demonstrates issue 2:
13 Jun 2018
|
fix
debugger
kotlin
History SSL Handshake error #306
Fix PR308
Initially I was suspecting missing of CA certificate for domain as in this issue but it turned out that RoboVM RT was not able to setup connection with TLSv1.2 only server.
11 Jun 2018
|
debugger
kotlin
soot
jvm
Short update on debugger support for kotlin.
Recent fixes (#1, #2) unblocked debugger for kotlin but variable resolution is still broken. It still produces following error messages on synthetic kotlin code for lambdas and collections:
[ERROR] Unable to resolve variable $i$a$1$forEach in method test, class com.test.ViewController
This happen as this variable was declared in synthetic code and this code is out scope defined in debug information for this variable.
Code for variable resolution was pending to upgrade long time ago and best case would be to have variable information without dependency to debug information.
But not so fast: it is not always possible to do it straight away without assumptions and debug information. Integer types case is described bellow.
01 Jun 2018
|
fix
check PR301 for fix.
Kees van Dieren asked for solution about the issue he has with submitting app to apple store. Issue he had is following:
ITMS-90725: SDK Version Issue - In July 2018, iOS app updates submitted to the App Store will need to be built with the iOS ‘11.0’ SDK or later, included in Xcode [9.0] or later. Make sure to update Xcode for future app deliveries. After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.
After checking list of possible source of problems following poped up:
$ otool -l IosEsLauncher | grep -A 4 LC_VERSION_MIN_IPHONEOS
cmd LC_VERSION_MIN_IPHONEOS
cmdsize 16
version 8.0
sdk n/a
Load command 10
sdk n/a – come-on I had it with home made SDK on windows/linux and it should not happen on Mac but it there as well.
Root case
31 May 2018
|
target-framework
fix
Application with RoboVM target crashes with EXC_BAD_ACCESS, investigation shows that this happens on null pointer exception (NPE) that enclosed in corresponding try-catch block and shall not break away? Already covered in Tutorial: Crash Reporters and java exceptions.
Root case is same – signals.
Solution is same – use Signals.installSignals.
Post bellow describes how to deal with it and introduces changes into framework template.
30 May 2018
|
bro-gen
iOS 11.4 were generated using bro-gen. Check pr299 for details.
This update delivers following frameworks:
Related:
Tutorial: Using bro-gen to quick generate bindings
25 May 2018
|
fix
debugger
kotlin
idea
Previous debugger maintenance allowed to build kotlin code for debug and attach debugger for it. It was even possible to step-in into kotlin code. Absence of any kotlin experience didn’t allow to test it deeper. As it kept failing on simplest case, setting of breakpoint, with following message:
No executable code found at line XX in class YYYY
Root case of this – debug plugin and debugger considered JVM code as compiled from Java file and returned .java file extension everywhere.
The fix is bellow:
23 May 2018
|
fix
debugger
kotlin
Debugger maintenance.
History Robovm compiler crashes with Kotlin modules when compiling for debug #295
Fix PR296
Fixed:
- Crash when trying to debug application that contained Kotlin data modules (or any synthetics methods);
- Crash when starting debugger for binary that contains classes with error (e.g. class not found for dependencies)
Details: