Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
questions on apple & gideros — Gideros Forum

questions on apple & gideros

Hi, I just found a friend who can lend me a mac to run the latest xcode and I'd like to try to publish on the apple store.

I never did that yet therefore I think I will need to learn a bunch of stuff but I have a question:

Is there any way to test a gideros app on a real iphone/ipad before paying for their greedy subscription? o:)

I guess that gideros player should work as it does on android, but as I understood you can't sign apps unless you have a developer subscription.. so for starters you have to subscribe to apple developer program. Am I right?

Is the xcode iphone simulator reliable enough as a "plan B" while thinking if I could gain at least enough to pay me the apple developer subscription?

thank you

Comments

  • hgy29hgy29 Maintainer
    Based on my experience, you can't launch anything on a real device nor a simulator if you don't own at least one target device in that faimily, and of course you can't sign them (which is also required for testing) if you don't have an apple subscription.

    So basically you have to subscribe to apple developper program, and you have to register a physical device to your account to be able to launch your code even in a simulator (at least it used to be that way).
  • hgy29 said:


    So basically you have to subscribe to apple developper program, and you have to register a physical device to your account to be able to launch your code even in a simulator (at least it used to be that way).

    I managed to run a gideros player (signed to run locally) inside an iphone simulator, so I guess apps might work too without subscription


    imageimage
    Screenshot 2023-09-28 at 19.51.50.png
    1147 x 960 - 244K
    Screenshot 2023-09-28 at 20.00.44.png
    1295 x 963 - 684K

    Likes: MoKaLux, saeys

    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    That’s indeed a very good sign.
  • piepie Member
    edited September 2023
    I tried building an ios player with lsqlite, luafs, require and json plugins (which I need for my app) and evertything gets along well, but as soon as I add imgui I get this error and the build fails:

    ld: Undefined symbols:
      ImGui::BeginTable(char const*, int, int, ImVec2 const&, float), referenced from:
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowWidgets() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowWidgets() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowLayout() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowLayout() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ...
      ImGui::EndColumns(), referenced from:
          ImGui::End() in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::NextColumn(), referenced from:
          ShowDemoWindowLayout() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ...
      ImGui::TableEndRow(ImGuiTable*), referenced from:
          ImGuiListClipper::Begin(int, float) in libimgui.ios.a[x86_64][8](imgui.o)
          ImGuiListClipper_SeekCursorForItem(ImGuiListClipper*, int) in libimgui.ios.a[x86_64][8](imgui.o)
          ImGuiListClipper::Step() in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::TableHeader(char const*), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::TableHeader(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::TableNextRow(int, float), referenced from:
          ShowDemoWindowWidgets() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ...
      ImGui::DebugNodeTable(ImGuiTable*), referenced from:
          ImGui::ShowMetricsWindow(bool*) in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::GetColumnIndex(), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::GetColumnIndex(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::GetColumnWidth(int), referenced from:
          ShowDemoWindowLayout() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::GetColumnWidth(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::SetColumnWidth(int, float), referenced from:
          ImGui_impl::SetColumnWidth(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::GetColumnOffset(int), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::GetColumnOffset(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::GetColumnsCount(), referenced from:
          ImGui_impl::GetColumnsCount(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::SetColumnOffset(int, float), referenced from:
          ImGui_impl::SetColumnOffset(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::TableHeadersRow(), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ...
      ImGui::TableNextColumn(), referenced from:
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ...
      ImGui::TableSetBgColor(int, unsigned int, int), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::TableSetBgColor(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
          ImGui::ShowStackToolWindow(bool*) in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::TableGetRowIndex(), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::TableGetRowIndex(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::TableSetupColumn(char const*, int, float, unsigned int), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ...
      ImGui::TableGetSortSpecs(), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::TableGetSortSpecs(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::TableGetColumnName(int), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::TableGetColumnName(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::TableGetColumnCount(), referenced from:
          ImGui_impl::TableGetColumnCount(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::TableGetColumnFlags(int), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::TableGetColumnFlags(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::TableGetColumnIndex(), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::TableGetColumnIndex(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::TableSetColumnIndex(int), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ...
      ImGui::PopColumnsBackground(), referenced from:
          ImGui::SeparatorEx(int, float) in libimgui.ios.a[x86_64][7](imgui_widgets.o)
          ImGui::Selectable(char const*, bool, int, ImVec2 const&) in libimgui.ios.a[x86_64][7](imgui_widgets.o)
      ImGui::PushColumnsBackground(), referenced from:
          ImGui::SeparatorEx(int, float) in libimgui.ios.a[x86_64][7](imgui_widgets.o)
          ImGui::Selectable(char const*, bool, int, ImVec2 const&) in libimgui.ios.a[x86_64][7](imgui_widgets.o)
      ImGui::TableSetColumnEnabled(int, bool), referenced from:
          ImGui_impl::TableSetColumnEnabled(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::DebugNodeTableSettings(ImGuiTableSettings*), referenced from:
          ImGui::ShowMetricsWindow(bool*) in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::TableGcCompactSettings(), referenced from:
          ImGui::GcCompactTransientMiscBuffers() in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::TableSetupScrollFreeze(int, int), referenced from:
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui_impl::TableSetupScrollFreeze(lua_State*) in libimgui.ios.a[x86_64][6](imgui_bindings.o)
      ImGui::GetColumnOffsetFromNorm(ImGuiOldColumns const*, float), referenced from:
          ImGui::DebugNodeColumns(ImGuiOldColumns*) in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::TablePopBackgroundChannel(), referenced from:
          ImGui::Selectable(char const*, bool, int, ImVec2 const&) in libimgui.ios.a[x86_64][7](imgui_widgets.o)
      ImGui::TablePushBackgroundChannel(), referenced from:
          ImGui::Selectable(char const*, bool, int, ImVec2 const&) in libimgui.ios.a[x86_64][7](imgui_widgets.o)
      ImGui::TableGcCompactTransientBuffers(ImGuiTable*), referenced from:
          ImGui::NewFrame() in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::TableGcCompactTransientBuffers(ImGuiTableTempData*), referenced from:
          ImGui::NewFrame() in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::TableSettingsAddSettingsHandler(), referenced from:
          ImGui::Initialize() in libimgui.ios.a[x86_64][8](imgui.o)
      ImGui::Columns(int, char const*, bool), referenced from:
          ShowDemoWindowLayout() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowLayout() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ...
      ImGui::EndTable(), referenced from:
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ImGui::ShowDemoWindow(bool*) in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowWidgets() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowWidgets() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowLayout() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowLayout() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ShowDemoWindowTables() in libimgui.ios.a[x86_64][5](imgui_demo.o)
          ...


    Do you think there is an easy-fix for that? :blush:

  • hgy29hgy29 Maintainer
    edited September 2023
    Looks like imgui_table.cpp isn't compiled in imgui plugin on iOS. I'll fix that
    EDIT: Done https://github.com/gideros/gideros/commit/691937522bb7a88267c6eec27c5d379ff23e2b69

    Likes: pie, MoKaLux

    +1 -1 (+2 / -0 )Share on Facebook
  • piepie Member
    edited September 2023
    Thank you a lot! I am ready to test it as soon as you are :)
  • piepie Member
    edited September 2023
    hgy29 said:

    Looks like imgui_table.cpp isn't compiled in imgui plugin on iOS. I'll fix that
    EDIT: Done https://github.com/gideros/gideros/commit/691937522bb7a88267c6eec27c5d379ff23e2b69

    Thank you that was fast!

    can I ask you to build it too if/when you have time? :#


    P.S. same error on MacOS building: I don't know if your fix should have already fixed that too.
  • hgy29hgy29 Maintainer
    edited September 2023
    Yes, here is a replacement library for ios, to put in All Plugins/imgui/bin/iOS (unzipped):
    http://apps.giderosmobile.com/pre/libimgui.ios.zip

    Likes: pie, MoKaLux

    +1 -1 (+2 / -0 )Share on Facebook
  • Thank you a lot! Building iOS player now succeeds, the same issue persists in MACOSX build, but of course I replaced ios plugin only :smiley:

    My app using imgui get a SIGABRT error that crashes the iphone simulator due to (I'd say) this output:
    _validateReplaceRegion:205: failed assertion `Replace Region Validation (origin.y + size.height)(512) must be <= height(64). '
    Every "basic" Demo I tried runs ok

    Demos using shaders might have some issues:
    Horse Demo
     
     
    XCODE output HORSE DEMO
    54.539 HALC_ProxyIOContext.cpp:1.329 HALC_ProxyIOContext::IOWorkLoop: skipping cycle due to overload
    [gideros] starting render thread.
    METAL:Apple iOS simulator GPU
     
    METAL:Apple iOS simulator GPU
     
    METAL:Apple iOS simulator GPU
     
    METAL:Apple iOS simulator GPU
     
    libpng warning: iCCP: known incorrect sRGB profile
    libpng warning: iCCP: known incorrect sRGB profile
    libpng warning: iCCP: known incorrect sRGB profile
    METAL:Apple iOS simulator GPU
     
    METAL:Apple iOS simulator GPU
     
    fopen failed for data file: errno = 2 (No such file or directory)
    Errors found! Invalidating cache...
    Compiler failed to build request
    *callFile* stack NOT ok begin:1 end:6 delta:-1
    *loadFile* stack NOT ok begin:0 end:1 delta:0
    Error compiling vertex shader:
    Error Domain=MTLLibraryErrorDomain Code=3 "program_source:1:1: error: unknown type name 'attribute'
    attribute vec4 POSITION0;
    ^
    program_source:1:15: error: expected ';' after top level declarator
    attribute vec4 POSITION0;
                  ^
                  ;
    program_source:5:1: error: unknown type name 'attribute'
    attribute vec3 NORMAL0;
    ^
    program_source:5:15: error: expected ';' after top level declarator
    attribute vec3 NORMAL0;
                  ^
                  ;
    program_source:7:1: error: unknown type name 'uniform'
    uniform mat4 g_MVPMatrix;
    ^
    program_source:7:13: error: expected ';' after top level declarator
    uniform mat4 g_MVPMatrix;
                ^
                ;
    program_source:8:1: error: unknown type name 'uniform'
    uniform mat4 g_MVMatrix;
    ^
    program_source:8:13: error: expected ';' after top level declarator
    uniform mat4 g_MVMatrix;
                ^
                ;
    program_source:9:1: error: unknown type name 'uniform'
    uniform mat4 g_NMatrix;
    ^
    program_source:9:13: error: expected ';' a
    METAL:Apple iOS simulator GPU




    3D Particles Demo
    3D Particles DEMO xcode output
     
    program_source:36:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
      if (((xpl==0.0)))
            ~~~^~~~~
    program_source:36:12: note: remove extraneous parentheses around the comparison to silence this warning
      if (((xpl==0.0)))
          ~    ^     ~
    program_source:36:12: note: use '=' to turn this equality comparison into an assignment
      if (((xpl==0.0)))
               ^~
               =
    Warning: Compilation succeeded with: 
     
    program_source:20:23: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
      if ((vert.fStepRot.x==0.0))
           ~~~~~~~~~~~~~~~^~~~~
    program_source:20:23: note: remove extraneous parentheses around the comparison to silence this warning
      if ((vert.fStepRot.x==0.0))
          ~               ^    ~
    program_source:20:23: note: use '=' to turn this equality comparison into an assignment
      if ((vert.fStepRot.x==0.0))
                          ^~
                          =
    Warning: Compilation succeeded with: 
     
    program_source:36:12: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
      if (((xpl==0.0)))
            ~~~^~~~~
    program_source:36:12: note: remove extraneous parentheses around the comparison to silence this warning
      if (((xpl==0.0)))
          ~    ^     ~
    program_source:36:12: note: use '=' to turn this equality comparison into an assignment
      if (((xpl==0.0)))
               ^~
               =
    Warning: Compilation succeeded with: 
     
    program_source:20:23: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
      if ((vert.fStepRot.x==0.0))
           ~~~~~~~~~~~~~~~^~~~~
    program_source:20:23: note: remove extraneous parentheses around the comparison to silence this warning
      if ((vert.fStepRot.x==0.0))
          ~               ^    ~
    program_source:20:23: note: use '=' to turn this equality comparison into an assignment
      if ((vert.fStepRot.x==0.0))
                          ^~
                          =
    Execution of the command buffer was aborted due to an error during execution. The operation couldn’t be completed. (MTLCommandBufferErrorDomain error 2.)
    Execution of the command buffer was aborted due to an error during execution. The operation couldn’t be completed. (MTLCommandBufferErrorDomain error 2.)
    Execution of the command buffer was aborted due to an error during execution. The operation couldn’t be completed. (MTLCommandBufferErrorDomain error 4.)
    Execution of the command buffer was aborted due to an error during execution. The operation couldn’t be completed. (MTLCommandBufferErrorDomain error 4.)
    XPC_ERROR_CONNECTION_INTERRUPTED



    Hope this helps spotting some bugs, I am available for testing
    Thank you again!

  • hgy29hgy29 Maintainer
    Yes, horse demo won’t work on iOS, because it only uses a glsl shader, while iOS expects Metal shader (MSL). Having to write shaders for all three languages (GLSL,MSL, HLSL) was what made me invent lua shaders, but horse demo was made long before that.

    Lua shaders generate warnings though, as you see in particles demo, but those are just warnings.

    Likes: MoKaLux, pie

    +1 -1 (+2 / -0 )Share on Facebook
  • piepie Member
    edited October 2023
    Do you have an idea about this crash? I have this one running an "imgui project" in gideros player through the iOS simulator:

    * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
        frame #0: 0x00000001075931e2 libsystem_kernel.dylib`__pthread_kill + 10
        frame #1: 0x0000000106e77ee6 libsystem_pthread.dylib`pthread_kill + 263
        frame #2: 0x00007ff800140d60 libsystem_c.dylib`abort + 133
        frame #3: 0x00007ff800140046 libsystem_c.dylib`__assert_rtn + 314
        frame #4: 0x00007ff812d5ca01 Metal`MTLReportFailure.cold.1 + 41
        frame #5: 0x00007ff812d354a9 Metal`MTLReportFailure + 513
        frame #6: 0x00007ff812d28dda Metal`_MTLMessageContextEnd + 1293
        frame #7: 0x00007ff826cce472 MetalTools`_validateReplaceRegion(MTLDebugTexture*, MTLOrigin, MTLSize, unsigned long, unsigned long, void const*, unsigned long, bool, unsigned long, unsigned long) + 1454
        frame #8: 0x00007ff826ccec89 MetalTools`-[MTLDebugTexture replaceRegion:mipmapLevel:withBytes:bytesPerRow:] + 83
        frame #9: 0x000000010826c0a7 GPUToolsCapture`-[CaptureMTLTexture replaceRegion:mipmapLevel:withBytes:bytesPerRow:] + 119
      * frame #10: 0x0000000106878e67 IOSplayer iOS`metalShaderTexture::updateData(this=<unavailable>, format=<unavailable>, packing=<unavailable>, width=<unavailable>, height=<unavailable>, data=<unavailable>, wrap=WRAP_CLAMP, filtering=FILT_LINEAR) at metalShaderTexture.mm:128:6 [opt]
        frame #11: 0x00000001067cbc63 IOSplayer iOS`g_private::TextureManager::update(this=0x0000600003524a50, gid=1, width=512, height=512, format=<unavailable>, type=<unavailable>, wrap=1, filter=1, pixels=0x00000001400e8000) at gtexture.cpp:257:30 [opt]
        frame #12: 0x00000001067cbbb5 IOSplayer iOS`gtexture_update(gid=<unavailable>, width=<unavailable>, height=<unavailable>, format=<unavailable>, type=<unavailable>, wrap=<unavailable>, filter=1, pixels=0x00000001400e8000) at gtexture.cpp:778:23 [opt]
        frame #13: 0x0000000106760e8f IOSplayer iOS`ImGui_impl::FontAtlas_Build(L=<unavailable>) at imgui_bindings.cpp:11057:2 [opt]
        frame #14: 0x00000001069e8ebe IOSplayer iOS`void luau_execute<false>(L=0x000000012805f008) at lvmexecute.cpp:1031:29 [opt]
        frame #15: 0x00000001069e19a3 IOSplayer iOS`luau_execute(L=<unavailable>) at lvmexecute.cpp:3315:9 [opt] [artificial]
        frame #16: 0x00000001069b7d07 IOSplayer iOS`luaD_call(L=0x000000012805f008, func=0x000000012f8d7880, nResults=0) at ldo.cpp:250:9 [opt]
        frame #17: 0x00000001069cc294 IOSplayer iOS`lua_call(L=<unavailable>, nargs=0, nresults=<unavailable>) at lapi.cpp:997:5 [opt]
        frame #18: 0x00000001068ff54c IOSplayer iOS`callFile(L=0x000000012805f008) at luaapplication.cpp:1598:2 [opt]
        frame #19: 0x00000001069ed2ea IOSplayer iOS`luau_precall(L=0x000000012805f008, func=0x000000012f8d7868, nresults=0) at lvmexecute.cpp:3363:17 [opt]
        frame #20: 0x00000001069b7cd6 IOSplayer iOS`luaD_call(L=0x000000012805f008, func=0x000000012f8d7868, nResults=0) at ldo.cpp:242:9 [opt]
        frame #21: 0x00000001069b7968 IOSplayer iOS`luaD_rawrunprotected(L=<unavailable>, f=<unavailable>, ud=<unavailable>) at ldo.cpp:123:9 [opt]
        frame #22: 0x00000001069b81b1 IOSplayer iOS`luaD_pcall(L=<unavailable>, func=<unavailable>, u=<unavailable>, old_top=96, ef=<unavailable>) at ldo.cpp:550:18 [opt]
        frame #23: 0x00000001069cc351 IOSplayer iOS`lua_pcall(L=0x000000012805f008, nargs=1, nresults=0, errfunc=3) at lapi.cpp:1033:18 [opt]
        frame #24: 0x000000010695d91b IOSplayer iOS`lua_pcall_traceback(L=0x000000012805f008, nargs=1, nresults=0, unused=0) at luautil.cpp:204:15 [opt]
        frame #25: 0x00000001068ff3ef IOSplayer iOS`LuaApplication::loadFile(this=0x000060000300d4d0, filename=<unavailable>, status=0x00007ff7b980e3b8) at luaapplication.cpp:1634:13 [opt]
        frame #26: 0x000000010692da94 IOSplayer iOS`ApplicationManager::play(this=0x0000600003766880, luafiles=size=6) at giderosapi.mm:1285:23 [opt]
        frame #27: 0x000000010692cf3d IOSplayer iOS`NetworkManager::play(this=0x000060000290b640, data=size=144) at giderosapi.mm:452:16 [opt]
        frame #28: 0x000000010692c64f IOSplayer iOS`NetworkManager::tick(this=0x000060000290b640) at giderosapi.mm:383:6 [opt]
        frame #29: 0x000000010692f64e IOSplayer iOS`ApplicationManager::drawFrame(this=0x0000600003766880, force=false) at giderosapi.mm:1019:20 [opt]
        frame #30: 0x00000001066f4e08 IOSplayer iOS`-[ViewController drawFrame](self=0x0000000128b081a0, _cmd="drawFrame") at ViewController.m:124:5
        frame #31: 0x00007ff808e13f2d QuartzCore`CA::Display::DisplayLinkItem::dispatch_(CA::SignPost::Interval<(CA::SignPost::CAEventCode)835322056>&) + 45
        frame #32: 0x00007ff808e152c6 QuartzCore`CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 1016
        frame #33: 0x00007ff808e14dfd QuartzCore`CA::Display::DisplayLink::callback(_CADisplayTimer*, unsigned long long, unsigned long long, unsigned long long, bool, void*) + 639
        frame #34: 0x00007ff808f469db QuartzCore`display_timer_callback(__CFMachPort*, void*, long, void*) + 439
        frame #35: 0x00007ff8003b399f CoreFoundation`__CFMachPortPerform + 151
        frame #36: 0x00007ff8003ea4d0 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
        frame #37: 0x00007ff8003e9a66 CoreFoundation`__CFRunLoopDoSource1 + 532
        frame #38: 0x00007ff8003e427c CoreFoundation`__CFRunLoopRun + 2704
        frame #39: 0x00007ff8003e3409 CoreFoundation`CFRunLoopRunSpecific + 557
        frame #40: 0x00007ff80a650187 GraphicsServices`GSEventRunModal + 137
        frame #41: 0x00000001097903a2 UIKitCore`-[UIApplication _run] + 972
        frame #42: 0x0000000109794e10 UIKitCore`UIApplicationMain + 123
        frame #43: 0x00000001066f1906 IOSplayer iOS`main(argc=1, argv=0x00007ff7b9810a90) at main.m:12:19
        frame #44: 0x0000000106e9d3ee dyld_sim`start_sim + 10
        frame #45: 0x000000010e36941f dyld`start + 1903


    P.S. for the records, I managed to build and run one of the pure lua examples directly on one iphone without an apple subscription!
    But I was unable to run a gideros player: it was running and showing an IP but it didn't appear in gideros studio as a target.
  • hgy29hgy29 Maintainer
    iOS simulator is stricter than a real device about Metal, you should have seen a metal related log in your console just before the crash
  • piepie Member
    edited October 2023
    hgy29 said:

    iOS simulator is stricter than a real device about Metal, you should have seen a metal related log in your console just before the crash

    I don't know how to check for a Metal specific log: if you do please tell me how to give you relevant information :smile:

    the first message on console is this one, and its backtrace is the one I posted above.
    _validateReplaceRegion:205: failed assertion Replace Region Validation
    (origin.y + size.height)(512) must be < = height ( 64).

    I also have this (screenshot attached) if it could help

    Thank you a lot
    Screenshot 2023-10-03 at 14.38.13.png
    1917 x 972 - 535K
  • hgy29hgy29 Maintainer
    pie said:

    _validateReplaceRegion:205: failed assertion Replace Region Validation
    (origin.y + size.height)(512) must be < = height ( 64).
    This is exactly what I needed, thanks.

    Likes: pie, MoKaLux

    +1 -1 (+2 / -0 )Share on Facebook
  • piepie Member
    Thank you for the bugfix! Now (2023.10) the app is building and running in xcode simulator showing only warnings. However I have a strange render issue on every font: those "lines" that seem to be poorly ai generated text should be real text.
    Have you ever seen a similar issue? I'd say that there is some discrepancy between the font and its rendering bounds because I can almost see some letter here and there but those are stretched and scaled.

    Thank you!
    Screenshot 2023-10-17 at 19.42.36.png
    436 x 947 - 99K
  • hgy29hgy29 Maintainer
    edited October 2023
    What kind of font is it ? A Font, à TTFont, or a TTFont with charset ?
    Edit: oh, it is an Imgui font, right ? So it may be related to the warning above

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • piepie Member
    Thank you for the quick fix, can I ask you to build it too when you have time? :blush:

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    edited October 2023
    I built a replacement library for ios, here it is:
    http://apps.giderosmobile.com/pre/libgideros.zip
    It must replace the one in Templates/Xcode4/iOS Template/iOS Template

    Likes: MoKaLux, pie

    +1 -1 (+2 / -0 )Share on Facebook
  • piepie Member
    Thank you, I am sorry for the delay: didn't have access to the mac yesterday :smile:

    You fixed it! It now builds and seems to work perfectly inside the simulator!

    I still have a lot of warnings though (53), I don't know how many of these are mandatory to fix, I can try to fix some, but I guess that most of them are out of my league.. :#

    Can you please take a look at this warning list and see if there is something "important" at your eyes?

    Thank you again!

     
    MYAPP
    'UILaunchImages' has been deprecated, use launch storyboards instead.
     
    Search path '/Users/USERNAME/Documents/myapp/MYAPP/iOS Template' not found
     
    Search path 'MYAPP/Frameworks' not found
     
    AppDelegate.m
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/AppDelegate.m:46:108 'statusBarOrientation' is deprecated: first deprecated in iOS 13.0 - Use the interfaceOrientation property of the window scene instead.
     
     
    EAGLView.h
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:10:8 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:39:49 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:40:35 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:40:62 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:61:48 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:62:48 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:65:65 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:65:107 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:66:67 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:67:67 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:70:55 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:70:93 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:71:49 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:71:83 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:77:33 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:80:63 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:81:77 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:84:4 'UITextWritingDirection' is deprecated: first deprecated in iOS 13.0
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:84:75 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:85:34 'UITextWritingDirection' is deprecated: first deprecated in iOS 13.0
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:85:96 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:88:42 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:89:48 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:90:12 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:90:50 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.h:94:93 Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
     
     
    EAGLView.m
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.m:115:36 Implicit conversion loses integer precision: 'NSUInteger' (aka 'unsigned long') to 'int'
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.m:115:53 Implicit conversion loses integer precision: 'NSUInteger' (aka 'unsigned long') to 'int'
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.m:322:4 'UITextWritingDirection' is deprecated: first deprecated in iOS 13.0
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.m:323:12 'UITextWritingDirectionLeftToRight' is deprecated: first deprecated in iOS 13.0
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/EAGLView.m:325:34 'UITextWritingDirection' is deprecated: first deprecated in iOS 13.0
     
     
    fpconv.c
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/json/fpconv.c:101:14 Implicit conversion loses integer precision: 'long' to 'int'
     
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP iOS/Images.xcassets
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP iOS/Images.xcassets:./LaunchImage.launchimage Launch images are deprecated in iOS 13.0. Use a launch storyboard or XIB instead.
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP iOS/Images.xcassets:./LaunchImage.launchimage/[iphone][][3x][landscape][full-screen][11.0][2d][Splash2436x1125.png] The launch image set "LaunchImage" has 2 unassigned children.
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP iOS/Images.xcassets:./App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack The last image stack layer with content, "Back", must be a fully opaque bitmap. The pixel at position (0, 0) has an alpha value of 0.
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP iOS/Images.xcassets:./App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack The last image stack layer with content, "Back", must be a fully opaque bitmap. The pixel at position (0, 0) has an alpha value of 0.
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP iOS/Images.xcassets:./App Icon & Top Shelf Image.brandassets The top shelf image "Top Shelf Image" in "App Icon & Top Shelf Image" must be a fully opaque bitmap: The pixel at position (0, 0) has an alpha value of 0.
     
     
    LFS
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/lfs/lfs.cpp:749:67 Implicit conversion loses integer precision: 'time_t' (aka 'long') to 'int'
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/lfs/lfs.cpp:985:21 Implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int'
     
     
     
    /Plugins/lsqlite3/lsqlite3.c
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/lsqlite3/lsqlite3.c:879:29 Incomplete format specifier
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/lsqlite3/lsqlite3.c:1278:29 Incomplete format specifier
     
     
    lua_cjson.c
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/json/lua_cjson.c
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/json/lua_cjson.c:478:46 Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int'
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/json/lua_cjson.c:883:30 Implicit conversion loses integer precision: 'long' to 'int'
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/json/lua_cjson.c:1032:30 Implicit conversion loses integer precision: 'long' to 'int'
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/json/lua_cjson.c:1134:30 Format specifies type 'int' but the argument has type 'long'
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/Plugins/json/lua_cjson.c:1279:27 Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int'
     
    ViewController.h
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/ViewController.h:20:5 'EAGLContext' is deprecated: first deprecated in iOS 12.0 - OpenGLES API deprecated. (Define GLES_SILENCE_DEPRECATION to silence these warnings)
     
     
     
    ViewController.m
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/ViewController.m:104:23 'setFrameInterval:' is deprecated: first deprecated in iOS 10.0 - preferredFramesPerSecond
     
    /Users/USERNAME/Documents/myapp/MYAPP/MYAPP/ViewController.m:152:1 Conflicting return type in implementation of 'supportedInterfaceOrientations': 'UIInterfaceOrientationMask' (aka 'enum UIInterfaceOrientationMask') vs 'NSUInteger' (aka 'unsigned long')
  • hgy29hgy29 Maintainer
    Had a quick look, and I didn’t spot anything that could cause a problem. I should take some time to silence them anyhow

    Likes: pie

    +1 -1 (+1 / -0 )Share on Facebook
Sign In or Register to comment.