leavez / cocoapods-binary

integrate pods in form of prebuilt frameworks conveniently, reducing compile time
MIT License
1.3k stars 207 forks source link

Dead project ? #123

Open koxon opened 4 years ago

koxon commented 4 years ago

Looks like it's not maintained anymore. Is it ?

I tried it, looked promising but doesn't work for me.

I have many targets. A mix of ObjC and Swift with a bridge .h file.

I tried to pre compile select pods, all of them, only one and it fails each time at the end of the build.

Any alternatives to this. Cocoapods doesn't provide official support for this ? Building those Pods at each build is so slow ... It's absurd.

Any idea ?

ChristopherDrum commented 4 years ago

Yeah, I'd like to know this too. I'm trying it today, but I see nothing being built for re-use. The ~/Library/Caches/Cocoapods/Pods/_Prebuilt folder simply does not exist. My builds seem to work (?) but it seems to just build the pods from zero every time.

acecilia commented 4 years ago

I am using it without problems:

install! 'cocoapods',
  :integrate_targets => false,
  :generate_multiple_pod_projects => true # More perfomant, see http://blog.cocoapods.org/CocoaPods-1.7.0-beta/#multiple-xcodeproj-generation

use_frameworks!
platform :ios, '11.0'
workspace 'All'

#################
# Binary setup
#################

# Use binaries instead of source code, to speed up builds
$useBinaries = true

if $useBinaries
    plugin 'cocoapods-binary'
    enable_bitcode_for_prebuilt_frameworks!
end

#################
# Third party modules
#################

pod 'SnapKit', '5.0.1', :binary => $useBinaries

#################
# Set swift versions for pods that do not specify them
#################

pre_install do |installer|
  installer.analysis_result.specifications.each do |s|
    s.swift_versions << '5' if s.swift_versions.empty?
  end
end
Przemyslaw-Wosko commented 4 years ago

@acecilia Hi,

  pre_install do |installer|
   installer.analysis_result.specifications.each do |s|
     s.swift_versions << '5' if s.swift_versions.empty?
   end
 end 

Fails with error:

NoMethodError - undefined method `empty?' for nil:NilClass
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods/installer/xcode/target_validator.rb:118:in `block in verify_swift_pods_swift_version'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods/installer/xcode/target_validator.rb:102:in `map'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods/installer/xcode/target_validator.rb:102:in `verify_swift_pods_swift_version'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods/installer/xcode/target_validator.rb:39:in `validate!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods/installer.rb:590:in `validate_targets'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods/installer.rb:158:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.2/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

this part doesn't work for me :/ Any hints?

acecilia commented 4 years ago

Use cocoapods 1.8.4, the latests one has a bug I already reported: https://github.com/CocoaPods/CocoaPods/issues/9745

Przemyslaw-Wosko commented 4 years ago

@acecilia seems like it works on latest cocoapods version without :integrate_targets => false,

sumit-nathany commented 3 years ago

I want to use this plugin but it seems that there are so many unresolved issues here. There is no change in the project for 1.5 years now. While the plugin works for simple cases, whenever I am stuck, it very hard to find support.

swiftyfinch commented 2 years ago

Hello! I've had used this great repo before, but I also had trouble and decided to write my own similar solution. You can try this alternative 🏈 Rugby. Maybe it'll help you.