Onesignal-ios-sdk: Xcode 10.3 GenerateDSYMFile warnings

Created on 4 Sep 2019  路  26Comments  路  Source: OneSignal/OneSignal-iOS-SDK

Description:
After updating to One Signal 2.10.2, I've got a lot of warnings on both my personal project and OneSignalServiceExtension schemes.

Environment

  1. What version of the iOS SDK are you using?
    iOS SDK 2.10.2
  2. How did you add the SDK to your project (eg. cocoapods)
    Cocoapods

Steps to Reproduce Issue:

  1. Update your project's One Signal SDK version to 2.10.2 using _pod install_.

Anything else:

I found this issue that sounds a lot like the issue I'm having https://github.com/OneSignal/OneSignal-iOS-SDK/issues/440. Since I have tried cleaning derived data and rebuilding the project, and also _pod deintegrate_ and _pod install_ and it did not made the warnings disappear, I am opening this issue.

I found out that "mikechoch" (a name that appears on a path on the warnings) is the Github user of Michael DiCioccio, one of your Software Engineers, and that he made a commit just yesterday (09/03) https://github.com/OneSignal/OneSignal-iOS-SDK/commit/ff0e93888d0ae3038d59f35a4e47884a43021400.

Examples of some of the 72 warnings on OneSignalServiceExtension:

warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignal.o unable to open object file: No such file or directory
warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignalClient.o unable to open object file: No such file or directory
warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignalNotificationSettingsIOS8.o unable to open object file: No such file or directory
warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignalNotificationCategoryController.o unable to open object file: No such file or directory
warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignalJailbreakDetection.o unable to open object file: No such file or directory

Examples of some of the 72 warnings on my project's scheme:

warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignal.o unable to open object file: No such file or directory
warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignalClient.o unable to open object file: No such file or directory
warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignalNotificationSettingsIOS8.o unable to open object file: No such file or directory
warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignalNotificationCategoryController.o unable to open object file: No such file or directory
warning: (i386) /Users/mikechoch/Library/Developer/Xcode/DerivedData/OneSignalSDK-hgznuhhoqujfbdezmyqrlfdkedbp/Build/Products/OneSignal.build/Debug-iphonesimulator/OneSignalFramework.build/Objects-normal/i386/OneSignalJailbreakDetection.o unable to open object file: No such file or directory

Medium Priority

Most helpful comment

@mikechoch any updates? I'm seeing 98 of these warnings in my project and I'm on 2.11.0. Installed with cocoapods.

All 26 comments

Yes, I see that too, and it bothers a lot.

Temp fix: set

CLANG_ENABLE_MODULE_DEBUGGING

to NO

in your projects' build settings.

EDIT: you must re-compile the framework with that setting.

@skuske It did not work, all the warnings are still there

@thiagocesarm

Ah, I think I re-compiled the framework with that setting. I鈥榣l edit my reply above.

@skuske It did work, thanks! Now let's wait and see if someone can fix this issue

Hi @mikechoch
I have the same issue. Maybe you know why it happens since your nickname is a part of warning?

