SolvedCocoaPods Pod lint fails when containing dynamic-frameworks without simulator architectures

Currently pod trunk is not usable for us as pod lint fails because simulator architectures (i386 and x86_64) are missing. BUT Apple rejects apps containing dynamic-frameworks with simulator architectures.

We deploy two variants of dynamic-framworks

  • one with all device and simulator architectures (for debugging)
  • one with device-only architectures (for app-submission).

pod lint fails with the following errors:

x86_64 in file SampleSDK/iOS/Sample.framework/Sample (3 slices)

  • NOTE | [SampleSDK/SampleSDK and more...] xcodebuild: fatal error: lipo: -remove's specified would result in an empty fat file
  • NOTE | [iOS] [SampleSDK/SampleSDK] xcodebuild: ld: warning: ld: warning: ignoring file SampleSDK/iOS/Sample.framework/Sample, missing required architecture x86_64 in file

We were forced to provide device-only architectures as Apple rejects app-submissions containing any simulator-architectures with

ERROR: ERROR ITMS-90087: "Unsupported Architectures. The executable for Sample.app/Frameworks/Sample.framework contains unsupported architectures '[x86_64, i386]'."

Similar issues:
#5275
http://stackoverflow.com/questions/36618252/cocoapods-podspec-push-without-build-simulator-architecture

46 Answers

✔️Accepted Answer

I almost have the same case with @hberenger . But the third-party in my private pod does not include both i386 and x86_64 libraries.
I add pod_target_xcconfig like this:

s.pod_target_xcconfig = { 'VALID_ARCHS[sdk=iphonesimulator*]' => '' }

after that, pod lib lint --skip-import-validation works for me.

I just hope "the lint" can ignore architecture i386 and x86_64. I'm not sure whether it is the right way, though it works.

Other Answers:

Hi,
I also ran into the same issue while creating a private pod to wrap a third-party which does not provide i386 libraries : pod lib lint resulted into Undefined symbols for architecture i386.
Finally, I came up with the following workaround (which is a posteriori natural, since my project really doesn't need to be built on i386) : tell the podspec that the project is not buildable on 32 bit simulators, that is :

    subspec.pod_target_xcconfig = {
        'ARCHS[sdk=iphonesimulator*]' => '$(ARCHS_STANDARD_64_BIT)'
    }

(instead of the default ARCHS_STANDARD)

In case it helps... @MarcoBrescianini @dvdblk @lumialxk

@eldewy I managed to go around this issue by replacing the code inside the xcodebuild function of validator.rb by that one :

def xcodebuild
      require 'fourflusher'
      command = ['clean', 'build', '-workspace', File.join(validation_dir, 'App.xcworkspace'), '-scheme', 'Pods-App', '-configuration', 'Release']
      case consumer.platform_name
      when :ios
        command += %w(-sdk iphoneos10.0 -destination=generic/iOS ONLY_ACTIVE_ARCH=NO ARCHS=armv7)
      when :watchos
        command += %w(CODE_SIGN_IDENTITY=- -sdk watchsimulator)
        command += Fourflusher::SimControl.new.destination(:oldest, 'watchOS', deployment_target)
      when :tvos
        command += %w(CODE_SIGN_IDENTITY=- -sdk appletvsimulator)
        command += Fourflusher::SimControl.new.destination(:oldest, 'tvOS', deployment_target)
      end

      output, status = _xcodebuild(command)

      unless status.success?
        message = 'Returned an unsuccessful exit code.'
        message += ' You can use `--verbose` for more information.' unless config.verbose?
        error('xcodebuild', message)
      end
      output
    end

I basically replicated the behaviour of 0.39 to allow our team to push pods. Please note that this is a quick and dirty fix, will only work for ios targets, is only working with xcode8, and might not work for you, but I thought it might help you while waiting for an official fix ;)

A temporary solution:use rvm.
For example:
rvm install ruby 2.2.2. Use 2.2.2 and install cocoapods 0.39.0.

rvm install ruby 2.3.1. Use ruby 2.3.1 and install cocoapods 1.1.1

You can flexibly switch pod's version by using 'rvm use'

