WebRTC icon indicating copy to clipboard operation
WebRTC copied to clipboard

Warning when submitting app to AppStore when built with XCode 16 due to missing dSYM

Open mpretty-cyro opened this issue 1 year ago • 3 comments

It seems that as of Xcode 16 the App Store validation now requires app include dSYM information for each framework embedded - building with Xcode 16 and submitting now gives the following error:

The archive did not include a dSYM for the WebRTC.framework with the UUIDs [4C4C44E7-5555-3144-A1CE-3E109EFB6C19]. Ensure that the archive's dSYM folder includes a DWARF file for WebRTC.framework with the expected UUIDs.

Building and submitting with Xcode 15.3 is working without issue though (for anyone else running into this issue)

Seems like quite a few people have started running into the same issue: https://forums.developer.apple.com/forums/thread/763731

mpretty-cyro avatar Sep 24 '24 07:09 mpretty-cyro

According to the dev forums, It seems to be a temporary bug in the new Xcode. Was this requirement officially mentioned anywhere?

stasel avatar Sep 27 '24 14:09 stasel

Nah I couldn't find anything in the release notes, annoyingly no one from Apple has replied to that particular thread but based on their responses in https://forums.developer.apple.com/forums/thread/761589 it seems like you're right and it's probably a bug with Xcode 😞

Hopefully they fix it in 16.1

mpretty-cyro avatar Sep 30 '24 03:09 mpretty-cyro

Just a small update on this, a DTS engineer responded to one of the threads: https://forums.developer.apple.com/forums/thread/761589?answerId=806733022#806733022

This is a new warning in Xcode 16 where if you're missing a dSYM, Xcode lets you know in case you aren't expecting that — this is to reduce scenarios where you won't are able to fully symbolicating frames coming from your app's code in crash reports. In some cases, you may not have a dSYM, such as a closed source library from a vendor, and in those cases, the warning is safe to discard.

So it sounds like it's a feature rather than a bug, but is just a warning that can be ignored - I'll update the title of this issue accordingly: Screenshot 2024-10-09 at 11 50 41 AM

mpretty-cyro avatar Oct 09 '24 00:10 mpretty-cyro

try his way

In Xcode, select your target

  1. Go to Build Settings -> Build Options -> User Script Sandboxing = NO

  2. Go to Build Phases

  • Click the "+" button and add "New Run Script Phase"
  • Add this script:
if [ -d "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework" ]; then
    echo "Generating dSYM for WebRTC.framework"
    dsymutil "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework/WebRTC" -o "${BUILT_PRODUCTS_DIR}/WebRTC.framework.dSYM"
fi

Thanks for: https://github.com/flutter-webrtc/flutter-webrtc/issues/1818#issuecomment-2909792286

zen2do avatar Sep 08 '25 05:09 zen2do