by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 22 15:05
    dkimitsa commented #519
  • Sep 22 14:53
    singha8 commented #519
  • Sep 21 15:36
    dkimitsa commented #519
  • Sep 21 15:22
    singha8 opened #519
  • Sep 18 06:48
    dkimitsa ready_for_review #515
  • Sep 18 06:48
    dkimitsa edited #515
  • Sep 18 06:47
    dkimitsa edited #515
  • Sep 18 06:46
    dkimitsa synchronize #515
  • Sep 17 15:39
    hujasonx closed #518
  • Sep 17 15:39
    hujasonx commented #518
  • Sep 16 05:33
    hujasonx opened #518
  • Sep 12 22:20
    fgnm commented #517
  • Sep 12 19:47
    dkimitsa commented #517
  • Sep 12 19:13
    fgnm commented #517
  • Sep 12 18:42
    fgnm edited #517
  • Sep 12 18:27
    fgnm opened #517
  • Sep 07 09:37
    dkimitsa synchronize #515
  • Sep 06 18:37
    PokeMMO commented #514
  • Sep 06 18:32
    dkimitsa commented #514
  • Sep 06 14:19
    PokeMMO commented #514
ktheticdev
@ktheticdev
Oh! That worked.
Franz Benthin
@HEXDOX_gitlab

Hey guys, I have some problems creating an .ipa after adding a robopod (firebase/messaging). I can run my app without problems but when I try to create an .ipa with help of the IDEA plugin (2.3.10-SNAPSHOT) I get the error

Can't compile application due to previous compilation errors

There is no additional output, so I don't know what could be the problem here. Does anybody had similar problems or know how to fix this?

Demyan Kimitsa
@dkimitsa
@HEXDOX_gitlab check robovm tab and help-idea logs for extra messages
Franz Benthin
@HEXDOX_gitlab
@dkimitsa the above mentioned error message can be found under the RoboVM tab, unfortunately there is no more output. But as you described I looked into the idea logs. There were also not much to find except this:
2020-07-12 21:05:09,444 [ 330244]   INFO - ij.compiler.impl.CompileDriver - COMPILATION STARTED (BUILD PROCESS) 
2020-07-12 21:05:09,641 [ 330441]   INFO - j.compiler.server.BuildManager - Using preloaded build process to compile /Users/[PATH] 
2020-07-12 21:05:32,671 [ 353471]   INFO - lij.compiler.impl.CompilerUtil -     COMPILATION FINISHED (BUILD PROCESS); Errors: 1; warnings: 81 took 23231 ms: 0 min 23sec 
2020-07-12 21:05:32,672 [ 353472]   INFO - s.CompilerReferenceServiceBase - backward reference index reader doesn't exist 
2020-07-12 21:05:33,040 [ 353840]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stdout]: Build process started. Classpath: /Applications/IntelliJ IDEA CE.app/Contents/plugins/java/lib/jps-launcher.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/lib/tools.jar
There are lots of warnings :P
Don't think that this is helpful :/
Alex
@avazquezdev
Hi all! I'm looking at Flurry as an alternative to Firebase crashlytics. What's your opinion about Furry? Do you recommend it as an alternative?
Demyan Kimitsa
@dkimitsa
Hi,
AltPods were updated to v1.9.0-SNAPSHOTS :

New frameworks

Updated pods

Other changes

  • FIRCrashlytics.registerDefaultJavaUncaughtExceptionHandler that acts similar to same method in NSException but convert stack traces to FIRExceptionModel (check post for details)
(flurry not tested)
Guillermo Rodríguez
@guillerodriguez
This is great news
Not happy with Firebase, looking for alternatives
Ralph
@rdamiano
@dkimitsa true mvp, just saw Firebase Crashlytics needs a big do-over to get working with recent updates and up pops your robopods in my search, thank you - and in general shouts out to the crew keeping RoboVM running, yall should start a patreon or something i think many would contribute as thanks
Wheeler Games
@wheelergames_gitlab
@rdamiano - you shouldn't have asked.... https://www.patreon.com/dkimitsa
I'm so happy that you've added Firebase Messaging @dkimitsa - it was the one from Firebase left that I needed that you hadn't done, and I was trying to go it alone instead of asking :D
obigu
@obigu
Screenshot 2020-07-16 at 16.08.32.png
I've updated Facebook SDK to latest version (7.1.1) and I'm seeing several error log lines when running the app with this format:
[ERROR] 15:57:42.010 /Users/xxxx/dev/git/xxxxx/ios/robovm-build/tmp/iOS Device/ios/arm64/IOSLauncher.app/Frameworks/libswiftCore.dylib: signed Mach-O universal (armv7 armv7s arm64) [com.apple.dt.runtime.swiftCore]
I've noticed the .framework file has this structure
@dkimitsa The app doesn't crash but I'm not sure if I need to care
Demyan Kimitsa
@dkimitsa
@obigu hi
I believe these are outputs in robovm tab.
probably from codesign
what are the strings above this ?
23 replies
obigu
@obigu
Screenshot 2020-07-16 at 18.33.12.png
Subsurfer
@ErikGro

Hello there,
I have once again a question about jni OnLoad.
The workaround with manually onloading with static libraries worked fine.

But the framework I want to use/contribute will only use OnLoad with dynamic libraries.
Unfortunately when calling env->FindClass in OnLoad a ClassNotFoundExeception is thrown.
I got a reference to the environment in OnLoad via:
JNIEnv* env; vm->GetEnv((void**)&env, JNI_VERSION_1_4);

