Cocoapods: Project with pod framework doesn't archive when set to iOS <11.0

Created on 20 Jun 2018  路  6Comments  路  Source: CocoaPods/CocoaPods

Report

What did you do?

  1. Create a new swift project set to iOS 10.0
  2. Installed the GoogleWebRTC pod
  3. Import WebRTC module into class
  4. Reference pod file in class
  5. Archive the app

What did you expect to happen?

Archive should be successful.

What happened instead?

Archive failed with this error:

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_RTCMTLVideoView", referenced from:
      objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

CocoaPods Environment

CocoaPods : 1.5.0
Ruby : ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]
RubyGems : 2.6.12
Host : Mac OS X 10.13.2 (17C88)
Xcode : 9.4 (9F1027a)
Git : git version 2.11.0
Ruby lib dir : /usr/local/Cellar/ruby/2.3.3/lib
Repositories : bitbucket-younow-ios-cocoapodspecs - https://bitbucket.org/YouNow/ios-cocoapodspecs.git @ 0b322d795704e6e2ddceae808ccd7c5b46a18ffd
jetfire_updated - https://github.com/pedromcunha/jetfire @ 44b4426a16e362befd588ea336d23299dc7879a1
master - https://github.com/CocoaPods/Specs.git @ 0a8fe0edeefcb181658a973d45646167fb6a94f1

Project that demonstrates the issue

https://github.com/pedromcunha/WebRTCTestApp

Most helpful comment

Hi @pedromcunha 馃憢, I work with the WebRTC Cococapod. The issue is that you're trying to build and use RTCMTLVideoView on armv7. RTCMTLVideoView requires Metal support and currently that's only on 64-bit arm. If you need to support armv7 I suggest you use RTCEAGLVideoView.

Hope this solves your problem! 馃槃

All 6 comments

Thanks for the report.

@pedromcunha I think this is an issue with the shipped framework by the author (in this case Google).

I tried to manually link (without CocoaPods) the same framework but I got the same error during archiving.

I think its best to contact Google for this.

The symbol table of the framework does not include RTCMTLVideoView but if you try another like RTCMediaStream it works (both with CocoaPods and manually).

@pedromcunha I am going to preemptively close the issue since it does not appear to be a CocoaPods library issue.

I am also curious if you ever got it work in a previous version. I also recommend asking on StackOverflow.

If you do end up narrowing this down to CocoaPods I will re-open this.

Hi @pedromcunha 馃憢, I work with the WebRTC Cococapod. The issue is that you're trying to build and use RTCMTLVideoView on armv7. RTCMTLVideoView requires Metal support and currently that's only on 64-bit arm. If you need to support armv7 I suggest you use RTCEAGLVideoView.

Hope this solves your problem! 馃槃

Thank you @kthelgason !

Great, thank you for clearing this up @kthelgason. Appreciate the quick reply.

#if arch(arm64)
        //RTCMTLVideoView

        #else
        //RTCEAGLVideoView?

        #endif
Was this page helpful?
0 / 5 - 0 ratings