2015-02-15 4 views
1

У меня возникла проблема с приложением IOS с кодовым именем. Приложение имеет две многоточечные кнопки. При нажатии кнопки происходит сбой приложения. Приложение не всегда срабатывает при первом щелчке, но в конце концов происходит сбой при нажатии несколько раз.Codenameone сгенерированный IOS 8 сбой приложения

Применение

package org.tradeswitch.mobile; 

import com.codename1.components.MultiButton; 
import com.codename1.db.Cursor; 
import com.codename1.db.Database; 
import com.codename1.db.Row; 
import com.codename1.ui.Container; 
import com.codename1.ui.Dialog; 
import com.codename1.ui.Display; 
import com.codename1.ui.Form; 
import com.codename1.ui.events.ActionEvent; 
import com.codename1.ui.events.ActionListener; 
import com.codename1.ui.layouts.BorderLayout; 
import com.codename1.ui.layouts.BoxLayout; 
import com.codename1.ui.SideMenuBar; 
import com.codename1.ui.plaf.UIManager; 
import com.codename1.ui.util.Resources; 
import java.io.IOException; 

public class MyApplication implements ActionListener 
{ 
    private Form current; 
    private Resources theme; 

    public void init(Object context) 
    { 
     try { 
      theme = Resources.openLayered("/theme"); 
      TUIManager.getInstance().setThemeProps(theme.getTheme(theme.getThemeResourceNames()[0])); 
     } 
     catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    public void start() 
    { 
     if (current != null) { 
      current.show(); 
      return; 
     } 

     showScreen(); 
    }//start 

    private void showScreen() 
    { 
     UIManager.getInstance().getLookAndFeel().setMenuBarClass(SideMenuBar.class); 
     Form hi = new Form("Hi World"); 

     Container vBorderContainer = new Container(new BoxLayout(BoxLayout.Y_AXIS)); 
     vBorderContainer.setScrollVisible(true); 
     vBorderContainer.setScrollableY(true); 

     vBorderContainer.addPullToRefresh(new Runnable() 
     { 
      public void run() 
      { 
       Dialog.show("Debug", "addPullToRefresh()", "Ok", null); 
      } 
     }); 

     try { 
      Database db = Display.getInstance().openOrCreate("TSMOBILE"); 
      db.execute("drop table if exists SCREENS"); 
      db.execute("create table if not exists SCREENS(SCR_ID NUMERIC, SCR_NAME VARCHAR(50), SCR_FLAGS NUMERIC, SCR_SERVICE VARCHAR(50))"); 
      db.execute("insert into SCREENS(SCR_ID, SCR_NAME, SCR_FLAGS, SCR_SERVICE) values(?, ?, ?, ?)",new Object[]{"1", "Test 1", "0", "Service 1"}); 
      db.execute("insert into SCREENS(SCR_ID, SCR_NAME, SCR_FLAGS, SCR_SERVICE) values(?, ?, ?, ?)",new Object[]{"2", "Test 2", "0", "Service 2"}); 

      Cursor vScreens = db.executeQuery("select SCR_ID, SCR_NAME, SCR_FLAGS from SCREENS"); 
      while (vScreens.next()) { 
       Row vRow = vScreens.getRow(); 

       int vId = vRow.getInteger(0); 
       String vName = vRow.getString(1); 
       int vFlags = vRow.getInteger(2); 

       MultiButton vBtn = new MultiButton(); 
       vBtn.addActionListener(this); 

       vBtn.setTextLine1(vName); 
       //vBtn.setIcon(theme.getImage("icon.png")); 
       //vBtn.setEmblem(theme.getImage("embleem.png")); 
       vBorderContainer.addComponent(vBtn); 
      }//while 
     }//try 
     catch (IOException ex) { 

     }//catch 
     hi.setLayout(new BorderLayout()); 
     hi.addComponent(BorderLayout.CENTER, vBorderContainer); 
     hi.show(); 
    } 

    public void stop() 
    { 
     current = Display.getInstance().getCurrent(); 
    } 

    public void destroy() 
    { 
    } 

    public void actionPerformed(ActionEvent evt) 
    { 
     Dialog.show("Debug", "actionPerformed()", "Ok", null); 
    } 
} 

Краш Вход

Incident Identifier: 5119BFFE-AA2B-40A9-9146-78183D5BC509 
CrashReporter Key: 5c4af4c9a0a9084fc90fd6203262ad6b8204ecbc 
Hardware Model:  iPhone6,2 
Process:    MyApplication [36967] 
Path:    /private/var/mobile/Containers/Bundle/Application/E0A2F5D7-A083-4C38-8484-E862758CEF94/MyApplication.app/MyApplication 
Identifier:   org.tradeswitch.mobile 
Version:    1.0 (1.0) 
Code Type:   ARM (Native) 
Parent Process:  launchd [1] 

Date/Time:   2015-02-15 20:27:47.156 +0200 
Launch Time:   2015-02-15 20:27:44.599 +0200 
OS Version:   iOS 8.1.3 (12B466) 
Report Version:  105 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Triggered by Thread: 2 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0: 
0 libsystem_kernel.dylib   0x340714f0 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x340712e5 mach_msg + 37 
2 CoreFoundation     0x2621d317 __CFRunLoopServiceMachPort + 143 
3 CoreFoundation     0x2621b8bd __CFRunLoopRun + 1013 
4 CoreFoundation     0x261693bd CFRunLoopRunSpecific + 473 
5 CoreFoundation     0x261691cf CFRunLoopRunInMode + 103 
6 GraphicsServices    0x2d5270a5 GSEventRunModal + 133 
7 UIKit       0x297777ad UIApplicationMain + 1437 
8 MyApplication     0x00457ebb 0x98000 + 3931835 
9 MyApplication     0x000e35d7 0x98000 + 308695 
10 MyApplication     0x00233a67 0x98000 + 1686119 
11 MyApplication     0x004ded5b 0x98000 + 4484443 
12 MyApplication     0x004ded9f 0x98000 + 4484511 
13 libdyld.dylib     0x33fbeaad start + 1 

Thread 1: 
0 libsystem_kernel.dylib   0x34084b38 __psynch_cvwait + 24 
1 libsystem_pthread.dylib   0x341013f5 _pthread_cond_wait + 517 
2 libsystem_pthread.dylib   0x34102319 pthread_cond_timedwait + 41 
3 MyApplication     0x004d970f 0x98000 + 4462351 
4 MyApplication     0x0047c09d 0x98000 + 4079773 
5 MyApplication     0x00491a31 0x98000 + 4168241 
6 MyApplication     0x00492369 0x98000 + 4170601 
7 MyApplication     0x004d9bd9 0x98000 + 4463577 
8 libsystem_pthread.dylib   0x34101e91 _pthread_body + 137 
9 libsystem_pthread.dylib   0x34101e03 _pthread_start + 115 
10 libsystem_pthread.dylib   0x340ffb8c thread_start + 4 

Thread 2 Crashed: 
0 libsystem_kernel.dylib   0x34084dfc __pthread_kill + 8 
1 libsystem_pthread.dylib   0x34102d33 pthread_kill + 59 
2 libsystem_c.dylib    0x34024905 abort + 73 
3 libsystem_malloc.dylib   0x340b53ab szone_error + 331 
4 libsystem_malloc.dylib   0x340b5655 free_list_checksum_botch + 25 
5 libsystem_malloc.dylib   0x340ad3ff tiny_malloc_from_free_list + 1023 
6 libsystem_malloc.dylib   0x340abeb7 szone_malloc_should_clear + 219 
7 libsystem_malloc.dylib   0x340abda7 malloc_zone_malloc + 87 
8 CoreFoundation     0x26157e11 _CFRuntimeCreateInstance + 289 
9 ImageIO       0x271d2d95 CGImageMetadataCreateMutable + 61 
10 ImageIO       0x271d2cdd CGImagePlusCreateWithSession + 413 
11 ImageIO       0x271d2825 makeImagePlus + 809 
12 ImageIO       0x271d20cd CGImageSourceCreateImageAtIndex + 157 
13 UIKit       0x2984c3ff _UIImageRefFromData + 259 
14 UIKit       0x299989bd -[UIImage(UIImagePrivate) _initWithData:preserveScale:cache:] + 73 
15 UIKit       0x2984c2f1 -[UIImage initWithData:] + 25 
16 UIKit       0x2984c2c1 +[UIImage imageWithData:] + 49 
17 MyApplication     0x000a0f8b 0x98000 + 36747 
18 MyApplication     0x0045cf33 0x98000 + 3952435 
19 MyApplication     0x000efb77 0x98000 + 359287 
20 MyApplication     0x000ef74f 0x98000 + 358223 
21 MyApplication     0x002b77f1 0x98000 + 2226161 
22 MyApplication     0x002564c9 0x98000 + 1828041 
23 MyApplication     0x00255af3 0x98000 + 1825523 
24 MyApplication     0x002575fb 0x98000 + 1832443 
25 MyApplication     0x00340275 0x98000 + 2785909 
26 MyApplication     0x0033df0b 0x98000 + 2776843 
27 MyApplication     0x00334a79 0x98000 + 2738809 
28 MyApplication     0x001ca399 0x98000 + 1254297 
29 MyApplication     0x001ca825 0x98000 + 1255461 
30 MyApplication     0x0020eaf9 0x98000 + 1534713 
31 MyApplication     0x001c3f53 0x98000 + 1228627 
32 MyApplication     0x001c3a9f 0x98000 + 1227423 
33 MyApplication     0x001c2905 0x98000 + 1222917 
34 MyApplication     0x00201fc9 0x98000 + 1482697 
35 MyApplication     0x0027f19d 0x98000 + 1995165 
36 MyApplication     0x001c45dd 0x98000 + 1230301 
37 MyApplication     0x0027f5e3 0x98000 + 1996259 
38 MyApplication     0x001c3a9f 0x98000 + 1227423 
39 MyApplication     0x001c2905 0x98000 + 1222917 
40 MyApplication     0x001c2367 0x98000 + 1221479 
41 MyApplication     0x001c82ab 0x98000 + 1245867 
42 MyApplication     0x001970bb 0x98000 + 1044667 
43 MyApplication     0x00195ca1 0x98000 + 1039521 
44 MyApplication     0x001a0839 0x98000 + 1083449 
45 MyApplication     0x00197f51 0x98000 + 1048401 
46 MyApplication     0x0023886b 0x98000 + 1706091 
47 MyApplication     0x00237b4b 0x98000 + 1702731 
48 MyApplication     0x00242d6f 0x98000 + 1748335 
49 MyApplication     0x00243349 0x98000 + 1749833 
50 MyApplication     0x0026c96d 0x98000 + 1919341 
51 MyApplication     0x0022be03 0x98000 + 1654275 
52 MyApplication     0x0022198b 0x98000 + 1612171 
53 MyApplication     0x0022d3f1 0x98000 + 1659889 
54 MyApplication     0x0022c181 0x98000 + 1655169 
55 MyApplication     0x0022af71 0x98000 + 1650545 
56 MyApplication     0x0022b1ed 0x98000 + 1651181 
57 MyApplication     0x00227b83 0x98000 + 1637251 
58 MyApplication     0x00226b5f 0x98000 + 1633119 
59 MyApplication     0x002264e7 0x98000 + 1631463 
60 MyApplication     0x00222443 0x98000 + 1614915 
61 MyApplication     0x00221cc9 0x98000 + 1613001 
62 MyApplication     0x00227ccb 0x98000 + 1637579 
63 MyApplication     0x004dd4e3 0x98000 + 4478179 
64 MyApplication     0x001ecd1d 0x98000 + 1395997 
65 MyApplication     0x0023c13b 0x98000 + 1720635 
66 MyApplication     0x00237857 0x98000 + 1701975 
67 MyApplication     0x0023b867 0x98000 + 1718375 
68 MyApplication     0x003b5b15 0x98000 + 3267349 
69 MyApplication     0x000df667 0x98000 + 292455 
70 MyApplication     0x00492369 0x98000 + 4170601 
71 MyApplication     0x004d9bd9 0x98000 + 4463577 
72 libsystem_pthread.dylib   0x34101e91 _pthread_body + 137 
73 libsystem_pthread.dylib   0x34101e03 _pthread_start + 115 
74 libsystem_pthread.dylib   0x340ffb8c thread_start + 4 

Thread 3 name: Dispatch queue: com.apple.libdispatch-manager 
Thread 3: 
0 libsystem_kernel.dylib   0x340712a0 kevent64 + 24 
1 libdispatch.dylib    0x33faa9fd _dispatch_mgr_invoke + 277 
2 libdispatch.dylib    0x33fa020f _dispatch_mgr_thread + 35 

Thread 4: 
0 libsystem_kernel.dylib   0x340859cc __workq_kernreturn + 8 
1 libsystem_pthread.dylib   0x340ffea9 _pthread_wqthread + 789 
2 libsystem_pthread.dylib   0x340ffb80 start_wqthread + 4 

Thread 5: 
0 libsystem_kernel.dylib   0x340859cc __workq_kernreturn + 8 
1 libsystem_pthread.dylib   0x340ffea9 _pthread_wqthread + 789 
2 libsystem_pthread.dylib   0x340ffb80 start_wqthread + 4 

Thread 6: 
0 libsystem_kernel.dylib   0x340859cc __workq_kernreturn + 8 
1 libsystem_pthread.dylib   0x340ffea9 _pthread_wqthread + 789 
2 libsystem_pthread.dylib   0x340ffb80 start_wqthread + 4 

Thread 7: 
0 libsystem_kernel.dylib   0x340859cc __workq_kernreturn + 8 
1 libsystem_pthread.dylib   0x340ffea9 _pthread_wqthread + 789 
2 libsystem_pthread.dylib   0x340ffb80 start_wqthread + 4 

Thread 8: 
0 libsystem_kernel.dylib   0x34084b38 __psynch_cvwait + 24 
1 libsystem_pthread.dylib   0x341013f5 _pthread_cond_wait + 517 
2 libsystem_pthread.dylib   0x34102319 pthread_cond_timedwait + 41 
3 MyApplication     0x004d970f 0x98000 + 4462351 
4 MyApplication     0x0047c09d 0x98000 + 4079773 
5 MyApplication     0x003b507b 0x98000 + 3264635 
6 MyApplication     0x003b5acb 0x98000 + 3267275 
7 MyApplication     0x003b63cf 0x98000 + 3269583 
8 MyApplication     0x000df667 0x98000 + 292455 
9 MyApplication     0x00492369 0x98000 + 4170601 
10 MyApplication     0x004d9bd9 0x98000 + 4463577 
11 libsystem_pthread.dylib   0x34101e91 _pthread_body + 137 
12 libsystem_pthread.dylib   0x34101e03 _pthread_start + 115 
13 libsystem_pthread.dylib   0x340ffb8c thread_start + 4 

Thread 2 crashed with ARM Thread State (32-bit): 
    r0: 0x00000000 r1: 0x00000000  r2: 0x00000000  r3: 0x0000004d 
    r4: 0x00000006 r5: 0x00a1c000  r6: 0x16f2c2a4  r7: 0x00a18f00 
    r8: 0x00000001 r9: 0x340bb8b6  r10: 0x00824000  r11: 0x340bbac7 
    ip: 0x00000148 sp: 0x00a18ef4  lr: 0x34102d37  pc: 0x34084dfc 
    cpsr: 0x00000010 
+0

К сожалению, нажмите ввести преждевременно :) –

ответ

0

крешлоги не сильно помогают при отладке на прошивке, так как они должны быть symbolicated, и они не могут быть с архитектуры сервера сборки.

Я предполагаю, что это связано с недавними регрессиями в new iOS VM, к чему мы обращаемся, например. этот вопрос https://code.google.com/p/codenameone/issues/detail?id=1348

+0

Я прочитал через связанный вопрос и звук, похожий по своей природе. Знаете ли вы о работе? Приложение должно было начаться в марте 2015 года. –

+0

Мы постоянно работаем над улучшением виртуальной машины, я уверен, что это будет решено задолго до этого. –

1

Я решил проблему, заставив сервер сборки CodenameOne использовать старую виртуальную машину до тех пор, пока проблемы с новой виртуальной машиной не будут отсортированы.

Чтобы заставить сервер сборки использовать старый VM один должен указать следующие построить HiNT

ios.newVM = false 
Смежные вопросы