Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 16 09:28
    MrStahlfelge edited #608
  • Nov 16 09:24
    MrStahlfelge edited #608
  • Nov 16 09:20
    MrStahlfelge opened #608
  • Nov 12 04:56
    Fumble-eric commented #597
  • Nov 10 15:43
    Spaio commented #597
  • Nov 10 15:42
    Spaio commented #597
  • Nov 09 08:55

    Tom-Ski on master

    * fixed: java.lang.RuntimeExcep… Merge pull request #607 from dk… (compare)

  • Nov 09 08:55
    Tom-Ski closed #607
  • Nov 09 08:26
    dkimitsa opened #607
  • Nov 08 10:14
    dkimitsa commented #597
  • Oct 28 20:56
    Fumble-eric commented #597
  • Oct 27 18:40
    avazquezdev commented #600
  • Oct 22 16:03
    dkimitsa commented #600
  • Oct 22 14:36

    Tom-Ski on master

    * codesign: forced "--generate-… Merge pull request #606 from dk… (compare)

  • Oct 22 14:36
    Tom-Ski closed #606
  • Oct 22 14:36
    Tom-Ski closed #600
  • Oct 22 14:12
    dkimitsa opened #606
  • Oct 22 10:52
    dkimitsa commented #600
  • Oct 22 10:48
    guillerodriguez commented #600
  • Oct 22 07:10
    bachtrong43 commented #600
Hotshot5000
@Hotshot5000
and that poll() call never returns
Benjamin Schulte
@MrStahlfelge
hi, question (again) regarding your implementation of Dispatcher.Main for coroutines: it does only work with iOS 14.5 bindings. Does that mean it is only working on iOS 14.5+ or were the bindings missing before and are available on older versions?
9 replies
Berstanio
@Berstanio
Hey,
is it possible to attach the XCode debugger (or similiar) to a MobiVM debug session? If yes, how?
yajirobe69
@yajirobe69

greetings all, back to updating my app after a few months hiatus, getting a crash with this line that's existed for years:
_writerInput = new AVAssetWriterInput(AVMediaType.Video, videoSettings);

but ONLY when AdHoc (not when deploying a development build via Eclipse)
weird?

