在 Xcode Simulator 中运行 Codename One 应用程序 - 问题

2024-02-01

在 Xcode 模拟器中运行我的 CN1 应用程序(制作 6.5 英寸屏幕截图)时遇到问题。 顺便说一句,我的应用程序在 CN1 模拟器和 (iOS) 设备上运行良好,当应用程序通过电缆连接从设备上的 Xcode 运行时(用于分析)也是如此。 我使用的是 macOS Big Sur 11.4 和 Xcode 12.5。

Steps:

  1. 生成包含源代码的 CN1 iOS 调试服务器版本
  2. 下载并解压源代码,然后使用 Xcode 打开 dist 文件夹中的 .xcworkspace 文件
  3. 构建项目

这会产生 2 个紫色问题:从后台线程调用 UI API

-[UIViewController视图]

-[UIView 边界]

必须仅在主线程中使用。

以下是第一期的额外信息:

Thread 5
#0 0x0000000102e4d1f7 in Java_com_codename1_impl_ios_IOSImplementation_getDisplayWidthImpl at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/CodenameOne_GLViewController.m:1234
#1 0x000000010307e684 in com_codename1_impl_ios_IOSNative_getDisplayWidth__ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/IOSNative.m:375
#2 0x0000000103092084 in com_codename1_impl_ios_IOSNative_getDisplayWidth___R_int at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/IOSNative.m:8229
#3 0x0000000102e65184 in com_codename1_impl_ios_IOSImplementation_getDisplayWidth___R_int at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_impl_ios_IOSImplementation.m:1337
#4 0x0000000102e65c64 in virtual_com_codename1_impl_ios_IOSImplementation_getDisplayWidth___R_int at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_impl_ios_IOSImplementation.m:16729
#5 0x0000000102e94c24 in com_codename1_impl_ios_IOSImplementation_convertToPixels___int_boolean_R_int at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_impl_ios_IOSImplementation.m:8585
#6 0x0000000102ddacc4 in virtual_com_codename1_impl_CodenameOneImplementation_convertToPixels___int_boolean_R_int at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_impl_CodenameOneImplementation.m:14619
#7 0x00000001028c0f4c in com_codename1_ui_Display_convertToPixels___float_R_int at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_ui_Display.m:5746
#8 0x00000001029515c4 in com_codename1_ui_plaf_UIManager_resetThemeProps___java_util_Hashtable at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_ui_plaf_UIManager.m:692
#9 0x0000000102950a2c in com_codename1_ui_plaf_UIManager___INIT____ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_ui_plaf_UIManager.m:288
#10 0x00000001029657b0 in com_codename1_ui_plaf_UIManager_getInstance___R_com_codename1_ui_plaf_UIManager at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_ui_plaf_UIManager.m:308
#11 0x00000001028ab188 in com_codename1_ui_Display_mainEDTLoop__ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_ui_Display.m:2199
#12 0x0000000102e0bfdc in com_codename1_ui_RunnableWrapper_run__ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_ui_RunnableWrapper.m:467
#13 0x0000000102d0e558 in virtual_java_lang_Runnable_run__ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/java_lang_Runnable.m:60
#14 0x0000000102c5bea8 in com_codename1_impl_CodenameOneThread_run__ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_impl_CodenameOneThread.m:384
#15 0x0000000102d0e558 in virtual_java_lang_Runnable_run__ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/java_lang_Runnable.m:60
#16 0x0000000102bc70c4 in java_lang_Thread_runImpl___long at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/java_lang_Thread.m:254
#17 0x0000000102b5fee4 in threadRunner at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/nativeMethods.m:1337
#18 0x00000001bca3ec8c in _pthread_start

我的理解是,这与从主线程调用 getDisplayWidth() 有关。我检查了自己的调用,据我所知,我只在 EDT 上调用此函数。

无论如何运行应用程序给出构建成功,然后是很多警告(“cyclone”不是该目标可识别的处理器(忽略处理器)),最后是运行时错误:EXC_BAD_ACCESS,堆栈跟踪如下。我的应用程序显示启动屏幕,然后初始化正常,然后在显示主屏幕之前崩溃。堆栈跟踪:

