Обнаружена неожиданная версия каталога Classes - PullRequest
0 голосов
/ 06 мая 2018

Я получаю ошибку при создании частного репо. Вот шаги, которые я предпринимаю:

  1. Создать папку, запустить pod lint create PrivateRepo и установить значения
  2. Создание частного репо в BitBucket
  3. Запустите эту команду в папке PrivateRepo:

команды:

git add .
git commit -m “Initial Commit"
git remote add origin https://Username@bitbucket.org/Username/privaterepo.git
git push -u origin master
  1. Измените сводку и домашнюю страницу в моем подспецификации и установите указанную выше ссылку на битовую корзину как источник
  2. Запустите следующие команды:

команды:

git tag 0.1.0
git push origin 0.1.0
  1. Запуск pod spec lint --swift-version = 4.1 теперь проходит проверку
  2. Запустите следующие команды:

команды:

pod repo add PrivateRepo https://Username@bitbucket.org/Username/privaterepo.git
pod repo push PrivateRepo PrivateRepo.podspec --swift-version=4.1
  1. До сих пор ошибок не возникало. Однако, когда я хочу установить этот модуль в другой проект, я получаю сообщение об ошибке:

Неожиданная директория версии Classes обнаружена для /Users/Username/.cocoapods/repos/PrivateRepo/PrivateRepo Pod in PrivateRepo хранилище.

Это мой подфайл в моем другом проекте:

source 'https://Username@bitbucket.org/Username/privaterepo.git'
source 'https://github.com/CocoaPods/Specs.git'

platform :ios, ’10.3’

target 'OtherProject' do
  use_frameworks!
pod 'PrivateRepo'
end

Это мой файл подспец:

Pod::Spec.new do |s|
  s.name             = 'PrivateRepo'
  s.version          = '0.1.0'
  s.summary          = 'test'

  s.description      = <<-DESC
TODO: Add long description of the pod here.
                       DESC

  s.homepage         = 'https://google.com'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'Username' => 'Username@hotmail.com' }
  s.source           = { :git => 'https://Username@bitbucket.org/Username/privaterepo.git', :tag => s.version.to_s }

  s.ios.deployment_target = '8.0'

  s.source_files = 'PrivateRepo/Classes/**/*'
end

1 Ответ

0 голосов
/ 19 февраля 2019

Похоже, вы почти у цели, но просто не настроили репозиторий podspec (рекомендуемый шаг: https://guides.cocoapods.org/making/private-cocoapods.html).

В вашем Podfile попробуйте заменить исходный URL-адрес вашего репо на указанный в вашей спецификации. Например:

source 'https://username@bitbucket.org/username/private-repo-specs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, ’10.3’

target 'OtherProject' do
  use_frameworks!
pod 'PrivateRepo'
end

Я также нашел эту статью полезной при настройке частного репо: https://medium.com/practical-code-labs/how-to-create-private-cocoapods-in-swift-3cc199976a18

EDIT

В нашем проекте мы теперь ссылаемся непосредственно на источник git в файле pod, поскольку это позволяет нам быстро менять ветви в pod и означает, что вы можете удалить 2 source строки, которые я упомянул выше. В любом случае, работает:).

Вот пример использования URL прямо в git-проекте в вашем файле pod:

pod ‘PrivatePod’, :git => "git@github.com:Test/privatepod.git"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...