如何为特定广告连播指定特定来源?

时间:2018-01-05 07:59:41

标签: ios cocoapods twilio

虽然我认为这是无害的,但警告让我非常不满。因此,我使用 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

我认为指定两种来源(这两种都是必要的)会导致这些警告。有没有办法将特定来源放在吊舱旁边?

3 个答案:

答案 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系列版本而停止的原因。