twilio / video-quickstart-ios

Twilio Video Quickstart for iOS
https://www.twilio.com/docs/api/video
MIT License
460 stars 178 forks source link

ld: library not found for -lPods-TwilioVideo-ProjectName clang: error: linker command failed with exit code 1 (use -v to see invocation) #481

Closed jayeshkv closed 4 years ago

jayeshkv commented 4 years ago

I have tried looking it up and found the same issue, https://github.com/twilio/video-quickstart-ios/issues/70

I am facing a similar issue, it builds fine and runs fine locally but when I try to archive it I get the same error, installed via pod file

I used the .xcworkspace file to open build & archive via Xcode.

[Description of the issue] ld: library not found for -lPods-TwilioVideo-projectname clang: error: linker command failed with exit code 1 (use -v to see invocation)

Steps to Reproduce

  1. installed library via podfile
  2. open xcode via .xcworkspace (clean & build works fine)
  3. archiving fails

this is my pod file (tried to replicate it from the sample quickstart guide)

Code

    source 'https://github.com/CocoaPods/Specs'

    abstract_target 'TwilioVideo' do
    pod 'TwilioVideo', '~> 3.2'

    target 'projectname' do
    platform :ios, '11.0'
    project 'projectname.xcproject'
    end

    end

[What percentage of the time does it reproduce?]

Every time I try to archive

Versions

All relevant version information for the issue.

Xcode

11.3.1 (11C505)

Let me know if you need additional information.

Thanks.

paynerc commented 4 years ago

@jayeshkv,

We are using Cocoapods to consume TwilioVideo in our example collaboration app and we build, archive and deploy almost daily without any issue.

My first question is what version of Cocoapods are you running? Could you try pulling the example application I referenced above and attempt to archive and let me know if you are experiencing the same issue with that?

Thank you,

Ryan

jayeshkv commented 4 years ago

Hi @paynerc,

This is the version that is present in the podfile.lock COCOAPODS: 1.8.4, I pulled in the sample application and it builds / archives fine. Any specific reasons this error would come across only during archiving ?

Thanks

paynerc commented 4 years ago

@jayeshkv,

Have you tried pulling the example I referenced above and seeing if that works? Or have you tried to archive one of the Quickstart apps? I just pulled the latest out of this repo and archived the AudioSinkExample with no issue. I am using Cocoapods 1.8.4 and Xcode 11.4 locally.

Ryan

jayeshkv commented 4 years ago

@paynerc

sorry, I pulled this repo and ran one of the quickstart apps (video-quickstart-ios/MultiPartyExample) and yes it did build fine & archive without any issues.

Thanks.

paynerc commented 4 years ago

@jayeshkv,

OK. That is a good starting point. We know that it can work for you. Just need to figure out the bits where it is failing. Was this an existing project that you are integrating TwilioVideo into or a new project? Are you using other Cocoapod decencies?

Have you tried running pod deintegrate and then re integrating the dependencies?

Ryan

jayeshkv commented 4 years ago

@paynerc

Yes, It is an existing project that we are trying to integrate and this is the only framework in the podfile (as others are manually imported).

pod disintegrate was one of the first steps I tried.

Thanks.

paynerc commented 4 years ago

@jayeshkv,

TwilioVideo can also be manually integrated if you didn't want to add Cocoapods to your project. Take a look at the Manual Integration section of the docs for information on how to do that.

As far as getting cocoapods working reliably... I am wondering if there is a conflicting build setting with the Release builds that is causing the issue. What happens when you make a release build without archiving? Are you seeing the same issue?

Ryan

jayeshkv commented 4 years ago

I tried to a release build without archiving(product -> scheme -> Edit scheme -> Archive -> Debug (from release)), still the same issue.

I tried installing via manual installation (method 1) and this is what I get when I try to archive it (i did clear the derived data folder). Although it builds fine.

Undefined symbol: _OBJC_CLASS_$_TVIH264Codec Undefined symbol: _OBJC_CLASS_$_TVIG722Codec Undefined symbol: _OBJC_CLASS_$_TVIPcmuCodec Undefined symbol: _OBJC_CLASS_$_TVIPcmaCodec Undefined symbol: _OBJC_CLASS_$_TVIOpusCodec Undefined symbol: _OBJC_CLASS_$_TVINetworkQualityConfiguration Undefined symbol: _OBJC_CLASS_$_TVIRemoteVideoTrackPublication Undefined symbol: _OBJC_CLASS_$_TVIEncodingParameters Undefined symbol: _OBJC_CLASS_$_TwilioVideoSDK Undefined symbol: _OBJC_CLASS_$_TVIConnectOptions Undefined symbol: _OBJC_CLASS_$_TVIRemoteAudioTrackPublication Undefined symbol: _OBJC_CLASS_$_TVIVideoFormat Undefined symbol: _OBJC_CLASS_$_TVIVp8Codec Undefined symbol: _OBJC_CLASS_$_TVIRemoteParticipant Undefined symbol: _OBJC_CLASS_$_TVIIsacCodec Undefined symbol: _OBJC_CLASS_$_TVILocalVideoTrack Undefined symbol: _OBJC_CLASS_$_TVIVideoCodec Undefined symbol: _OBJC_CLASS_$_TVILocalAudioTrack Undefined symbol: _OBJC_CLASS_$_TVIAudioCodec Undefined symbol: _OBJC_CLASS_$_TVICameraSourceOptions Undefined symbol: _OBJC_CLASS_$_TVIVp9Codec Undefined symbol: _OBJC_CLASS_$_TVICameraSource

sidenote: Is it possible to install Twilio video via podfile for ios 8.0? I am asking because we are using another pod that supports till ios 8. If not we can switch to manual installation.

//edit: looks like there is an updated version of the app, ill try that out.

paynerc commented 4 years ago

@jayeshkv,

Twilio Video 3.x supports iOS 11 and newer. With that being said, we only support 64 bit slices in the framework. I am assuming that your deployment target is less that iOS 11 an you are still supporting 32 bit architectures.

My guess is that when you are building locally and testing, you are connected to a 64 bit device and everything works fine. When you are archiving, Xcode builds for all architectures and is failing when trying to link the 32 bit application.

Ryan

jayeshkv commented 4 years ago

@paynerc removing 32bit from the build architecture seems to have fixed the issue, thanks.

paynerc commented 4 years ago

@jayeshkv,

Thanks for getting back to me. I am going to close this issue, but feel free to reach out again if you have any further issues.

Ryan