Thread 2 Queue : com.apple.opengl.cvmDoWork (serial)
#0 0x00000001a88848b0 in cvmsServerElementBuild ()
#1 0x00000001a8880cd0 in cvms_element_build_from_source ()
#2 0x00000001a8877680 in cvm_deferred_build_modular(void*) ()
#3 0x0000000105d55884 in _dispatch_client_callout ()
#4 0x0000000105d5c8dc in _dispatch_lane_serial_drain ()
#5 0x0000000105d5d58c in _dispatch_lane_invoke ()
#6 0x0000000105d693e4 in _dispatch_workloop_worker_thread ()
#7 0x00000001bca3b028 in _pthread_wqthread ()
Enqueued from com.apple.main-thread (Thread 1) Queue : com.apple.main-thread (serial)
#0 0x0000000105d59570 in _dispatch_async_f_slow ()
#1 0x0000000107da9a84 in gleSetVPTransformFuncAll ()
#2 0x0000000107da4d24 in gleLLVMVecPrimMultiRender ()
#3 0x0000000107d4651c in glDrawArrays_IMM_ES2Exec ()
#4 0x0000000104f717f4 in -[DrawString execute] at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/DrawString.m:250
#5 0x0000000104621128 in -[ExecutableOp executeWithClipping] at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/ExecutableOp.m:60
#6 0x0000000104a563a4 in -[CodenameOne_GLViewController drawFrame:] at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/CodenameOne_GLViewController.m:2601
#7 0x0000000104a56f5c in __61-[CodenameOne_GLViewController flushBuffer:x:y:width:height:]_block_invoke at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/CodenameOne_GLViewController.m:2872
#8 0x0000000105d55884 in _dispatch_client_callout ()
#9 0x0000000105d64f8c in _dispatch_async_and_wait_invoke ()
#10 0x0000000105d55884 in _dispatch_client_callout ()
#11 0x0000000105d63f84 in _dispatch_main_queue_callback_4CF ()
#12 0x0000000180365d1c in __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ ()
#13 0x000000018036025c in __CFRunLoopRun ()
#14 0x000000018035f3bc in CFRunLoopRunSpecific ()
#15 0x000000018afdd70c in GSEventRunModal ()
#16 0x00000001843f03d0 in -[UIApplication _run] ()
#17 0x00000001843f51ac in UIApplicationMain ()
#18 0x0000000104c832fc in com_codename1_impl_ios_IOSNative_initVM__ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/IOSNative.m:348
#19 0x0000000104a694dc in com_codename1_impl_ios_IOSImplementation_postInit__ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_impl_ios_IOSImplementation.m:1262
#20 0x00000001049df89c in virtual_com_codename1_impl_CodenameOneImplementation_postInit__ at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_impl_CodenameOneImplementation.m:14664
#21 0x00000001044a6c20 in com_codename1_ui_Display_init___java_lang_Object at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_codename1_ui_Display.m:1273
#22 0x00000001046122ec in com_xx_yy_MainStub_main___java_lang_String_1ARRAY at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_xx_yy_MainStub.m:282
#23 0x0000000104612348 in main at /Users/MyName/Documents/Xcode/MyApp/dist/Main-src/com_xx_yy_MainStub.m:291
#24 0x0000000180224554 in start ()

偶然间我发现它是无论如何都可以在 Xcode 模拟器中运行应用程序。发生上述崩溃后,停止在 Xcode 中运行该应用程序。然后模拟器会显示“桌面”,第 2 页上有我的应用程序的图标。当我点击该应用程序成功运行!

然而,它的速度非常慢,而且动画也很不流畅。最重要的是,该应用程序在不同情况下经常挂起,有时在几秒钟后,有时在几分钟后。用户界面不再响应,但例如屏幕上的时钟继续运行。在这些情况下没有可用的堆栈跟踪。

任何关于如何在 Xcode 模拟器中正确运行 CN1 应用程序的提示都值得赞赏。是否有相关CN1代码需要更新?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Xcode Simulator 中运行 Codename One 应用程序 - 问题 的相关文章

