I'm trying to create a Pod that depends on OpenSSL-Universal. I've had some trouble, so for reference, I looked for other pods that had such a dependency, and found CoreBitcoin: https://github.com/oleganza/CoreBitcoin
There, in CoreBitcoin.podspec, it clearly says:
s.dependency 'OpenSSL-Universal', '1.0.1.j-2'
Now, I tried including the same dependency too, went to the auto-generated example folder, and ran pod install. Here's what my auto-generated Podfile looks like, except for the project name replacements and the OpenSSL dependency:
## Be sure to run `pod lib lint <ProjectName>.podspec' to ensure this is a# valid spec before submitting.## Any lines starting with a # are optional, but their use is encouraged# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html#Pod::Spec.new do |s| s.name = "<ProjectName>" s.version = "0.1.0" s.summary = "A short description of <ProjectName>."# This description is used to generate tags and improve search results.# * Think: What does it do? Why did you write it? What is the focus?# * Try to keep it short, snappy and to the point.# * Write the description between the DESC delimiters below.# * Finally, don't worry about the indent, CocoaPods strips it! s.description = <<-DESC DESC s.homepage = "https://github.com/<GITHUB_USERNAME>/<ProjectName>" # s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2" s.license = 'MIT' s.author = { "<name>" => "<email>" } s.source = { :git => "https://github.com/<GITHUB_USERNAME>/<ProjectName>.git", :tag => s.version.to_s } s.platform = :ios, '8.0' s.requires_arc = true s.source_files = 'Pod/Classes/**/*' s.resource_bundles = {'<ProjectName>' => ['Pod/Assets/*.png'] } # s.public_header_files = 'Pod/Classes/**/*.h' # s.frameworks = 'UIKit', 'MapKit' s.dependency 'OpenSSL-Universal', '1.0.1.j-2'end
But then, when I go to pod install, I get the following error:
[!] The 'Pods-<ProjectName>_Example' target has transitive dependencies that include static binaries: (/Users/<name>/Developer/<ProjectName>/Example/Pods/OpenSSL-Universal/lib-ios/libcrypto.a and /Users/<name>/Developer/<ProjectName>/Example/Pods/OpenSSL-Universal/lib-ios/libssl.a)
I've been searching online, and people have been saying that such issues arise because OpenSSL-Universal is requiring static libraries. And I get that, that's not good, but I need my Pod to work with both iOS and OSX and somehow, CoreBitcoin has managed to use that dependency, which means it is possible. What am I doing wrong?
UPDATE: I have tried setting up a completely new project that is not a Pod, but just a simple project with a dependency on CoreBitcoin. Running pod install
yielded the same error, so I don't think that it is an issue with the Podspec. It might be an issue with the Podfile assuming that CoreBitcoin is doing nothing wrong. I tried running it both with and without use_frameworks!
.