Updates: the warnings are back :(

@thiagocesarm

Yes, back here, too. Maybe someone of the 'officials' can reply and offer a solution?

Same problem here with OneSignal 2.10.2.

Updated to OneSignal 2.11.0 using cocoapods.
_pod update_ command ended successfully.
Now gone from 36 warnings to 49 warnings about @mikechoch derived data.
Podfile.lock shows on 2.11.0
Deleted derived data directory contents and closed xcode and rebooted computer.
Still 49 warnings.
Thoughts?

Updated to OneSignal 2.11.0 using cocoapods.
_pod update_ command ended successfully.
Now gone from 36 warnings to 49 warnings about @mikechoch derived data.
Podfile.lock shows on 2.11.0
Deleted derived data directory contents and closed xcode and rebooted computer.
Still 49 warnings.
Thoughts?

I have exactly the same problem

Updated to OneSignal 2.11.0 using cocoapods.
_pod update_ command ended successfully.
Now gone from 36 warnings to 49 warnings about @mikechoch derived data.
Podfile.lock shows on 2.11.0
Deleted derived data directory contents and closed xcode and rebooted computer.
Still 49 warnings.
Thoughts?

Same :/

Howdy everyone,
We're aware of the issue and are looking into it. Luckily, these are just warnings. Thanks for your patience.

I am not sure if this solution is permanent, but if you recompile the framework and set

Debug Information Format

to

DWARF (instead of DWARF with dSYM File)

in the build settings of the OneSignalFramework target and recompile the framework, then the warnings disappear. I had a similar solution before (see further above), but the warnings came back later. So, I am not sure if this here fixes it permanently. However, worth a try... I rebuild my project a few times now, and the warnings are still gone.

Bildschirmfoto 2019-09-13 um 09 10 42

If this SDK was distributed as the source instead of binary this kind of issue will never happen.
I understand that you need the binary to bundle it inside other SDKs, but for CocoaPods I don't see any benefit.
Please, consider updating the podspec to distribute the source code instead of the binary, thanks.

Hi @skuske here is some info I found in an old Apple Developer Forum post about DWARF. Might want to consider before removing 'with dSYM File':

DWARF is the debug information format and the dSYM file is a package containing debug symbols.

For example, if you have a library libfoo.dylib, the debug symbol file would be libfoo.dylib.dSYM.
Using DWARF with dSYM strips debug symbols from the executable and places them into a separate dSYM file. Using the DWARF option keeps debug symbols in the executable instead of separating them into a separate dSYM file.

You generally want to use the DWARF with dSYM option for release builds because otherwise, debug symbols get shipped with the executable if they are turned on, so turning off dSYM generation by switching to the DWARF option is not a fix, it just masks the problem. Switching to use DWARF masks the problem because it does not separate debug symbols, whereas DWARF with dSYM uses the strip and dsymutil commands, and it is typically these commands that tend to fail when there is malformed stuff in the binary. Failure on dSYM creation usually indicates malformed code somewhere, so it would be worthwhile to do further investigation. That is, if something got messed up in the binary, debug symbols can't reliably get stripped out.

@mikechoch any updates? I'm seeing 98 of these warnings in my project and I'm on 2.11.0. Installed with cocoapods.

Howdy, @rgomezp ...
I've had to temporarily set my project to Bitcode Enabled to NO to archive the product to successfully submit it to the App Store. I highly suggest you guys fix this as soon as possible.

I'm using version 2.10.1. It's the last one that doesn't show warnings and seems to have the push notification fix.

This will be fixed in the next release 2.11.1

The issue was due to a flag we set in 2.10.2 to remove the requirement of the -ObjC linker flag. When we added this it caused all of these warnings to show up and the fix was changing another flag called DEPLOYMENT_POSTPROCESSING to YES.

@mikechoch

Sorry, but the warning issue is still there for us, even in 2.11.1, but https://github.com/OneSignal/OneSignal-iOS-SDK/issues/531 disappeared.

@skuske if you update to Xcode11, this warning/issue goes away. The new ios 13 SDK introduced a whole host of bugs that I had to fix, but doing so seems to keep the OS lib up to date.

@HackShitUp

No, I am using the most recent Xcode: Version 11.1 (11A1027)

Are folks seeing this still with 2.11.2?

Are folks seeing this still with 2.11.2?

No, it has been fixed with 2.11.2.
Thanks!

Hi @johncodeos and @mikechoch , the warning still there in version 2.13.1. Now it is from joesusnick.
Xcode 11.4.1

Screen Shot 2020-05-14 at 17 17 02

Hi @johncodeos and @mikechoch , the warning still there in version 2.13.1. Now it is from joesusnick.
Xcode 11.4.1

Screen Shot 2020-05-14 at 17 17 02

Yeah, it came back

Was this page helpful?
0 / 5 - 0 ratings