Unsolved had add the Qt framework to the app. bundle on macos for deployment, when click the app crash.
-
I want to deploy a macos app, so I follow by this document :
https://doc.qt.io/qt-5.9/osx-deployment.html
I had added the qt platform in the suitable directory in my app.bundle, and use the' install_name_' change the id, so I run my app in Qt, everything works fine, but when I click the app which is in the 'build-FUEditor-Desktop_Qt_5_11_3_clang_64bit-Debug' directory, it crashes and shows me the error:'
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 org.qt-project.QtCore 0x00000001181c2044 QLocale::operator!=(QLocale const&) const + 4
1 libqcocoa.dylib 0x0000000117ff0aa3 QCocoaInputContext::updateLocale() + 115
2 com.apple.CoreFoundation 0x00007fff2e06d712 CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER + 12
3 com.apple.CoreFoundation 0x00007fff2e06d68c ___CFXRegistrationPost_block_invoke + 63
4 com.apple.CoreFoundation 0x00007fff2e06d5ad _CFXRegistrationPost + 398
5 com.apple.CoreFoundation 0x00007fff2e075a09 ___CFXNotificationPost_block_invoke + 87
6 com.apple.CoreFoundation 0x00007fff2dfdd1aa -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1633
7 com.apple.CoreFoundation 0x00007fff2dfdc56d _CFXNotificationPost + 742
8 com.apple.Foundation 0x00007fff30364a7b -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
9 com.apple.CoreFoundation 0x00007fff2e06d712 CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER + 12
10 com.apple.CoreFoundation 0x00007fff2e06d68c ___CFXRegistrationPost_block_invoke + 63
11 com.apple.CoreFoundation 0x00007fff2e046d17 CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK + 12
12 com.apple.CoreFoundation 0x00007fff2e009d51 __CFRunLoopDoBlocks + 395
13 com.apple.CoreFoundation 0x00007fff2e00944f __CFRunLoopRun + 1204
14 com.apple.CoreFoundation 0x00007fff2e008d48 CFRunLoopRunSpecific + 463
15 com.apple.HIToolbox 0x00007fff2d29fab5 RunCurrentEventLoopInMode + 293
16 com.apple.HIToolbox 0x00007fff2d29f6f4 ReceiveNextEventCommon + 371
17 com.apple.HIToolbox 0x00007fff2d29f568 _BlockUntilNextEventMatchingListInModeWithFilter + 64
18 com.apple.AppKit 0x00007fff2b55a363 _DPSNextEvent + 997
19 com.apple.AppKit 0x00007fff2b559102 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1362
20 com.apple.AppKit 0x00007fff2b553165 -[NSApplication run] + 699
21 libqcocoa.dylib 0x0000000117fd383d QCocoaEventDispatcher::processEvents(QFlagsQEventLoop::ProcessEventsFlag) + 2397
22 org.qt-project.QtCore 0x0000000108d4ec92 QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) + 418
23 org.qt-project.QtCore 0x0000000108d53852 QCoreApplication::exec() + 402
24 com.universe.FUEditor 0x00000001022fc381 main + 897 (main.cpp:100)
25 libdyld.dylib 0x00007fff5b24aed9 start + 1
'I don't why, can you give me some tips, thanks a lot!
-
hi,
have you read the first paragraph ?The Qt installers for macOS include a deployment tool that automates the procedures described here.
I would suggest going with the macDeployment tool, it will make your life so much easier!!!
From what I read so far, you have added stuff manually ?
-
@J.Hilk
I add the stuff use the command by adding the command in .pro file, what is the macDeployment tool, is there any document, thanks a lot! -
@Princein
I'm unsure if there's a step by step guide. Theres thishttps://doc.qt.io/qt-5.9/osx-deployment.html#macdeploy
It's rather simple.
Open Terminal, call the macdeploy tool inside your Qt installation with the path of the generated app-bundle, add eventual options (for example the path for used qml-files) and you're done ;-)