虽然我认为这是无害的,但警告让我非常不满。因此,我使用 TwilioChatClient 的特定版本以及 TwilioClient 。这两个特定版本是Twilio在他们的示例项目中使用的。
无论如何,安装/更新pod时的警告:
[!]找到了
TwilioChatClient (1.0.9)
的多个规范: - /Users/XXX/.cocoapods/repos/master/Specs/7/d/e/TwilioChatClient/1.0.9/TwilioChatClient.podspec.json - /Users/XXX/.cocoapods/repos/twilio/TwilioChatClient/1.0.9/TwilioChatClient.podspec[!]找到了
TwilioChatClient (1.0.8)
的多个规范: - /Users/XXX/.cocoapods/repos/master/Specs/7/d/e/TwilioChatClient/1.0.8/TwilioChatClient.podspec.json - /Users/XXX/.cocoapods/repos/twilio/TwilioChatClient/1.0.8/TwilioChatClient.podspec[!]找到了
TwilioChatClient (1.0.7)
的多个规范: - /Users/XXX/.cocoapods/repos/master/Specs/7/d/e/TwilioChatClient/1.0.7/TwilioChatClient.podspec.json - /Users/XXX/.cocoapods/repos/twilio/TwilioChatClient/1.0.7/TwilioChatClient.podspec[!]找到了
TwilioChatClient (1.0.6)
的多个规范: - /Users/XXX/.cocoapods/repos/master/Specs/7/d/e/TwilioChatClient/1.0.6/TwilioChatClient.podspec.json - /Users/XXX/.cocoapods/repos/twilio/TwilioChatClient/1.0.6/TwilioChatClient.podspec[!]找到了
TwilioChatClient (1.0.5)
的多个规范: - /Users/XXX/.cocoapods/repos/master/Specs/7/d/e/TwilioChatClient/1.0.5/TwilioChatClient.podspec.json - /Users/XXX/.cocoapods/repos/twilio/TwilioChatClient/1.0.5/TwilioChatClient.podspec[!]找到了
TwilioChatClient (1.0.4)
的多个规范: - /Users/XXX/.cocoapods/repos/master/Specs/7/d/e/TwilioChatClient/1.0.4/TwilioChatClient.podspec.json - /Users/XXX/.cocoapods/repos/twilio/TwilioChatClient/1.0.4/TwilioChatClient.podspec
我的podfile:
project 'Proj/Proj.xcodeproj'
source 'https://github.com/CocoaPods/Specs'
source 'https://github.com/twilio/cocoapod-specs'
platform :ios, '10.0'
use_frameworks!
target 'Proj' do
pod 'TwilioClient', '~>1.2' # Twilio Call Framework
pod 'TwilioChatClient', '1.0.4' # Twilio Chat Framework
target 'MobileMedTests' do
inherit! :search_paths
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
end
end
end
target 'ProjUITests' do
end
我认为指定两种来源(这两种都是必要的)会导致这些警告。有没有办法将特定来源放在吊舱旁边?
答案 0 :(得分:2)
事实上,您的问题来自于您已使用此行将twilio repo添加到您的pod源:
source 'https://github.com/twilio/cocoapod-specs'
因此,当您输入pod repo
时,您会获得以下内容:
master
- Type: git (master)
- URL: https://github.com/CocoaPods/Specs.git
- Path: /Users/cyrille/.cocoapods/repos/master
twilio
- Type: git (master)
- URL: https://github.com/twilio/cocoapod-specs
- Path: /Users/cyrille/.cocoapods/repos/twilio
当你执行pod install
时,cocoa pods可以在master的cocoapods repo和twilio的一个中找到这个lib的一个版本......它会发出警告。
要删除此警告,请从Podfile中删除此行:
source 'https://github.com/twilio/cocoapod-specs'
在终端中执行以下命令:
pod repo remove twilio
然后:
pod update
你应该得到以下内容,不再有警告:
Analyzing dependencies
Removing TwilioClient
Downloading dependencies
Installing TwilioChatClient 2.2.0 (was 1.0.4)
Installing TwilioSDK (1.2.9)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.
答案 1 :(得分:1)
首先,你也需要SDK。我现在在我的项目上安装了pod。它工作正常。查找此链接
http://cocoapods.org/?q=Twilio
Pod代码
project 'Proj/Proj.xcodeproj'
source 'https://github.com/CocoaPods/Specs'
source 'https://github.com/twilio/cocoapod-specs'
platform :ios, '10.0'
use_frameworks!
target 'Proj' do
pod 'TwilioSDK', '1.2.9'
pod 'TwilioChatClient'
target 'MobileMedTests' do
inherit! :search_paths
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
end
end
end
target 'ProjUITests' do
end
答案 2 :(得分:1)
只是想对你在这里看到的警告给出一些背景知识。我们在beta测试期间使用单独的cocoapods存储库(https://github.com/twilio/cocoapod-specs),但在GA发布1.x之后很快就开始发布到全球cocoapods存储库。
我们没有停止发布到我们现有的cocoapod-specs存储库以用于其余的1.x版本,因为对于使用beta源代码的现有客户来说,如果他们还没有,那么他们希望升级声明了全局cocoapods存储库。这就是cocoapods警告的情况,即在两个地方定义具有相同版本的相同pod。 podspecs是相同的,因此在使用此警告显示的SDK的任何版本时,这不会导致问题。
从2.x开始,我们一直只向全局存储库发布聊天,这就是警告因1.x系列版本而停止的原因。