随机推荐

  • 为 NSTableView 单元格绘制带有边框和背景的文本

    我有一个基于单元格的表格视图 我想在该表格视图中显示某种标签 最好不必使用基于视图的表格视图 是否有一种优雅的方式来实现类似此处示例 HTML 的效果 最好还具有背景颜色 如果您想坚持使用基于单元格的表格视图 您可以子类化NSCell并覆盖
  • 如何使用Google脚本中的URL参数过滤Google表格列中的数据?

    我正在尝试 Google 脚本 我想根据关键字参数显示数据 稍后将 C 列称为数据过滤器 它将根据参数关键字中搜索的内容进行显示 例如 在我之前的项目中 我有一个参数作为分页 page 1 limit 10 现在我有一个新问题要解决 即搜索
  • 当用户关闭基于 django2.0 的网站上的选项卡或浏览器时,如何强制注销用户

    我使用 Django 的内置登录注销功能 使用 Django 身份验证 这是用于登录的以下 url 模式 网址 py from django contrib import admin from django urls import path
  • 当存在不匹配记录时连接两个表

    我正在尝试使用 1 个 sql 语句来生成我想要的结果 我有 2 个名为 order 和customers 的表 并尝试使用这样的查询 select a b customers name from order a customers b w
  • css :hover 伪类不起作用

    我有一个CSS hover不产生任何结果的伪类 我正在摆弄一些图像库代码 但我设法得到了这个不起作用的代码片段 我不明白为什么 这里关于大小的一些更奇怪的 CSS 规则是因为这些 div 通常包含图像 为了简单起见 我删除了图像 但保留了规
  • 自制方法装饰器删除所有元数据,我该如何解决它?

    我使用 NestJS 和 Nestjs swagger 模块来获取简单的 api 文档 但我遇到了麻烦 因为我需要验证服务的响应 这就是我创建自制方法装饰器的原因 但是当我使用它时 我遇到了很大的麻烦 来自另一个装饰器的所有元数据都丢失了
  • 如何用htaccess重写url?

    我必须建立一个银行搜索网站 我想像下面的链接一样重写网址 bank https bankifsccode com 请参阅上面的链接 在此 当您选择银行和所有详细信息时 网址也会发生变化 我想在 codeigniter 网站中使用相同的 ur
  • $_GET、$_POST 和 $_REQUEST 未填充

    我继承了一台运行着xitami pro服务器的XP机器并安装了PHP 5 2 17 因为我认为我可能需要VC6版本 PHP 的工作方式和phpinfo显示应有的样子 当我做www domain com test php x y z test
  • Keras 在调用 train_on_batch、fit 等时使用过多的 GPU 内存

    我一直在搞乱 Keras 到目前为止我很喜欢它 在使用相当深的网络时 我一直遇到一个大问题 当调用 model train on batch 或 model fit 等时 Keras 分配的 GPU 内存明显多于模型本身所需的内存 这并不是
  • Android RecyclerView:将布局文件 LIST 更改为 GRID onOptionItemSelected

    我正在开发一个用于在线购物的 Android 应用程序 我使用以下命令创建了产品列表视图RecyclerView 因为我想改变观点选择选项菜单项时 我创建了以下adapter named ProductAdapter 因为我已经实现了用于更
  • 我可以使用 Access VBA 来确定表是否具有数据宏吗?

    有没有办法通过 VBA 确定 Access 表是否包含数据宏 我有数据宏most我的表 但是如果我的代码遇到没有它的表 则会失败 我没有收到错误消息 相反 代码会继续运行 就像处于无限循环中一样 但我必须强制 Access 退出才能逃脱 具
  • 在页面之间导航时显示加载程序 - PWA

    我有一个基于 PHP 的网站 我用过service workers and manifest json将网站转换为PWA 现在 当我从主屏幕启动 PWA 时 它可以像应用程序一样正常工作 但是 问题在于 由于 PWA 不显示浏览器地址栏 用
  • 如何生成一个范围内的随机数但排除一些随机数?

    如何生成一个范围内的随机数但排除一些随机数 而不继续生成并检查生成的数字是否是我想要排除的数字之一 一种无需每次重新生成随机数的可能解决方案是使用以下算法 public int getRandomWithExclusion Random r
  • 在 Django/Gunicorn 应用程序中拥有持久(非守护进程)线程有危险吗?

    我通常不需要在 Django 应用程序级编程 即视图 中显式使用线程 但我注意到一个看起来很有趣的库 它通过线程处理服务器端分析 在 Django 视图中 您将使用他们的 Python 客户端在单独的 非守护进程 线程中将 HTTP POS
  • VBA 中文件夹中文件名的排序列表?

    有没有办法在VBA中获取文件夹的文件名排序列表 到目前为止 我到达了 Dim fso As Object Dim objFolder As Object Dim objFileList As Object Dim vFile As Vari
  • 使用 pythongremlin 删除 AWS Neptune 上的所有边

    我正在使用 gremlinpython 版本 3 3 2 和 AWS NEPTUNE 我尝试删除所有边 也尝试过顶点 但每次都失败 g E drop iterate 给我 gremlin python driver protocol Gre
  • 使用 C# 创建 Excel 表格的最简单方法是什么?

    我有一些表格数据 我想将其转换为 Excel 表格 可用软件 NET 4 C Excel 2010 使用Excel API即可 我不想使用任何第三方库 有关数据的信息 几百万行 5列 全是字符串 非常简单且规则的表结构 在我的脚本中 我当前
  • 将文件添加到exe然后解压

    我正在制作一个Windows安装程序 我需要将一些文件放入我的程序中 然后在程序运行时将它们解压到某个文件夹中 假设我要将3个文件放入单个exe文件中 非常感谢您提前提供的帮助 爱你们 Stackoverflow 会员 在这里阅读 http
  • Ember.js 路由:匹配 url 结尾

    我需要将路径与 URL 相匹配 路径必须是给定模式之后 URL 的末尾 但我做不到 Ember js 总是以与下一个斜杠的匹配结束 var router Ember Router extend location history enable
  • 在 Xcode Simulator 中运行 Codename One 应用程序 - 问题

    在 Xcode 模拟器中运行我的 CN1 应用程序 制作 6 5 英寸屏幕截图 时遇到问题 顺便说一句 我的应用程序在 CN1 模拟器和 iOS 设备上运行良好 当应用程序通过电缆连接从设备上的 Xcode 运行时 用于分析 也是如此 我使