2

经过大量阅读和试用后,我将其发布以寻求帮助。

就像“ google-cast-sdk”(https://github.com/CocoaPods/Specs/blob/master/Specs/8/1/2/google-cast-sdk/3.3.0/google-cast-sdk.podspec.json),我正在尝试将框架作为 pod 包含到我的项目中。一切都是为了探索可行性,如果我可以从我的框架中创建 pod 并通过简单的“pod install”直接包含到我的项目中。

我的 s.source 文件是位于 http 位置的 ZIP 文件,例如“google-cast-sdk”。我正在使用“s.vendored_frameworks”来构建框架。

以下是我的podspec 文件片段(仅列出主要内容)

s.source = {:http => "http://sdf.samsungcloudcdn.com/Public/UwBWAEMAMAAwADAAMAAyAA==/MwA3ADgANQBvAGEAYQA1ADkANgBlADcAZwA=/SmartViewSDK/SmartViewSDK-iOS-XCode8.1-2.3.8.zip" }
s.source_files = "SmartViewSDK-iOS/iphoneos+iphonesimulator/SmartView.framework/Headers/*.h"
s.preserve_paths = "SmartViewSDK-iOS/iphoneos+iphonesimulator/SmartView.framework"
s.vendored_frameworks = "SmartViewSDK-iOS/iphoneos+iphonesimulator/SmartView.framework"

我的 podspec 文件很好,因为“pod spec lint”是成功的,没有任何问题。即使我检查了这个 pod 的缓存,我也看到了框架(./Library/Caches/CocoaPods/Pods/External/SmartViewSDK-iOS/3031ec9b173d86f80c7871a46ab3193b/...

下面是我从网络获取的示例项目的podfile 文件

inhibit_all_warnings!
use_frameworks!
target 'Phonercise' do
pod "google-cast-idk"
pod 'SmartViewSDK-iOS', :git =>'https://github.com/littlepod/DemoSmartPod.git'

结尾

现在,当我这样做的时候

$ pod install

我没有SmartViewSDK.framework在“”项目和 pod 位置中获得“”框架,../Phonercise/Pods/SmartViewSDK-iOS就像我在 google-cast-sdk 中获得的那样。相反,我在我的 pod 规范所在的 git 存储库中获得了两个通用的 README 和 LICENSE 文件。

我错过了什么?

4

1 回答 1

1

我解决了。一切都很好,除了我的 pod install 无法正确找到“podspec”,因为它没有添加到我的本地“repo”中。

我认为私人吊舱指南,https: //guides.cocoapods.org/making/private-cocoapods.html 对我来说有点混乱。

我做了什么?

我没有将我的 pod 保存在 git 的私人仓库中,而是发布到 cocoa pods spec 仓库。

$pod trunk register <> 'Full Name' $pod trunk push DemoSmartPod.podspec

然后从我的应用程序(终端)中,我修改了 podfile 以从标准可可豆荚源获取 pod。$ pod install 它像冠军一样工作。

一旦公共规范回购运作良好,我就从下面的链接中点击私人回购的链接(我错过了正确获取),它再次运作良好。

https://eladnava.com/publish-a-universal-binary-ios-framework-in-swift-using-cocoapods/

于 2017-01-23T09:41:24.973 回答