as a result, I can only see the crash via the console in Xcode (for some reason it doesn't create a crash log):
java.lang.ExceptionInInitializerError at org.app.IOSMP4Encoder.beginEncoding(IOSMP4Encoder.java:92) at ... (line 92 is the code above)

at first I had compiled this and hadn't changed any dependencies from before, so I was using RoboVM 2.3.13, but now I've since upped it to 2.3.15-SNAPSHOT - the issue remains

any ideas appreciated!
happens on all devices, again - only AdHoc

7 replies
jkazma-logisk
@jkazma-logisk

I am getting this kind of error in my code

Fatal Exception: NSInternalInconsistencyException
Call must be made on main thread

How do I run code on the main thread?

jkazma-logisk
@jkazma-logisk
Nvm I think I found it
DispatchQueue.getMainQueue().async( () -> {//code})
Benjamin Schulte
@MrStahlfelge
is anyone using kotlin 1.5 with robovm? is it needed to set kotlin compiler to java 1.6?
Clyde Stubbs
@clydebarrow
Yes, I'm using 1.5.31, and I set the jvmTarget to 1.8.
The Robovm compiler understands Java 1.8 language constructs, it is just the library that lacks 1.8 classes.
Benjamin Schulte
@MrStahlfelge
yeah I know, but wasn't sure if Kotlin switches to 1.8 library methods. Ok great to hear that it works!
Andrew Brainin
@andrew-b_gitlab
Hi! I'm trying to install MobiVM plugin for IntelliJ IDEA. At the first I install 2.3.14 version but it looks doesn't support Mac M1. After that I have download and install the snapshot build 2.3.15. When create and run iOS Simulator I got error: [[INFO] 17:18:41.977 Compiling classes using 8 threads
[INFO] 17:18:41.977 Compiling com.android.org.bouncycastle.asn1.ASN1ApplicationSpecificParser (ios arm64-simulator release)
[ERROR] Couldn't compile app
java.lang.RuntimeException: No method void <init>() in class java.lang.StringBuilder
Please suggest how to fix it?
5 replies
Tim Molter
@timmolter_coinomi_gitlab
Hi. Force linking of org.apache.commons.codec.** is not working. During runtime an outdated version is running and throwing a java.lang.NoSuchMethodError for org.apache.commons.codec.binary.Base64#decode(String val), which if you look at the RoboVM java docs for Base64 (https://appdoc.app/artifact/org.robovm/robovm-rt/1.11.0/index.html?org/apache/commons/codec/binary/Base64.html) that method is indeed missing. How can I get this to work?
1 reply
LordTylus
@LordTylus
@dkimitsa could you provide some hints of how to properly include proguard into the robovm build? I am not planning to use it for shrinking the jar as robovm is pretty good at that on its own, but apparently proguard can replace Java 8 apis using streamsupport library, which maybe allows me to use some of the Java8 goodies even without libcore10
3 replies
gerds0n
@gerds0n
Hi guys, I am having an issue with requestReviewInScene(UIWindowScene). It opens up the review screen as intended, but after cancelling / closing it, the app is not receiving any inputs anymore. Anyone witnessed this before? Thanks!
3 replies
Benjamin Schulte
@MrStahlfelge
Any idea what could cause a crash in FinalizerDaemon.doFinalize? I get this crash occasionally just be clicking through different ViewControllers in my app. Crash report (sorry, had to screenshot):
grafik.png
Error is EXC_BAD_ACCESS
Benjamin Schulte
@MrStahlfelge
For me this looks like GC is happening and trying to remove an object that is already removed on objc. But how can I find out what object causes it?
Benjamin Schulte
@MrStahlfelge
okay, it looks like I found the code causing the problem. crashes got really bad. it seems to happen when I this code was launched:
fun UITextView.setHtmlText(html: String) {
    val attributedString = NSAttributedString(
        NSString(html.replace("\n", "<br>"))
            .toData(NSStringEncoding.Unicode),
        NSAttributedStringDocumentAttributes().apply {
            documentType = NSDocumentType.HTML
        })

    attributedText = attributedString
    dataDetectorTypes = UIDataDetectorTypes.Link
    //isSelectable = true
    isScrollEnabled = false
    isEditable = false
}
12 replies
Benjamin Schulte
@MrStahlfelge
Is there any way to add missing Java 8 functionality on project level? A lib I am using misses some methods from Java 8's java.util.Math class. It could be emulated with Java 7 features, but I guess my only way to do that is roll an own robovm-rt.jar?
3 replies
Dark Erow
@darkerow
image.png
Hello! Stopped showing the ATT window after updating ios 14-> 15 :( Help solve the gap please
Dark Erow
@darkerow
solved the problem, added a little delay before starting the ATT dialog
Demyan Kimitsa
@dkimitsa

hi,
there was a question about kryonet getting stuck on poll() some time ago.
Simple snippet to reproduce (using sources from master):

            Server server = new Server();
            server.start();
            server.bind(30003, 30003);

actually it hags not on poll, but due one thread can’t aquire synchronized() monitor.
this is due thin/fat mode of monitor implementation in RoboVM. Quick hack is forcing of inflation of monitor with hack. Server constructor to be enhanced with following:

public Server (int writeBufferSize, int objectBufferSize, Serialization serialization) {
                ….
        try {
            selector = Selector.open();
            inflateMonitorObject(selector);  // <<<<<
        } catch (IOException ex) {
            throw new RuntimeException("Error opening selector.", ex);
        }
    }
    private void inflateMonitorObject(Object o) {
        synchronized (o) {
            try {
                o.wait(1);
            } catch (InterruptedException ignored) {
            }
        }
    }
4 replies
@Hotshot5000 think it was you asking
Andreas Stefik
@AndreasStefik_twitter

Has anyone run into an issue where MobiVM will not accept graphics shaders past #version 100? Even though I'm using the flags I would expect to request the latest version (new EAGLContext(EAGLRenderingAPI.OpenGLES3);), if I request graphics shaders in the new version (#version 300 es), I get an error in MobiVM saying Error compiling Vertex shader:ERROR: 0:1: '' : version '300' is not supportedERROR: 0:1: '' : syntax error: #version.

It almost looks like I'm setting it up only for a previous version, but the flags look correct to me.

Tomski
@Tom-Ski
can you share the shaders @AndreasStefik_twitter ?
Andreas Stefik
@AndreasStefik_twitter

Sure thing. Here is the vertex shader that we're passing down through Mobivm:

version 300 es

in vec4 a_position;
in vec4 a_color;
in vec2 a_texCoord0;
uniform mat4 u_projTrans;
out vec4 v_color;
out vec2 v_texCoords;

void main()
{
v_color = a_color;
v_color.a = v_color.a (255.0/254.0);
v_texCoords = a_texCoord0;
gl_Position = u_projTrans
a_position;
}

ahh, it mangled that a bit, it's #version 300 es for the first line
Andreas Stefik
@AndreasStefik_twitter

The only other thing I could think of that "might" be related is that we're linking the wrong weak frameworks, although there isn't much documentation on that. Perhaps for newer versions of opel gl, you need a different link? This is our current weak framework section:

<weakFrameworks>
<framework>OpenGLES</framework>
<framework>UIKit</framework>
<framework>QuartzCore</framework>
<framework>CoreGraphics</framework>
<framework>OpenAL</framework>
<framework>AudioToolbox</framework>
<framework>AVFoundation</framework>
</weakFrameworks>

Tomski
@Tom-Ski
You're testing on device?
CAn you query glGetString(GL_SHADING_LANGUAGE_VERSION); ?
Andreas Stefik
@AndreasStefik_twitter
I'll get that. Good point. At the moment I'm testing on a simulator, but on device is next.
Tomski
@Tom-Ski
Thats probably why tbh
Andreas Stefik
@AndreasStefik_twitter
Oh really? You are thinking it defaults to a really old version of OpenGL on the simulator, but not on device?
I hope that's not it! It would mean we'd need to send in different shaders for simulators and devices, which would be a pain.
Tomski
@Tom-Ski
Usually it would just be a small adjustment for headers, so a one line change as a prefix
Andreas Stefik
@AndreasStefik_twitter

Ok it took longer than I thought, but I can confirm both the simulator and the device are using the old version of GLSL. Looking more at the docs and digging through it all, it does look like there are at least some reasons why that could be. Looks like the plist was referencing opengles-2, so I changed that to 3.

Do we know if the reference in weak framework, <framework>OpenGLES</framework>, is actually referencing the old version of OpenGl? I didn't immediately having any luck in providing numbers with it and I'm only seeing one framework from the console. I'm basically guessing at this point though.

Andreas Stefik
@AndreasStefik_twitter
I keep thinking I'm just linking in the wrong version, or sending a wrong flag or something. It does look like the correct context, EAGLContext(EAGLRenderingAPI.OpenGLES3);. Hmm ...
Tomski
@Tom-Ski
@AndreasStefik_twitter what are you using in the actual implementation?
As in the opengl binding
Andreas Stefik
@AndreasStefik_twitter

This is the C++ side of our binding. So far as I can tell, we're calling down to this: https://github.com/qorf/quorum-studio/blob/QuorumStudio4/QuorumStudio/External/Mobile/Source/ios/IOSGraphics.cpp

I can verify that's the case. That is called down from here: https://bitbucket.org/stefika/quorum-language/src/Quorum-10/Plugins/QuorumPlugins/src/main/java/plugins/quorum/Libraries/Game/Graphics/IOSGraphics.java

All of that seems to be getting setup in the display, which is here:

https://bitbucket.org/stefika/quorum-language/src/Quorum-10/Plugins/QuorumPlugins/src/main/java/plugins/quorum/Libraries/Game/IOSDisplay.java

How it works is a bit complicated, but that's the crux of it. It sure "seems like" if I'm calling down with EAGLContext and passing 3, then calling to 3 native, that that should work, but I suspect I'm missing something dumb.

Andreas Stefik
@AndreasStefik_twitter

Looks like it creates a fully fledged context, not null, which in LibGDX is how they detect whether OpenGLES3 is supported on a device. That passes, which tells me something has to be going on in the native build that you need to do in addition to just having the right includes (#include <OpenGLES/ES3/gl.h>

include <OpenGLES/ES3/glext.h>)

Not sure what that would be exactly, and my brain is mush, but progress ...

Tomski
@Tom-Ski
well if that native library is built and used
What are the outputs of glGetString(GL_VERSION), glGetString(GL_VENDOR), glGetString(GL_RENDERER), glGetString(GL_SHADING_LANGUAGE_VERSION)
해성 손
@sdringo_gitlab
스크린샷 2021-11-25 오후 4.12.50.png
@dkimitsa compile error after updating the xcode from 14 to 15. How can I solve this problem?
4 replies
Benjamin Schulte
@MrStahlfelge
short question. are the robovm ios builds launchable on m1 macs? not to confuse my question with using robovm compile or simulator on m1, asking about end users running the ios app on m1. I don't have a m1 to try myself and users that tried it reported an immediate crash. I wonder if that's my code's fault or if the build is not capable to run on m1
4 replies