Неверная строка номера версии - Cocoapods - PullRequest
0 голосов
/ 28 апреля 2020

Предисловие: я полный новичок в этом и следовал инструкциям через OneSignal, чтобы завершить эту часть. Тем не менее, я продолжаю сталкиваться с той же проблемой, независимо от того, что я пытаюсь.

Цель: попытка настроить уведомления pu sh с помощью iOS. В данный момент у меня нет Ma c, поэтому я использую VirtualBox.

Проблема: Я ожидаю завершения процесса и создания файла xcworkspace в папке, на которой я использую терминал.

Вместо этого я получаю сообщение об ошибке. Вот полный журнал:

――― ШАБЛОН УДАРА ――――――――――――――――――――――――――――――――― 100

Команда

/usr/local/bin/pod install

Отчет

  • Что вы делали?

  • Что вы ожидали?

  • Что произошло вместо?

Стек

   CocoaPods : 1.9.1
        Ruby : ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19]
    RubyGems : 3.1.2
        Host : Mac OS X 10.15.4 (19E287)
       Xcode :  ()
         Git : git version 2.24.2 (Apple Git-127)
Ruby lib dir : /Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib
Repositories : 

Плагины

cocoapods-deintegrate : 1.0.4
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.1.0
cocoapods-trunk       : 1.4.1
cocoapods-try         : 1.2.0

Подфайл

target 'OneSignalNotification?' do
  pod 'OneSignal', '>= 2.11.2', '< 3.0'
end

target 'OneSignalNotificationServiceExtension' do
  pod 'OneSignal', '>= 2.11.2', '< 3.0'
end

Ошибка

ArgumentError - Malformed version number string iOS 10
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/version.rb:47:in `initialize'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/vendor/version.rb:199:in `new'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/vendor/version.rb:199:in `new'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer/target_inspector.rb:150:in `block in compute_platform'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer/target_inspector.rb:146:in `each'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer/target_inspector.rb:146:in `compute_platform'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer/target_inspector.rb:43:in `compute_results'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:1180:in `block (3 levels) in inspect_targets_to_integrate'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:1178:in `each'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:1178:in `block (2 levels) in inspect_targets_to_integrate'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:1176:in `each'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:1176:in `block in inspect_targets_to_integrate'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/user_interface.rb:64:in `section'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:1171:in `inspect_targets_to_integrate'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:106:in `analyze'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer.rb:410:in `analyze'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer.rb:235:in `block in resolve_dependencies'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/user_interface.rb:64:in `section'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer.rb:234:in `resolve_dependencies'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/installer.rb:156:in `install!'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/command/install.rb:52:in `run'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/lib/cocoapods/command.rb:52:in `run'
/Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
/Users/paulmanghan/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `eval'
/Users/paulmanghan/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `<main>'

――― ШАБЛОН КОНЕЦ ―――――――――――――――――――――――――――――――――――――――――――――――― 10

[!] О нет, произошла ошибка.

Поиск существующих проблем GitHub, похожих на вашу: https://github.com/CocoaPods/CocoaPods/search?q=Malformed+version+number+string+iOS+10&type=Issues

Если ничего не существует, создайте заявку с шаблоном, показанным выше, на: https://github.com/CocoaPods/CocoaPods/issues/new* 10 53 *

Обязательно сначала прочитайте руководство для получения подробной информации о том, как правильно отправить заявку: https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Не забудьте анонимизировать любые личные данные !

Поиск связанных проблем с кокаподами / cocoapods ... /Users/paulmanghan/.rvm/rubies/ruby-2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods- 1.9.1 / lib / cocoapods / user_interface / inspector_reporter.rb: 80: предупреждение: URI.escape устарел - ArgumentError - искаженная строка номера версии ~> 4.0 https://github.com/CocoaPods/CocoaPods/issues/9667 [открыть] [0 комментариев] 4 недель a go

/ Пользователи / paulmanghan / .rvm / rubies / ruby -2.7.0 / lib / ruby ​​/ gems / 2.7.0 / gems / cocoapods-1.9.1 / lib / cocoapods /user_interface/inspector_reporter.rb:80: предупреждение: URI.escape устарел - Устойчивость использования Github в качестве подспе c source https://github.com/CocoaPods/CocoaPods/issues/10 [закрыто] [3 комментария] 07 июня 2012

/ Пользователи / paulmanghan / .rvm / рубины / ruby -2.7.0 / Библиотека / рубин / драгоценные камни / 2.7.0 / драгоценные камни / cocoapods-1.9.1 / Библиотека / cocoapods / user_interface / inspector_reporter.rb: 80: предупреждение: URI.escape is устарел - искаженная строка номера версии https://github.com/CocoaPods/CocoaPods/issues/7765 [закрыто] [47 комментариев] 26 августа 2019

и еще 22 по адресу: https://github.com/cocoapods/cocoapods/search?q=Malformed%20version%20number%20string%20iOS%2010&type=Issues&utf8=

[!] Автоматическое назначение платформы iOS с версией 12.4 для цели OneSignalNotification?, поскольку платформа не указана. Пожалуйста, укажите платформу для этой цели в вашем Podfile. Смотри https://guides.cocoapods.org/syntax/podfile.html#platform. paulmanghan@iMac OneSignalNotification? %

Я попытался обновить Ruby, обновить RM C, Cocoapods, переустановить их все, но ничего не работает. Это насколько я могу получить. Если это что-то меняет, то руководство, которым я следую, таково:

https://documentation.onesignal.com/docs/ios-sdk-setup

Существует аналогичная проблема 2018 года, и я попробовал все решения в этой теме, но безрезультатно. У меня заканчиваются варианты сейчас. Надеюсь, кто-то может помочь.

Спасибо, я ценю ваше время.

1 Ответ

0 голосов
/ 28 апреля 2020

https://github.com/CocoaPods/Core/blob/master/lib/cocoapods-core/version.rb

Комментарии в верхней части файла объясняют, что этот класс ожидает аргумент 'version', который является либо String, либо ранее определенной версией

# @param  [String,Version] version
#         A string representing a version, or another version.

И примеры версий выглядят так:

  # Prereleases sort between real releases (newest to oldest):
  #
  # 1. 1.0
  # 2. 1.0.b1
  # 3. 1.0.a.2
  # 4. 0.9

Что заставляет меня думать, что вы не можете передать "iOS 10" здесь. Я не уверен, куда вы передаете параметр iOS 10 - но это не является действительной версией.

Вкратце - сообщение об ошибке исходит от Ruby модуля, который По-видимому, он используется для создания версий gem для semanti c, как мы видим из верхней части файла:

 # It is based on the RubyGems class adapted to support head information.
  #
  # ### From RubyGems:
  #
  # The Version class processes string versions into comparable
  # values. A version string should normally be a series of numbers
  # separated by periods. Each part (digits separated by periods) is
  # considered its own number, and these are used for sorting. So for
  # instance, 3.10 sorts higher than 3.2 because ten is greater than
  # two.

И по любой причине - строка 23 в вашем 'pod' запускает этот процесс передачи информации о версии через множество других модулей, наконец, получая к version.rb и version.rb, выдает ошибку на том, что было первоначально передано.

Я не уверен, что именно вы должны изменить - я могу лишь указать вам, что говорится в сообщении об ошибке, - и вам нужно будет отступить назад, пока вы не найдете часть iOS 10 (я видел изображение в руководстве, которое вы связали) и изменить его, чтобы увидеть, если в следующий раз вы получите другой вывод.

...