Onesignal-ios-sdk: Building for iOS Simulator, but linking in object file built for iOS.

Created on 19 Sep 2020  Â·  19Comments  Â·  Source: OneSignal/OneSignal-iOS-SDK

Description:
Cocoapod build failed on XCode 12.0. The build runs perfectly fine on XCode, but it failed when doing pod lib lint which is using the tool xcodebuild. The error is the following:

 ld: in /var/folders/7z/kbh9ck0s7k18scystzfy6hpw0000gn/T/CocoaPods-Lint-20200918-69109-xx8o5m-Cotter/Pods/OneSignal/iOS_SDK/OneSignalSDK/Framework/OneSignal.framework/OneSignal(OneSignal-arm64-master.o), building for iOS Simulator, but linking in object file built for iOS, file '/var/folders/7z/kbh9ck0s7k18scystzfy6hpw0000gn/T/CocoaPods-Lint-20200918-69109-xx8o5m-Cotter/Pods/OneSignal/iOS_SDK/OneSignalSDK/Framework/OneSignal.framework/OneSignal'
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have searched for answers, there are multiple promising solutions, but none of them works for me:

  1. https://developer.apple.com/forums/thread/656509

Please let me know if there are any additional information I can give, like stack trace, additional environment details, etc.

Environment

  • What version of the iOS SDK are you using? 2.5.13
  • How did you add the SDK to your project? Cocoapods
  • XCode version: XCode 12.0
  • Cocoapod version: 1.9.3
  • Steps to Reproduce Issue:

  • Clone my open source project, using git clone https://github.com/cotterapp/ios-sdk.git

  • cd ios-sdk
  • pod lib lint --verbose to see the error I'm getting.
  • Anything else:

    (crash stacktraces, as well as any other information here)

    Most helpful comment

    Exactly same issue for me. I hang on to it too.

    All 19 comments

    Exactly same issue for me. I hang on to it too.

    Same for me too!

    anyone figured this out?

    @sethmills21 I've reached out to OneSignal team at the dashboard. However, there's no answers to this yet

    I had the same error but not the same way to reproduce it. My problem was when I tried to run the app on the simulator.
    I figured this out on my end but I don’t know if it will help.
    I set the scheme to Run > debug. For some reason it was set to release. So when I was trying to run on my phone it was working but not on the simulator.

    I’m using React native. Let me know if it helps.

    This appears to be due to a Cocoapods compatibility issue with XCode 12, as mentioned in the issue here https://github.com/CocoaPods/CocoaPods/issues/10059.

    Please try the recommendation in that thread to work around this for now:

    add x86_64 to VALID_ARCH if need to run app on simulator, e.g., x86_64 arm64 arm64e

    @gdeglin! thanks for the link. I'm still seeing weird stuff while uploading:

    image

    And it sort of looks specific to the OS pod and extension?

    Knew I should have waited a few weeks for Xcode12 update haha

    Thanks for the response George, added that line and doing some more debugging now ✅

    Seth Miller | CEO

    e: [email protected] ( [email protected] )

    p: 614-634-2357

    https://instagram.com/rapchatapp ( https://instagram.com/rapchatapp )

    https://rapchat.me ( https://rapchat.me )

    On Thu, Sep 24, 2020 at 1:27 AM, George Deglin < [email protected] > wrote:

    This appears to be due to a Cocoapods compatibility issue with XCode 12,
    as mentioned in the issue here CocoaPods/ CocoaPods#10059 (
    https://github.com/CocoaPods/CocoaPods/issues/10059 ).

    Please try the recommendation in that thread to work around this for now:

    add x86_64 to VALID_ARCH if need to run app on simulator, e.g., x86_64
    arm64 arm64e

    —
    You are receiving this because you were mentioned.
    Reply to this email directly, view it on GitHub (
    https://github.com/OneSignal/OneSignal-iOS-SDK/issues/744#issuecomment-698120648
    ) , or unsubscribe (
    https://github.com/notifications/unsubscribe-auth/AB4QXU45253DY42MNXB4BVDSHLKFJANCNFSM4RSVSDNQ
    ).

    This has worked for me

    https://stackoverflow.com/a/63955114

    Closing this issue. Thanks @gdeglin !

    I'm building the project for iOS simulator on Silicon M1. Excluding arm64 architecture for the simulator seems not an appropriate solution for me. Any idea on this?

    @cclaflin89 me too face same issue with M1 silicon any ideas ??

    @Rahulbhutani97 OneSignalXCFramework 3.2.0 released last week worked for me.

    how can i do that please help

    how can i do that please help

    In your Podfile, set the pod name to OneSignalXCFramework and the version to 3.2.1

    No its done :)

    On Tue, Feb 23, 2021 at 12:48 AM Rodrigo Gomez Palacio <
    [email protected]> wrote:

    how can i do that please help

    In your Podfile, set the pod name to OneSignalXCFramework and the version
    to 3.2.1

    —
    You are receiving this because you were mentioned.
    Reply to this email directly, view it on GitHub
    https://github.com/OneSignal/OneSignal-iOS-SDK/issues/744#issuecomment-783609842,
    or unsubscribe
    https://github.com/notifications/unsubscribe-auth/AJOP2B72IQVEQLLSGERELV3TAKUWVANCNFSM4RSVSDNQ
    .

    Hi, how did you solve this problem? I've tried with adding excluded archs for arm64. But it's still the same. Thanks

    By using this

    OneSignalXCFramework 3.2.0 released last week worked for me.

    On Mon, 8 Mar, 2021, 9:30 am Juandro Sobath Lumbantoruan, <
    [email protected]> wrote:

    Hi, how did you solve this problem? I've tried with adding excluded archs
    for arm64. But it's still the same. Thanks

    —
    You are receiving this because you were mentioned.
    Reply to this email directly, view it on GitHub
    https://github.com/OneSignal/OneSignal-iOS-SDK/issues/744#issuecomment-792445133,
    or unsubscribe
    https://github.com/notifications/unsubscribe-auth/AJOP2B33YQPNXV2OJE3WEALTCRDUNANCNFSM4RSVSDNQ
    .

    using OneSignalXCFramework fixed the issue


    Another solution for M1 Macs: running Xcode under Rossetta will fix the issue (only temporary workaround)

    1 - With Xcode closed (Important) Go to finder -> Applications
    2 - Right Click on Xcode and select "Get Info"
    3 - On the info panel check "Open using Rosetta"
    4 - Double Click in the bottom large preview of the info panel.
    

    ** This will cause a decrease in speed and performance in Xcode and simulator

    is using OneSignalXCFramework even though it is not M1 solved the issue? I can't build in my QAT environment.

    ld: in /Users/ai/Documents/perahub-ios/Pods/OneSignal/iOS_SDK/OneSignalSDK/Framework/OneSignal.framework/OneSignal(OneSignal-arm64-master.o), building for iOS Simulator, but linking in object file built for iOS, file '/Users/ai/Documents/perahub-ios/Pods/OneSignal/iOS_SDK/OneSignalSDK/Framework/OneSignal.framework/OneSignal'
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Was this page helpful?
    0 / 5 - 0 ratings

    Related issues

    adambolcsfoldi picture adambolcsfoldi  Â·  4Comments

    torben-erz picture torben-erz  Â·  3Comments

    pvcary picture pvcary  Â·  5Comments

    KishanVyas picture KishanVyas  Â·  6Comments

    cassidyclawson picture cassidyclawson  Â·  5Comments