FindClass works fine in custom defined native functions, but in OnLoad it somehow does not find the class.
I created a demo app to show this behaviour. Here is the native code.

Demyan Kimitsa
@dkimitsa
@ErikGro thanks, "com/mycompany/demo/Main” is pure java class or some bro-wraper aroung native one ?
Subsurfer
@ErikGro
@dkimitsa Main class is a pure java class.
Demyan Kimitsa
@dkimitsa
@ErikGro root case of issue — framework is loaded by dyld at app start as result JNI_ OnLoad is resolved from your dylib/framework.
Java runtime runs own OnLoad from executable module if it is available but it is missing and your got resolved.
As result your JNI_OnLoad got called before VM is initialized.
There are few workaround possible all require changes to robovm.
As quick solution — I would create dummy JNI_Onload in static library, link it statically with app. As result VM initialization code will resolve it and call it.
Have not tested but should be working
(probably will require to add it to exported symbols)
Subsurfer
@ErikGro

@dkimitsa again huge thanks for your support!
I tried your approach and linked a helper OnLoad statically and added it to exported Symbols.
Did you meant that with dummy OnLoad?
The helper OnLoad gets called, but unfortunately the problems remains and a ClassNotFoundExeception gets thrown in OnLoad of the dynamic library.

Is my approach for linking dynamic library correct?
I copied it to the appilcation bundle via <resources> tag and intialized it via System.loadLibrary().

Demyan Kimitsa
@dkimitsa
@ErikGro leave dummy implementation empty and keep your code in library one. Cant check personaly as away from office this week
Demyan Kimitsa
@dkimitsa
@ErikGro played a bit and it fails when unwinding a stack. will debug
Demyan Kimitsa
@dkimitsa
@ErikGro found the root cause. Fix tonight
Subsurfer
@ErikGro
@dkimitsa That is great news! I am very grateful for you help, since I am out of ideas how to fix this
Demyan Kimitsa
@dkimitsa
@ErikGro have put fixes in MobiVM/robovm#507
root case of issues — while accessing library using Runtime.load or System.loadLibrary() top java frame on call stack was java.lang.Runtime class. It was loaded by boot class loader (BCL). JNI FindClass uses class loader of top available java class to load the class.
In case of BCL it can load only classes from BC list. User classes are not available there and ClassNotFound exception was thrown. The fix is to use systemClassLoader in this case (similar to case when JNI call is happening without any java frame in the call stack).
Demyan Kimitsa
@dkimitsa

@ErikGro

Is my approach for linking dynamic library correct?

this is still open. dylib should be signed — and this is currently missing. these should be referenced in libs section of robovm.xml and not as resource. last will cause lib to be automaticaly loaded by dyld. another moment is System.loadLibrary is limited to searching of libraries (is looking in not native lib location and only for dylibs). And in most case it will not find anything so the option today is to use Runtime.getRuntime().load() with full path. It is also the only option to load dynamic framework today.
will re-check these next week and probably another PR will go.

Subsurfer
@ErikGro
@dkimitsa Awesome, that works like a charm! Huge thanks!
In order to load a dynamic library with roboVM I copied it into the app via resources-tag and modified java.library.path at runtime, which is clearly not best practice:
System.setProperty("java.library.path", System.getProperty("java.library.path", "") + ":" + NSBundle.getMainBundle().getResourcePath());
So an extension for <lib>-Tag in robovm.xml for dynamic libraries would be neat.
ktheticdev
@ktheticdev
How do I set robovm.ipaArchs so that my app could be ran on iOS 13, iPhone 6S?
Daniel Thommes
@dthommes
@ktheticdev We wrote a short howto on building the IPA for publication. See here: https://docs.mobileui.dev/reference/build-with-gradle/#building-the-ios-app
Demyan Kimitsa
@dkimitsa
@dthommes small note to howto.
manual striping for simulator arches is not required as its a part of process (several versions already).
Daniel Thommes
@dthommes
@dkimitsa Ah, thanks. That's cool. Will add it in the next release of the docs.
ktheticdev
@ktheticdev
Well I've created an ipa again but it won't install on my iPhone
Cydia impactor doesn't work, dragging ipa onto device as well, and so diawi does not...
Maybe that's because of free development cert?
gerds0n
@gerds0n
Huhu guys, can I use CoreHaptics with MobiVM? Can't find the bindings.
gerds0n
@gerds0n
If you call libGDX vibrate, it calls AudioServices.playSystemSound(4095); on the iOS side... I need a shorter vibrate... how can I achieve this? The FeedbackGenerator options are different, too.
Demyan Kimitsa
@dkimitsa
@gerds0n core haptics is ios13 bindings and these are available in 2.3.10 snapshot
gerds0n
@gerds0n
thanks demyan! i will it out ;)
gerds0n
@gerds0n
*try
I added roboVMVersion = '2.3.10-SNAPSHOT' to build.gradle and <framework>CoreHaptics</framework> to robovm.xml... but still can't import CoreHaptic or CHHapticEngine or something similar. Did I miss something?
Demyan Kimitsa
@dkimitsa
@gerds0n if you build using idea/AS — you have to update plugin to 2.3.10-SNAPSHOT as well
gerds0n
@gerds0n
oh, thanks! but it's not on the website, yet.
Demyan Kimitsa
@dkimitsa
Its first in the list
gerds0n
@gerds0n
oops :X