leavez / cocoapods-binary Goto Github PK
View Code? Open in Web Editor NEWintegrate pods in form of prebuilt frameworks conveniently, reducing compile time
License: MIT License
integrate pods in form of prebuilt frameworks conveniently, reducing compile time
License: MIT License
Cocoapods -> CocoaPods
If just make the p capital, 3 capital letters break some visual balance and rhythm. I think the logo should be redesigned.
At my Podfile
, I have this pod:
pod "PusherSwift"
It's podspec had some other dependencies: https://github.com/pusher/pusher-websocket-swift/blob/master/PusherSwift.podspec, so, I got this error from Xcode importing PusherSwift
pod:
Missing required modules: 'CryptoSwift', 'Starscream', 'TaskQueue'
if Pod
folder is excluded from git, there's no grantee the prebuilt frameworks have the same version with the ones specified in podfile
.
For example, there's a pod A
of 0.1
version in podfile. After pod install
, we have prebuilt framework "A.framework" in pod folder. Then I pull the change from remote repo. Pod A
is upgraded to 0.2
. When build the project, it stops because the lock file doesn't match. Then I do a pod install, the checking in prebuild process cannot tell the version of "A.framework" in the pod file. It doesn't update the framework because there's already a framework.
It would be great if the following:
dSYM files is missing for dynamic frameworks using this plugin. Walkaround: Don't use this plugin for a release build. Add a if condition with ENV around plugin 'cocoapods-binary'
would have a real receipt in terms of Podfile. Still can't figure it out, sorry...
If I run it by the book on my macbook pro, with Ruby 2.3.0 installed, I get[!] Your Podfile requires that the plugin `cocoapods-binary` be installed. Please install it and try installation again.
Is there something undocumented that the average user should be privy to, in order to get this going?
Thanks for this awesome plugin!
I would like to
Is this possible? I tried using the keep_source_code_for_prebuilt_frameworks! flag but the source files are being deleted.
This looks awesome!
Would you update the README with a comparison with Rome?
I recently tried to use cocoapods-binary
on the Auth0
pod. This caused the following launch crash for me on iOS 11 and earlier:
dyld: Library not loaded: /System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices
Referenced from: /Users/username/Library/Developer/CoreSimulator/Devices/312557D4-8701-48F5-85CB-B1A0E4359B15/data/Containers/Bundle/Application/6E9A7D9E-A337-42F2-B0ED-1B2CDFB8DA58/AppName.app/AppName
Reason: image not found
It seems this is because the iOS framework AuthenticationServices
, which is available only on iOS12, is an optional dependency of Auth0. Looking at the Auth0 source, they use the following piece of code:
#if canImport(AuthenticationServices)
import AuthenticationServices
#endif
Looking at the project, it seems that -framework AuthenticationServices
is added to the OTHER_LDFLAGS
. When I removed this, it worked, but that's of course just a workaround, since it will be readded on every pod install
.
I got an error when running with CocoaPods 1.7.0.beta.2:
TypeError - no implicit conversion of Array into String
/usr/local/lib/ruby/gems/2.6.0/gems/cocoapods-binary-0.4.2/lib/cocoapods-binary/Prebuild.rb:131:in `basename'
/usr/local/lib/ruby/gems/2.6.0/gems/cocoapods-binary-0.4.2/lib/cocoapods-binary/Prebuild.rb:131:in `block (2 levels) in prebuild_frameworks!'
/usr/local/lib/ruby/gems/2.6.0/gems/cocoapods-binary-0.4.2/lib/cocoapods-binary/Prebuild.rb:129:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/cocoapods-binary-0.4.2/lib/cocoapods-binary/Prebuild.rb:129:in `map'
/usr/local/lib/ruby/gems/2.6.0/gems/cocoapods-binary-0.4.2/lib/cocoapods-binary/Prebuild.rb:129:in `block in prebuild_frameworks!'
/usr/local/lib/ruby/gems/2.6.0/gems/cocoapods-binary-0.4.2/lib/cocoapods-binary/Prebuild.rb:118:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/cocoapods-binary-0.4.2/lib/cocoapods-binary/Prebuild.rb:118:in `prebuild_frameworks!'
/usr/local/lib/ruby/gems/2.6.0/gems/cocoapods-binary-0.4.2/lib/cocoapods-binary/Prebuild.rb:206:in `block in <class:Installer>'
Looks like this is due to the change for Pod::PodTarget#resource_paths
[Hash{String=>Array<String>}]
over [Array<String>]
cocoapods-binary/lib/cocoapods-binary/Prebuild.rb
Lines 120 to 130 in 9f40c5d
Could you take a look? Thanks in advance!
We build a lot of apps with shared dependencies and could greatly benefit from this project iff it would use a shared cache for storing and retrieving the compiled frameworks. I imagine it to be in a folder like ~/.cocoapods/prebuilt
. The cache structure would involve subdirectories for xcode version, platform, spec version/hash to make sure you're getting the right binary.
Is this a use case that would fit with this project? If so, I'd be happy to see if I can start a PR for it.
Cocoapods 1.6 have a lot change in source code compared to v1.5. Maintaining support for multiple versions is expensive. And v1.6 have better performance.
Hi,
I've worked on this for a while having all sorts of errors, finally isolated the issue and found out that I can't make this work for the Firebase
pod.
I'm not sure that it's not something like a local problem in our project, but I do see clear compiler speed degradation when compiling Obj-C sources in our client app. It's matter of 1.2x like illustrated below. As result, the (clean build) speed gain we achieve with cocoapods-binary in our project is pretty miserable (359s vs 379s), compared to simply caching the content of built products folder for Pods, without using cocoapods-binary (243s vs 379s) (the latter approach has its own problems with versioning and dev pods, so I still consider using cocoapods-binary for speeding up the builds).
Below is the illustration of the compile speed difference for a single .m file. It's pretty much reproducible:
$ time for i in $(seq 1 3); do /tmp/compile-non-binary.log; done
real 0m3.927s
user 0m1.812s
sys 0m1.621s
$ time for i in $(seq 1 3); do /tmp/compile-binary.log; done
real 0m5.098s
user 0m2.235s
sys 0m1.805s
I tried to compare the compiler invocations (those .log files might be executed as they are) for both cases above and so far the only thing that I see is difference in the search paths and "-ivfsoverlay" option used in case of compiling of "cocoapods-binary enabled" configuration. Removing that option doesn't affect the result/improves the times in case of that particular file (making it probably x1.05-1.1 worse), but still...
Attaching the compiler invocations - probably somebody have a hint.
compile-binary.log
compile-non-binary.log
Also, attaching screenshots illustrating the differences between (clean builds for) "cocoapods-non-binary" (worst), cocoapods-binary (slightly better) and build with pre-cached build pod products (best in terms of build times) for our project.
Attaching the .diff for compiler invocations. Note "vfsoverlay" in the cocoapods-binary enabled case.
#.podspec
s.dependency = 'Alamofire'
Hi,
I have a pod (it's currently included as a local development pod) that has a test_spec
that includes dependencies (Quick in this case). I'm including the pod along with its tests using pod 'pod-name', testspecs: ["Tests"]
. I would like to be able to specify that the dependencies of the test_spec
should be compiled as binary. However, since the test target is generated automatically, I don't see a clear way of doing this. If possible, I want to avoid creating a dummy target or adding these test_spec
dependencies to an unrelated target. I also don't want to enable all_binary!
.
Is there a way to specify that these test_spec
dependency pods should be built as binary?
My use case is essentially this:
# MyPod.podspec
Pod::Spec.new do |s|
s.name = "MyPod"
s.test_spec 'Tests' do |test_spec|
test_spec.dependency 'Quick'
end
end
# Podfile
plugin 'cocoapods-binary'
use_frameworks!
target 'ProjectTarget' do
pod 'MyPod', path: '.', testspecs: ["Tests"]
## How do I declare Quick to be built as a binary?
# pod 'Quick', binary: true
end
Since specifying the binary flag seems to be an all or nothing thing for any particular pod, would it make sense to add a way to specify that a pod should be built as binary without using a parameter on the pod
directive? I'm imagining something like the following:
# Podfile
plugin 'cocoapods-binary'
use_frameworks!
binary 'PodA'
target 'TargetA' do
pod 'PodA'
end
target 'TargetB' do
pod 'PodA', '~> 2.1.0'
end
target 't' do
pod 'A/sub1' , :binary => true
pod 'A/sub2'
end
The preuilt A.framework will contain no sub2 content.
target 't' do
pod 'A/sub1' , :binary => true
pod 'A/sub2'
end
target 'p' do
pod 'A/sub3' , :binary => true
end
It will crash on prebuilt stage of a second pod install.
First of all, this is awesome! Thanks for this plugin!
In the project I'm testing this plugin I've got some Local Pods that, for some reason don't get prebuilt.
What I'm seeing is that Pods like "Alamofire" get built and are in the "_Prebuild" folder but the others are not.
platform :ios, '11.0'
source 'https://github.com/CocoaPods/Specs'
target 'TestProject' do
use_frameworks!
all_binary!
pod 'LocalPod', path: './LocalPod'
pod 'Alamofire'
end
Am I doing something wrong or local pods are handled differently?
Swift 5 seems to have changed the format of the generated Swift header file by adding the following conditionals dependent on the architecture:
#if 0
#elif defined(__arm64__) && __arm64__
...
#elif defined(__ARM_ARCH_7A__) && __ARM_ARCH_7A__
...
When building the iOS platform with cocoapods-binary the generated Swift header file only has __arm64__
and __ARM_ARCH_7A__
but does not have any conditionals for the simulator architectures and therefore the Swift parts of the framework can't be used by Objective C code in the app.
Similar issue in Carthage - Carthage/Carthage#2718
[!] The 'Pods-TTCore' target has frameworks with conflicting names: crashlytics.framework and fabric.framework.
I'm getting this during the pod install phase, how can I debug this?
Grate plugin for cocoapods!
But one thing I think is a bit bothersome is that when I use git LFS I need to add all files to the git LFS manually each time I add a dependency.
Would be nice if the plugin could automatically add the .framework
and the .dSYM
files to .gitattributes
file.
Im horrible in ruby so I'm not sure I'm up for the challenge to make a PR for it.
When using all_binary!
, use_framework!
check doesn't work.
When jumping to some method definition I only have access to the header file, is there a way to have access to the full code?
Cheers!
As opposed to V0.4.1 that worked great.
My hypothesis is that it's somehow related to the dsyms, that are now added as references to the project (I see them in the xcodeproj file)
provide a keyword in Podfile to make all pods into prebuilt frameworks
When I update a version of a binary pod a lot of times the actual reference by cocoa pods doesn't update and we still use the old version for some reason.
Here is the logs.
$ pod install
๐ Prebuild frameworks
Analyzing dependencies
Downloading dependencies
Using Realm (3.14.1)
Using RealmSwift (3.14.1)
Using SnapKit (4.0.1)
Generating Pods project
Sending stats
โโโ MARKDOWN TEMPLATE โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
/usr/local/bin/pod install
What did you do?
What did you expect to happen?
What happened instead?
CocoaPods : 1.6.1
Ruby : ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
RubyGems : 3.0.3
Host : Mac OS X 10.14.4 (18E226)
Xcode : 10.2.1 (10E1001)
Git : git version 2.20.1 (Apple Git-117)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib
Repositories : edu-git-cocoapods-specs - https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git @ 0ea7e62cafe6cebaca5212f428be41d32e4e0ab7
master - https://github.com/CocoaPods/Specs.git @ 93a87776d510603f6f99f54be6f180f579b75c82
cocoapods-binary : 0.4.3
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
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
plugin 'cocoapods-binary'
target 'iOS Post 2' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
platform :ios, '11.0'
use_frameworks!
# Pods for iOS Post 2
pod 'RealmSwift', :binary => true
pod 'SnapKit', '~> 4.0.0', :binary => true
end
target 'iOS Poster 2' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
platform :ios, '11.0'
use_frameworks!
# Pods for iOS Poster 2
pod 'RealmSwift', :binary => true
pod 'SnapKit', '~> 4.0.0', :binary => true
end
# target 'iOS SharingAPI' do
# # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
# use_frameworks!
#
# # Pods for iOS SharingAPI
#
# end
target 'Post 2' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
platform :osx, '10.13'
use_frameworks!
# Pods for Post 2
pod 'RealmSwift', :binary => true
end
target 'Poster 2' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
platform :osx, '10.13'
use_frameworks!
# Pods for Poster 2
pod 'RealmSwift', :binary => true
end
# target 'SharingAPI' do
# # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
# use_frameworks!
#
# # Pods for SharingAPI
#
# end
#
target 'Today Post 2' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
platform :osx, '10.13'
use_frameworks!
# Pods for Today Post 2
pod 'RealmSwift', :binary => true
end
#
# target 'Watch Poster 2' do
# # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
# use_frameworks!
#
# # Pods for Watch Poster 2
#
# end
#
target 'Watch Poster 2 Extension' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
platform :watchos, '4.0'
use_frameworks!
# Pods for Watch Poster 2 Extension
pod 'RealmSwift'
end
#
# target 'watchos SharingAPI' do
# # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
# use_frameworks!
#
# # Pods for watchos SharingAPI
#
# end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['WATCHOS_DEPLOYMENT_TARGET'] = '3.0'
end
end
end
NoMethodError - undefined method `recursive_dependent_targets' for nil:NilClass
/Library/Ruby/Gems/2.3.0/gems/cocoapods-binary-0.4.3/lib/cocoapods-binary/Prebuild.rb:105:in `block in prebuild_frameworks!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-binary-0.4.3/lib/cocoapods-binary/Prebuild.rb:105:in `map'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-binary-0.4.3/lib/cocoapods-binary/Prebuild.rb:105:in `prebuild_frameworks!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-binary-0.4.3/lib/cocoapods-binary/Prebuild.rb:219:in `block in <class:Installer>'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:476:in `perform_post_install_actions'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:145:in `install!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-binary-0.4.3/lib/cocoapods-binary/Main.rb:103:in `block in <top (required)>'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/hooks_manager.rb:124:in `block (3 levels) in run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:145:in `message'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/hooks_manager.rb:116:in `block (2 levels) in run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/hooks_manager.rb:115:in `each'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/hooks_manager.rb:115:in `block in run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:145:in `message'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/hooks_manager.rb:114:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:468:in `run_plugins_pre_install_hooks'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:159:in `block in prepare'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/user_interface.rb:145:in `message'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:155:in `prepare'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/installer.rb:135:in `install!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command/install.rb:48:in `run'
/Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
โโโ TEMPLATE END โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[!] Oh no, an error occurred.
Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=undefined+method+%60recursive_dependent_targets%27+for+nil%3ANilClass&type=Issues
If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new
Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md
Don't forget to anonymize any private data!
/Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.0.3/lib/gh_inspector/sidekick.rb:91:in block in validate_delegate': #<Pod::UserInterface::InspectorReporter:0x00007fddc109a190> does not handle inspector_successfully_recieved_report (RuntimeError) from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.0.3/lib/gh_inspector/sidekick.rb:90:in
each'
from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.0.3/lib/gh_inspector/sidekick.rb:90:in validate_delegate' from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.0.3/lib/gh_inspector/sidekick.rb:20:in
search'
from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.0.3/lib/gh_inspector/inspector.rb:65:in search_query' from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.0.3/lib/gh_inspector/inspector.rb:59:in
search_exception'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/user_interface/error_report.rb:119:in search_for_exceptions' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:67:in
report_error'
from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:396:in handle_exception' from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:337:in
rescue in run'
from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:324:in run' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:52:in
run'
from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/bin/pod:55:in <top (required)>' from /usr/local/bin/pod:23:in
load'
from /usr/local/bin/pod:23:in `
Usage:
gem -h/--help
gem -v/--version
gem command [arguments...] [options...]
Examples:
gem install rake
gem list --local
gem build package.gemspec
gem help install
Further help:
gem help commands list all 'gem' commands
gem help examples show some examples of usage
gem help gem_dependencies gem dependencies file guide
gem help platforms gem platforms guide
gem help show help on COMMAND
(e.g. 'gem help install')
gem server present a web page at
http://localhost:8808/
with info about installed gems
Further information:
http://guides.rubygems.org
You lost the 'a' in "CocoaPods-Binary". ๐
there will be a diff when a framework built for the second time
CocoaPods : 1.6.1
Xcode : 10.1 (10B61)
cocoapods-binary : 0.4.3
Podfile:
source 'https://github.com/CocoaPods/Specs.git'
plugin 'cocoapods-binary'
platform :ios, '11.2'
use_frameworks!
inhibit_all_warnings!
target 'AnimalHouse' do
# RxSwift
pod 'RxSwift'
pod 'RxCocoa'
pod 'RxDataSources'
# Firebase
pod 'Firebase/Core', :binary => true
pod 'Firebase/Firestore', :binary => true
pod 'Firebase/Auth', :binary => true
pod 'CodableFirebase'
end
target 'AnimalHouseFirestoreContractTests' do
pod 'RxSwift'
pod 'RxCocoa'
pod 'RxBlocking'
pod 'Firebase/Core'
pod 'Firebase/Firestore'
pod 'CodableFirebase'
end
target 'AnimalHouseHttpContractTests' do
pod 'RxSwift'
pod 'RxCocoa'
pod 'RxBlocking'
end
target 'RoadTripTests' do
pod 'RxSwift'
pod 'RxCocoa'
pod 'RxDataSources'
pod 'Firebase/Core'
pod 'Firebase/Auth'
pod 'RxTest'
pod 'RxBlocking'
end
target 'AnimalHouseTestsHostApplication' do
end
target 'AnimalHouseFirestoreContractTestsHostApplication' do
end
The following app has two test targets running on separate host apps called AnimalHouseTestsHostApplication
and AnimalHouseFirestoreContractTestsHostApplication
. I get the following error when running pod install
:
[!] Binary doesn't support pods who integrate in 2 or more platforms simultaneously: ["Firebase"]
I that the default behavior?, when I try this plugin, I run bundle exec pod install
after setting up my Podfile
, then it start "installing" newer versions of the pods, seems like isn't using the Podfile.lock
reference?
From the lock file, for example:
- SwiftMessages (6.0.1):
Then when I run bundle exec pod install
after setting up my Podfile
:
18:26 $ bundle exec pod install
๐ Prebuild frameworks
Analyzing dependencies
Pre-downloading: `DVR` from `https://github.com/nebiros/DVR`
Pre-downloading: `EBCardCollectionViewLayout` from `https://github.com/betzerra/EBCardCollectionViewLayout`
Downloading dependencies
โฆ
Installing SwiftMessages (6.0.2)
I added cocoapods-binary
support for my old projects. After i excute pod install
i found that all the framework folders under the library are empty.
I tried to delete the Pods folder in the root directory and re-execute pod install
to solve this problem, but I think this problem may be a bug.
I'm using
plugin 'cocoapods-binary'
all_binary!
keep_source_code_for_prebuilt_frameworks!
Except for pod 'GCDWebServer', binary: false
.
The prebuild step correctly ignores GCDWebServer
, however the pod install step fails with:
[!] Attempt to read non existent folder '/Users/ian/code/tt/ios/Pods/GCDWebServer'.
Prior to this error I do see Installing GCDWebServer (3.4.2)
from the pod install step though.
Any idea what's causing this?
P.S I'm using binary: false
for GCDWebServer
since we need to include its header files in a bridging header.
Hello.
Thanks for creating the library. I am having issues running the generated Cocoapods project when the pod file contains dependencies which are swift only frameworks.
The error is:
dyld: Library not loaded: @rpath/Swinject.framework/Swinject
Referenced from: /Users/user/Library/Developer/CoreSimulator/Devices/B8FC3167-D881-41FA-8181-340B7ECE7612/data/Containers/Bundle/Application/9F06E83D-C056-4D74-8BD1-0AC1AB6AA4DD/MyApp.app/MyApp
Reason: no suitable image found. Did find:
/Users/user/Library/Developer/CoreSimulator/Devices/B8FC3167-D881-41FA-8181-340B7ECE7612/data/Containers/Bundle/Application/9F06E83D-C056-4D74-8BD1-0AC1AB6AA4DD/MyApp.app/Frameworks/Swinject.framework/Swinject: mmap() errno=5 at address=0x10E73E000, size=0x00025000 segment=__TEXT in Segment::map() mapping /Users/user/Library/Developer/CoreSimulator/Devices/B8FC3167-D881-41FA-8181-340B7ECE7612/data/Containers/Bundle/Application/9F06E83D-C056-4D74-8BD1-0AC1AB6AA4DD/MyApp.app/Frameworks/Swinject.framework/Swinject
/Users/user/Library/Developer/CoreSimulator/Devices/B8FC3167-D881-41FA-8181-340B7ECE7612/data/Containers/Bundle/Application/9F06E83D-C056-4D74-8BD1-0AC1AB6AA4DD/MyApp.app/Frameworks/Swinject.framework/Swinject: mmap() errno=5 at address=0x10E7A8000, size=0x00025000 segment=__TEXT in Segment::map() mapping /Users/user/Library/Developer/CoreSimulator/Devices/B8FC3167-D881-41FA-8181-340B7ECE7612/data/Containers/Bundle/Application/9F06E83D-C056-4D74-8BD1-0AC1AB6AA4DD/MyApp.app/Frameworks/Swinject.framework/Swinject
/Users/user/Library/Developer/CoreSimulator/Devices/B8FC3167-D881-41FA-8181-340B7ECE7612/data/Containers/Bundle/Application/9F06E83D-C056-4D74-8BD1-0AC1AB6AA4DD/MyApp.app/Frameworks/Swinject.framework/Swinject: stat() failed with errno=5
/Users/user/Library/Developer/CoreSimulator/Devices/B8FC3167-D881-41FA-8181-340B7ECE7612/data/Containers/Bundle/Application/9F06E83D-C056-4D74-8BD1-0AC1AB6AA4DD/MyApp.app/Frameworks/Swinject.framework/Swinject: mmap() errno=5 at address=0x10E812000, size=0x00025000 segment=__TEXT in Segment::map() mapping /Users/user/Library/Developer/CoreSimulator/Devices/B8FC3167-D881-41FA-8181-340B7ECE7612/data/Containers/Bundle/Application/9F06E83D-C056-4D74-8BD1-0AC1AB6AA4DD/MyApp.app/Frameworks/Swinject.framework/Swinject
/Users/user/Library/Developer/CoreSimulator/Devices/B8FC3167-D881-41FA-8181-340B7ECE7612/data/Containers/Bundle/Application/9F06E83D-C056-4D74-8BD1-0AC1AB6AA4DD/MyApp.app/Frameworks/Swinject.framework/Swinject: stat() failed with errno=5
This happens with Cocoapods:
pod 'Swinject', '2.4.1'
https://github.com/Swinject/Swinjectpod 'SwiftPhoneNumberFormatter', '1.5'
https://github.com/Serheo/PhoneNumberFormatterpod 'UIImageColors', '2.0.0'
https://github.com/jathu/UIImageColorsOther podfile setup is
use_frameworks!
platform :ios, '10.0'
plugin 'cocoapods-binary'
inhibit_all_warnings!
all_binary!
Looks like these all contain Swift only code. Any help appreciated, thanks!
When using static framework
s.resource_bundle = {
"BundleName" => "Resources/**/*"
}
Cocoapods -> CocoaPods
If just make the p capital, 3 capital letters break some visual balance and rhythm. I think the logo should be redesigned.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.