P5music
unread,May 3, 2021, 2:27:19 AM5/3/21Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to CodenameOne Discussions
I compiled my app with maven and generated the iOS Xcode project.
When I run it into the iOS simulator (iPad 8th gen) I get this early error:
Thread 4: EXC_BAD_ACCESS (code=1, address=0x30)
at this instruction
return (*(struct obj__com_myapp_app_AppData*)__cn1T).com_myapp_app_AppData_appVersion;
Where only the .com_myapp_app_AppData_appVersion part is in red. The iOS build code is below.
It happens at
((AppData)appData.get()).appVersion
Inside AppJSONData class, that has a weak reference to the AppData instance.
That seems to be a CodenameOne internal problem, not of my app, because it does not happen either on the simulator, or on Android, or a real iOS device (32bit).
Am I right?
What’s happening. How can it be avoided? Should weak references be avoided? I think this one can be removed because it has the same app lifetime, but there are also others that are dynamic.
Also it can be something that is wrong in the CN1 maven system to be fixed.
Thanks in advance
#include "com_myapp_app_AppData.h"
#include "com_myapp_app_AppData.h"
#include "com_myapp_app_AppJSONData.h"
#include "java_io_IOException.h"
#include "java_lang_NullPointerException.h"
#include "java_lang_String.h"
#include "java_lang_ref_WeakReference.h"
const struct clazz *base_interfaces_for_com_myapp_app_AppData[] = {};
struct clazz class__com_myapp_app_AppData = {
DEBUG_GC_INIT &class__java_lang_Class, 999999, 0, 0, 0, 0, &__FINALIZER_com_myapp_app_AppData ,0 , &__GC_MARK_com_myapp_app_AppData, 0, cn1_class_id_com_myapp_app_AppData, "com.myapp.app.AppData", 0, 0, 0, JAVA_FALSE, &class__java_lang_Object, base_interfaces_for_com_myapp_app_AppData, 0, 0, 0
, 0, 0, 0, 0, 0, 0};
JAVA_OBJECT get_field_com_myapp_app_AppData_appVersion(JAVA_OBJECT __cn1T) {
return (*(struct obj__com_myapp_app_AppData*)__cn1T).com_myapp_app_AppData_appVersion;
}