Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Embed frameworks build phases missing after running `pod install` #8529

Closed
tonyarnold opened this Issue Feb 20, 2019 · 7 comments

Comments

Projects
None yet
4 participants
@tonyarnold
Copy link

tonyarnold commented Feb 20, 2019

Report

What did you do?

  1. Created a brand new sample iOS single view project
  2. Created a new Podfile, with the following contents:
platform :ios, '12.0'

target 'Simple Sample' do
  pod 'Reveal-SDK', :configurations => ['Debug']
end
  1. Run pod install
  2. Opened Simple Sample.xcworkspace
  3. Run the app in Xcode

What did you expect to happen?

The app to run without issue.

What happened instead?

The app crashed at launch due to the missing vendor framework that should have been provided by CocoaPods:

dyld: Library not loaded: @rpath/RevealServer.framework/RevealServer
  Referenced from: /Users/tonyarnold/Library/Developer/CoreSimulator/Devices/70E3F476-9F99-4B34-B9C6-094A51FAEADF/data/Containers/Bundle/Application/F2C25678-8E2E-451B-9A92-9A62DF3AAD0E/Simple Sample.app/Simple Sample
  Reason: image not found

It appears that no [CP] Build Phases save for the manifest check have been created.

CocoaPods Environment

Stack

   CocoaPods : 1.6.0
        Ruby : ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18]
    RubyGems : 2.7.6
        Host : Mac OS X 10.14.3 (18D109)
       Xcode : 10.1 (10B61)
         Git : git version 2.20.1
Ruby lib dir : /Users/tonyarnold/.rbenv/versions/2.5.3/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 95325f661b91e197f987932030ea63362fddcaee

Installation Source

Executable Path: /Users/tonyarnold/.rbenv/versions/2.5.3/bin/pod

Plugins

cocoapods-deintegrate : 1.0.2
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.3.1
cocoapods-try         : 1.1.0

Podfile

platform :ios, '12.0'

target 'Simple Sample' do
  pod 'Reveal-SDK', :configurations => ['Debug']
end

Project that demonstrates the issue

Simple Sample.zip

@trispo

This comment has been minimized.

Copy link

trispo commented Feb 20, 2019

Same here after updating to Reveal SDK 21.

@dnkoutso dnkoutso added this to the 1.6.1 milestone Feb 20, 2019

@dnkoutso

This comment has been minimized.

Copy link
Contributor

dnkoutso commented Feb 20, 2019

It is because RevealServer binary supports arm64e:

RevealServer: Mach-O universal binary with 5 architectures: [i386:Mach-O dynamically linked shared library i386] [arm64]
RevealServer (for architecture i386):	Mach-O dynamically linked shared library i386
RevealServer (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library x86_64
RevealServer (for architecture armv7):	Mach-O dynamically linked shared library arm_v7
RevealServer (for architecture arm64):	Mach-O 64-bit dynamically linked shared library arm64
RevealServer (for architecture arm64e):	Mach-O 64-bit dynamically linked shared library arm64

This causes ruby-macho lib to crash with:

Unrecognized CPU sub-type: 0x00000002 (for CPU type: 0x0100000c)

Therefore treating this as a non dynamic framework and everything cascades from there. CocoaPods does not find any valid dynamic frameworks and therefore does not add the "Embed Pod Frameworks" script phase.

/cc @woodruffw

@woodruffw

This comment has been minimized.

Copy link
Contributor

woodruffw commented Feb 20, 2019

Thanks for the ping! Yeah, ruby-macho needs to support CPU_SUBTYPE_ARM64E (0x02). I'll add that and cut a new release tonight.

@dnkoutso

This comment has been minimized.

Copy link
Contributor

dnkoutso commented Feb 20, 2019

Thanks @woodruffw ! I am not sure if I did it right but I opened PR against 2.0-compat Homebrew/ruby-macho#136.

Works for me locally and fixes this issue. Don't wait on me if I've done something wrong and I am not available :)

@dnkoutso dnkoutso removed this from the 1.6.1 milestone Feb 20, 2019

@woodruffw

This comment has been minimized.

Copy link
Contributor

woodruffw commented Feb 21, 2019

Alright, I've cut a new compatibility release: 1.4.0. I'll open a PR in a bit.

woodruffw added a commit to woodruffw-forks/CocoaPods that referenced this issue Feb 21, 2019

woodruffw added a commit to woodruffw-forks/CocoaPods that referenced this issue Feb 21, 2019

@amorde amorde closed this in #8533 Feb 21, 2019

dnkoutso added a commit that referenced this issue Feb 21, 2019

[Gemspec] Bump ruby-macho to '~> 1.4'
Fixes #8529.

(cherry picked from commit 8df8388)

dnkoutso added a commit that referenced this issue Feb 21, 2019

[Gemspec] Bump ruby-macho to '~> 1.4'
Fixes #8529.

(cherry picked from commit 8df8388)

@dnkoutso dnkoutso added this to the 1.6.1 milestone Feb 21, 2019

@dnkoutso

This comment has been minimized.

Copy link
Contributor

dnkoutso commented Feb 21, 2019

Shipped 1.6.1

@tonyarnold

This comment has been minimized.

Copy link
Author

tonyarnold commented Feb 21, 2019

Thanks, @dnkoutso! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.