Tôi biết đã có một số câu hỏi về chủ đề này ở đây trên SO, nhưng rất ít người đã chấp nhận câu trả lời và tôi không nghĩ rằng tôi đã tìm thấy cùng một vấn đề như tôi.Xây dựng một Cocoapod với Swift và phụ thuộc vào khung Objective-C
Tôi đang tạo một nhóm Swift và trong mã của tôi, tôi dựa vào SDK iOS của Google Maps, được đóng gói dưới dạng tệp .framework
. Dự án xây dựng OK trong Xcode, tuy nhiên tôi gặp khó khăn khi xuất bản lib lên Cocoapods.
Tôi đã quản lý tệp Podspec
gần như xác thực bằng lệnh pod lib lint
. Tuy nhiên, bây giờ mà tôi đã thêm Google-Maps-iOS-SDK
pod như một sự phụ thuộc trong file Podspec
, nó không thành công với thông báo sau:
$ pod lib lint
Mục tiêu 'Pods' có bắc cầu [!] phụ thuộc bao gồm tĩnh nhị phân: (/private/var/folders/n2/qyjfpk6n7zz_mngtwswlmsy00000gn/T/CocoaPods/Lint/Pods/Google-Maps-iOS-SDK/GoogleMaps.framework)
$
Điều này có được mong đợi không? Tại sao tôi không thể thêm SDK Google Maps iOS làm tài liệu tham khảo nhóm trong nhóm dựa trên Swift của riêng tôi?
Đây là Podspec
:
Pod::Spec.new do |s|
s.name = '(name)'
s.version = '1.0.0'
s.summary = '(summary)'
s.platforms = { :ios => '8.0', :osx => '10.10' }
s.ios.deployment_target = '8.0'
s.osx.deployment_target = '10.10'
s.license = { :type => 'BSD', :file => 'LICENSE' }
s.source_files = 'Sources/*.{h,swift}', '*.framework'
s.source = { :git => "https://github.com/(Github repo).git", :tag => "1.0.0" }
s.requires_arc = true
s.frameworks = "Foundation", "CoreLocation"
s.author = { 'Romain L' => '(email)' }
s.dependency 'Google-Maps-iOS-SDK'
end
Nếu tôi không bao gồm Google Maps iOS SDK như một sự phụ thuộc, sau đó pod lib lint
thất bại trong Bridging Header, và than phiền nó không thể tìm thấy <GoogleMaps/GoogleMaps.h>
(file không tìm thấy).
Tôi bị kẹt và tôi không biết đó có phải là lỗi từ Cocoapods 0.36 (vẫn đang trong giai đoạn Beta) hay không, nếu tôi đang làm gì đó sai.
Cảm ơn sự giúp đỡ của bạn!
chúng tôi có thể thực hiện việc này với phân tích và sự phân tích của Google không? – Esqarrouth
Điều này thật hoàn hảo. Nó đã giúp tôi có được Google-Mobile-Quảng cáo-SDK chạy trên 0.38.2 chỉ bằng cách tạo podspec kiểu tùy chỉnh đó. Cảm ơn, @Romain! – ArtSabintsev
cảm ơn! đây là câu trả lời rất hữu ích. FYI: hiện tại, 'GoogleMaps 1.12.3' cần' Accelerate.framework'. –