In Xcode 10 I use the Organizer (Window -> Organizer). It lists all archives and you select which one you want to upload.

The result of an archive is a directory in ~/Library/Developer/Xcode/Archives. The created directory contains the app bundle and everything else, except the *.app.dSYM directory which you have to copy manually from the build directory into the archive's "dSYMs" directory.

As an example, if my project is named "MyApp", then:

cd ..
rm -rf ios_build
mkdir ios_build
cd ios_build
~/Qt/5.12.0/ios/bin/qmake CONFIG+=release -spec macx-ios-clang ../MyApp
open MyApp.xcodeproj

This will open the project in Xcode. There, I select the correct code signing keys, update the build number, set "Enable Bitcode" to "No" in the "Build Settings", select "Generic iOS Device" in "Product -> Destination", and finally build it by selecting "Product -> Archive."

At the end of the build, I go back to the terminal, and in the ios_build directory I created above there's a "Release-iphoneos" directory. Inside that, there's the "MyApp.app.dSYM" directory. I copy that directory to the newly created archive directory in ~/Library/Developer/Xcode/Archives/<Archive>/dSYMs. In this case:

cp -a Release-iphoneos/MyApp.app.dSYM ~/Library/Developer/Xcode/Archives/2019-01-09/MyApp 09-01-2019, 17.05.xcarchive/dSYMs/


So the final result would be:

~/Library/Developer/Xcode/Archives/2019-01-09/MyApp 09-01-2019, 17.05.xcarchive/dSYMs/MyApp.app.dSYM

I can now upload the archive in Xcode (the Organizer window in Xcode should be already open, since it opens automatically once the build finishes), and Xcode will ask me if I want to include the debug symbols in the upload; the checkbox for that is pre-selected so I just click next (or "done" or whatever it is) and it uploads it.

And that's it. If that build crashes on someone, I now can see a useful backtrace in the Xcode Organizer window (there can be quite a delay between the crash and the trace showing up, sometimes an hour or even more.)


On 09/01/2019 18:38, Nuno Santos wrote:
Nikos,

This is a tricky one!

I have experience this problem before. All my crashes reports are in complete 
void, rendering themselves useless.

So, you need to manually upload the archive using the iTunes Connect Uploader 
tool?

I would like to know the process more in detail. The result of an archive is a 
.zip or .ipa?

Thanks for sharing!

Best,

Nuno

On 9 Jan 2019, at 15:19, Nikos Chantziaras <[email protected]> wrote:

On 08/01/2019 13:25, Nikos Chantziaras wrote:
I've uploaded a Qt iOS app to the App Store and am testing it in TestFlight. 
People are getting a crash which I can't replicate, but I can see it in Xcode. 
Problem is, the crash trace can't be symbolicated in Xcode. There's no dSYM 
generated.
So I download the dSYM manually from App Store Connect and put it in the archive. Xcode 
can now symbolicate, but instead of function names, all I get is a trace where all lines 
are marked with "#hidden".
According to Apple, if a trace only contains "#hidden" entries, I need to 
de-obfuscate them using the .bcsymbolmap file that's in the archive. The archive contains 
no such file.
Is there some problem with Qt and dSYM generation? It seems the qmake generated 
Xcode project results in a archive builds that lack important debug files?
I'm on Qt 5.12, macOS 10.13 and Xcode 10.1.

Replying to myself here, in case someone hits this on a search.

To get debug symbols when building an archive for uploading to the App Store, you need to 
manually copy the "<App name>.app.dSYM" directory to the Archive directory 
prior to uploading.

So first build the archive in Xcode, then find the directory where Xcode stored the archive (should 
be in ~/Library/Developer/Xcode/Archives/<Date>/<App name and date>.xcarchive), and copy 
the .app.dSYM directory from the original build directory into the "dSYMs" directory of the 
archive directory.

It is probably best to disable bitcode generation when building. In the Xcode build settings, search for 
"bitcode" and set "Enable Bitcode" to "No."

_______________________________________________
Interest mailing list
[email protected]
https://lists.qt-project.org/listinfo/interest



_______________________________________________
Interest mailing list
[email protected]
https://lists.qt-project.org/listinfo/interest

Reply via email to