1.2.0 supports an option to skip-import-validation if you do not want to link your pod. This is the same as 0.39.0 behavior.

Related Issues:

765
655
CocoaPods [error report] pod install /w m1 macbook
do you have a MacBook Pro with a M1 processor? this fixed my issue: Report What did you do? Run pod ...
392
CocoaPods NoMethodError - undefined method `size' for nil:NilClass
Also faced with this issue Fixed by updating flutter and cocoa pods to the latest version and then ...
247
CocoaPods pod install has bug
Did you try: sudo arch -x86_64 gem install ffi And run: arch -x86_64 pod install instead of pod inst...
186
CocoaPods CocoaPods was not able to update the master repo
Looks like your specs repo was edited at some point and now git can't update it ...
182
CocoaPods CocoaPods compatibility with Apple DTK (Apple Silicon)
For anyone else struggling with this issue I just found a way to solve it In addition to running ter...
175
CocoaPods Build issue with Xcode 12.3 - file not found #include "ruby/config.h"
I just updated to Xcode 12.3 and I am hitting this issue Seems like Xcode 12.3 broke the system ruby...
169
CocoaPods Unzip fail when zip contains chinese char on macOS 10.13
Maybe replace unzip with ditto: I have a SDK and there is a folder named FaceDistortion_20171205雪天的雪...
163
CocoaPods None of your spec sources contain a spec satisfying the dependencies
Did you note this part of the error message: Note: as of CocoaPods 1.0 pod repo update does not happ...
145
CocoaPods pod install fails with json error on Mac OS X 10.15
I did rm -rf ~/.cocoapods/repos/trunk/ After that it worked again. I've read and understood the CONT...
124
CocoaPods No such file or directory @ rb_sysopen -- AppCenter -- ReactNative
So I updated my appcenter dependencies from v2.4.0 to v2.5.0 and I'm having this issue again 🙄 Edit...
122
CocoaPods App Icons not included in build from Xcode 9
I have the same problem Report What did you do? Run project on device from Xcode 9 Beta 6 What did y...
113
CocoaPods Intermittent CDN issues
The workaround to get working locally during this outage or CDN issue - guessing a DNS change or som...
89
CocoaPods new Macbook M1 crash
As a temporary fix I've installed cocoapods using sudo arch -arch x86_64 gem install cocoapods then ...
83
CocoaPods Support multiple Swift versions on a per pod basis
this works: It's not pretty but will do until they update your pods to Swift 4. ...
80
CocoaPods pod update error with CDN
And? How to fix? gem install concurrent-ruby or gem update concurrent-ruby. I've read and understood...
71
CocoaPods Failed to build gem native extension. Header file missing,
I had the same problem on macOS Mojave 10.14.16 A few threads eventually lead me here which solved i...
54
CocoaPods I can not install pod files.
Nope Just do: Install ffi sudo arch -x86_64 gem install ffi Re-install dependencies arch -x86_64 pod...
52
CocoaPods CocoaPods1.9.0 cannot install on Mojave10.14.6
This should be re-opened I can repro on a clean Mojave The workaround is to run sudo gem install coc...
46
CocoaPods [Xcode 8 beta 2]: CopySwiftLibs for Pods framework fails with Mach-O header error
I've found a workaround Add the following lines to your Podfile: 🌈 I've read and understood the *CO...
45
CocoaPods FBSDKLoginKit can not find headers under 1.0.0
This appears to be some issue between CocoaPods and XCode I tried to reproduce the problem I was see...
40
CocoaPods Podfile without use_frameworks! triggers "deployment target" warnings in Xcode 10
For those wanting a quick fix: edit: updated snippet now supports the new generate_multiple_pod_proj...
37
CocoaPods Resources installed using cocoapods not loaded for xctest bundle
For me I fixed it by setting Host Application to main target (In Test Target -> `General) ...
36
CocoaPods CDN: trunk Repo update failed - 2 error(s):
pod repo list 查看源列表 pod repo remove trunk 移除trunk源 只有移除掉问题才解决!!! 2019.11.07更 怕有人不懂,特意写了一篇文章 具体操作看下这篇...
36
CocoaPods [1.9.2] Error during pod install JSON::ParserError - 767: unexpected token
Running only sudo rm -rf ~/.cocoapods/repos and then pod install was enough for my case. ...
35
CocoaPods pod lib create fails: uninitialized constant Nanaimo::Reader::StringScanner (NameError)
gem uninstall nanaimo It will prompt you for which version to uninstall 👍 Before you start ...
35
CocoaPods pod install triggers pods to use Swift 4.2 in XCode 10
I was also facing the same problem and able to fix by adding swift_version in pre_install block Is t...
32
CocoaPods pod spec lint fails (Xcode 8 GM & Cocoapods 1.1.0.rc.1)
Got it working using the .swift-version file mentioned in #5841 For those who need help make a .swif...
32
CocoaPods undefined method `map' for nil:NilClass (NoMethodError) Did you mean? tap
ah gem update xcodeproj fixes the problem for me I've read and understood the CONTRIBUTING guideline...
31
CocoaPods error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
This seems like an issue with cloning the master repo Could be an issue with your connection or the ...
31
CocoaPods Malformed version number string
if your rubyGems version is 2.7.7 or higher you just can do like this gem update --system 2.7.6 my p...
30
CocoaPods Pod with swift 4.2 fails at linting
The podspec contains s.source_files = Constrictor/Constrictor/**/* which includes all files includin...
25
CocoaPods LoadError - cannot load such file -- macho
TBH I'm not familiar with ruby so this may be a terrible solution I tried with versions 1.5.0 and 1....
24
CocoaPods Modules not found in test targets
Thanks for the great ticket! So pods would be passed to a target by inheritance here but you're not ...
24
CocoaPods Duplicate symbols when framework target has a static dependency
I have a new version of the workaround It works when some static libraries are only used in the Appl...
23
CocoaPods UITests missing 📦 Embed Pods Frameworks build phase in 1.0.0.rc.1
Moving the UITests target outside of the main target in the Podfile seems to have helped So now inst...
22
CocoaPods Fails to install cocoapods on Ruby 2.4
Luckily cocoapods v1.0.1 still works Reproduction Detail CocoaPods has dependency in activesupport g...
20
CocoaPods Unit tests do not run on iOS 11 devices on Xcode 11 when using dynamically linked libraries
@dvataksi16 I got a response from Apple with a non-hacky solution: After reviewing your feedback we ...
19
CocoaPods 🐛 : Unable to install pods using custom build configurations
Just to leave a clear solution here Thankfully the solution is already merged to RN 0.63.3 ...
19
CocoaPods pod install: [!] Oh no, an error occurred.
This was what worked for me - arch -x86_64 pod install Report [!] Oh no an error occurred ...
19
CocoaPods Raise default macOS/iOS deployment target
The same is happening with iOS btw I've read and understood the CONTRIBUTING guidelines and have don...
18
CocoaPods Bug with Unit Tests on Mojave: "The bundle couldn’t be loaded because it is damaged or missing necessary resources"
i was able to workaround this by reverting to the legacy build system for now to get the UI tests ru...
17
CocoaPods pod search AFNetWorking
Can you try removing search_index.json and run search command again? I'd be happy if you send the ou...
17
CocoaPods Signing for requires a development team. Select a development team in the Target Editor. in Xcode 8 and Swift 3. 🌈
I know it's a bit self explanatory but to make the project actually build again select a Development...
16
CocoaPods Playgrounds regression between CocoaPods 1.4.0 and CocoaPods 1.5.0
@dnkoutso The workaround suggested above (@litmanenPL) does resolve the issue 🌈 I've read and under...
15
CocoaPods 'Pod Spec Lint' failed validation
Confirmed this is the same as #8116 This worked and I was able to lint successfully Please remove In...
14
CocoaPods Current CocoaPods should be installable on Mojave without dependency upgrades
Here's an annotated transcript of my console session reproducing the problem I've also discovered th...
13
CocoaPods Pushing spec fails with Xcode 10 GM
Run gem install cocoapods --pre to install beta version 1.6.0.beta.1 fixes the issue for me ...
11
CocoaPods RuntimeError - [Xcodeproj] Unknown object version.
you are on a very old version of cocoapods please update to latest version and also gem update xcode...