Coder Social home page Coder Social logo

fourflusher's Introduction

four-flusher

A library for interacting with Xcode simulators.

Installation

Add this line to your application's Gemfile:

gem 'fourflusher'

And then execute:

$ bundle

Or install it yourself as:

$ gem install fourflusher

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/CocoaPods/fourflusher.

License

The gem is available as open source under the terms of the MIT License.

fourflusher's People

Contributors

alloy avatar benasher44 avatar colinhumber avatar dnkoutso avatar endocrimes avatar jessesquires avatar mfiebig avatar neonichu avatar radex avatar romantruba avatar segiddins avatar slaunchaman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fourflusher's Issues

I cant release my cocoapod because i get error

error I get is

 -> JTAppleCalendar (8.0.1)
    - ERROR | [iOS] unknown: Encountered an unknown error (Could not find a `ios` simulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least one `ios` simulator listed or otherwise add one.) during validation.

Is there any way I can debug why it is not finding any simulator?

DEVELOPER_DIR shell variable seems to not be respected in Cocoapods 1.0.1

I am doing the following in our CI build DEVELOPER_DIR=/Applications/Xcode6.4.app build_script.sh

The script runs a pod repo push --allow-warnings --use-libraries --verbose

In CocoaPods 0.37.1 we never had issues.

We are now getting an error

  • ERROR | [iOS] unknown: Encountered an unknown error (/Applications/Xcode7.2.app/Contents/Developer/usr/bin/xcrun simctl list devices

xcrun: error: unable to find Xcode installation from active developer path "/Applications/Xcode7.2.app", use xcode-select to change

/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/fourflusher-0.3.2/lib/fourflusher/executable.rb:101:in execute_command' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/fourflusher-0.3.2/lib/fourflusher/executable.rb:58:inblock in executable'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/fourflusher-0.3.2/lib/fourflusher/simctl.rb:16:in simctl!' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/fourflusher-0.3.2/lib/fourflusher/simctl.rb:10:inlist'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/fourflusher-0.3.2/lib/fourflusher/find.rb:72:in usable_simulators' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/fourflusher-0.3.2/lib/fourflusher/find.rb:64:insimulator'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/fourflusher-0.3.2/lib/fourflusher/xcodebuild.rb:7:in destination' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:717:inxcodebuild'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:478:in block in build_pod' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:141:inmessage'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:477:in build_pod' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:274:inblock in perform_extensive_analysis'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:263:in each' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:263:inperform_extensive_analysis'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/validator.rb:81:in validate' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/push.rb:125:inblock in validate_podspec_files'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/push.rb:119:in each' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/push.rb:119:invalidate_podspec_files'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/push.rb:64:in run' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/claide-1.0.0/lib/claide/command.rb:334:inrun'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/lib/cocoapods/command.rb:50:in run' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/gems/cocoapods-1.0.1/bin/pod:55:in<top (required)>'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/bin/pod:23:in load' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/bin/pod:23:in

'
/Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/bin/ruby_executable_hooks:15:in eval' /Users/jenkins/.rvm/gems/ruby-2.2.1@omnibus/bin/ruby_executable_hooks:15:in'
) during validation.

The command is failing in fourflusher, but if you run DEVELOPER_DIR=/Applications/Xcode6.4.app xcrun simctl list devices you will get a list of devices back.

If I change it to DEVELOPER_DIR=/Applications/Xcode6.4.app/Contents/Developer we no longer get this failure, however the other format is valid and should be respected

pod spec lint fails

Whenever I run pod spec lint with CocoaPods >= 1.6.0 and <= 1.7.0 beta 2, I get below error. Have no idea of understanding the issue from error message. I could get it succeed 1-2 times out of 100 tries.

#<Thread:0x00007fa400d29de8@/usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:180 run> terminated with exception (report_on_exception is true):
/usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:184:in `readpartial': closed stream (IOError)
	from /usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:184:in `block (2 levels) in reader'
	from /usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:183:in `loop'
	from /usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:183:in `block in reader'
#<Thread:0x00007fa40138eb98@/usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:180 run> terminated with exception (report_on_exception is true):
/usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:184:in `readpartial': closed stream (IOError)
	from /usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:184:in `block (2 levels) in reader'
	from /usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:183:in `loop'
	from /usr/local/lib/ruby/gems/2.6.0/gems/fourflusher-2.2.0/lib/fourflusher/executable.rb:183:in `block in reader'

I was using Xcode 8.3.3 with CocoaPods 1.5.3 and it worked fine. After I updated Xcode to 10.1, pod spec lint has never succeeded.

Multiple xcodes lint error

Report

What did you do?

pod trunk push

What did you expect to happen?

My pod to update to version 0.0.2

What happened instead?

pod trunk push

[!] Found podspec MyPod.podspec
Updating spec repo trunk
Validating podspec
-> MyPod (0.0.2)
- ERROR | [iOS] unknown: Encountered an unknown error (Could not find a ios simulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least one ios simulator listed or otherwise add one.) during validation.

[!] The spec did not pass validation, due to 1 error.

CocoaPods Environment

Stack

   CocoaPods : 1.9.1
        Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
    RubyGems : 3.0.3
        Host : Mac OS X 10.15.4 (19E287)
       Xcode : 11.4.1 (11E503a)
         Git : git version 2.22.0
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
Repositories : ActivityIndicatorView - git - [email protected]:exyte/ActivityIndicatorView.git @ d8c3463e70761c3145213ca207fb7d6857910f0b

               ConcentricOnboarding - git - https://github.com/exyte/ConcentricOnboarding.git @ cae6c2c9571e09a4c279b4345a0da4eeadd740da

               ExytePopupView - git - [email protected]:exyte/PopupView.git @ 74e04cb93708b7e353370f0ddce46474bef107c4

               FloatingActionButton - git - [email protected]:exyte/FloatingActionButton.git @ 775df71ca04c88e49d5b80ee25a54ecf0031586c

               FloatingButton - git - [email protected]:exyte/FloatingActionButton.git @ 775df71ca04c88e49d5b80ee25a54ecf0031586c

               master - git - https://github.com/CocoaPods/Specs.git @ 1f9c546eb319925c434b74b0bb6bea5cc6515852

               trunk - CDN - https://cdn.cocoapods.org/

Installation Source

Executable Path: /usr/local/bin/pod

Plugins

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

I am aware there are a lot of these out here (like this one CocoaPods/CocoaPods#8163), but they all seem to be closed, and the solution does not help me. I also know that the issue is on my side, because I had two xcodes installed at one time, and it won't reproduce for you. Other people on my team can update the pod, just not me. Since I had two xcodes (I deleted one now) fourflusher (or whoever is responsible for finding the simulator) keeps insisting on using some non-existant beta simulator and consequently my trunk push fails. I selected the correct xcode through xcode-select, which used to help, but it didn't this time.

And here is my feature request: Could you please make it so that if fourflusher can't find a simulator it wants, it then proceeds to use another one? Or that it pays attention to selected xcode version and doesn't try to use beta simulators in the first place? Or maybe so that I can pass the correct simulator to use manually with an argument or something. Thank you for taking time to read this, hope to hear from you soon, sorry if it's already been suggested or is stupid/impossible.

PR #19 missing in 2.3.0 release

Hi,

#19 is missing in the 2.3.0. The PR is merged in the branch stable-2-2, though no release containing the fix is available. It seems that stable-2-2 is not merged into stable-2-3.

I have no rights to fix this, but if I can help somehow, tell me :)

Can't `pod spec lint` due to watch simulator issues

Get the code:

$ git clone https://github.com/soffes/ISO8601
$ cd ISO8601
$ git checkout v0.5.2

Try to lint:

$ pod spec lint --verbose

Output: https://gist.github.com/soffes/3fa2f8fa7ee3bb14225d738aaa42918b

Simulator list:

$ xcrun simctl list
== Device Types ==
iPhone 4s (com.apple.CoreSimulator.SimDeviceType.iPhone-4s)
iPhone 5 (com.apple.CoreSimulator.SimDeviceType.iPhone-5)
iPhone 5s (com.apple.CoreSimulator.SimDeviceType.iPhone-5s)
iPhone 6 (com.apple.CoreSimulator.SimDeviceType.iPhone-6)
iPhone 6 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-6-Plus)
iPhone 6s (com.apple.CoreSimulator.SimDeviceType.iPhone-6s)
iPhone 6s Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-6s-Plus)
iPad 2 (com.apple.CoreSimulator.SimDeviceType.iPad-2)
iPad Retina (com.apple.CoreSimulator.SimDeviceType.iPad-Retina)
iPad Air (com.apple.CoreSimulator.SimDeviceType.iPad-Air)
iPad Air 2 (com.apple.CoreSimulator.SimDeviceType.iPad-Air-2)
iPad Pro (com.apple.CoreSimulator.SimDeviceType.iPad-Pro)
Apple TV 1080p (com.apple.CoreSimulator.SimDeviceType.Apple-TV-1080p)
Apple Watch - 38mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-38mm)
Apple Watch - 42mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-42mm)
== Runtimes ==
iOS 9.2 (9.2 - 13C75) (com.apple.CoreSimulator.SimRuntime.iOS-9-2)
iOS 9.3 (9.3 - 13E230) (com.apple.CoreSimulator.SimRuntime.iOS-9-3)
tvOS 9.1 (9.1 - 13U85) (com.apple.CoreSimulator.SimRuntime.tvOS-9-1)
tvOS 9.2 (9.2 - 13Y227) (com.apple.CoreSimulator.SimRuntime.tvOS-9-2)
watchOS 2.1 (2.1 - 13S661) (com.apple.CoreSimulator.SimRuntime.watchOS-2-1)
watchOS 2.2 (2.2 - 13V143) (com.apple.CoreSimulator.SimRuntime.watchOS-2-2)
== Devices ==
-- iOS 9.2 --
-- iOS 9.3 --
    iPhone 4s (A9230F39-185D-4785-86BF-6011571CC5A6) (Shutdown)
    iPhone 5s (981BC572-BBD6-409D-80A7-1CF07893E6B2) (Shutdown)
    iPhone 6s (E417E4C5-5919-4811-B980-781F26ADB284) (Shutdown)
    iPhone 6s Plus (D7BF3AE2-16F4-4DEF-81A1-462DFB65FF1B) (Shutdown)
    iPad 2 (2E16A08D-F65D-475E-9291-DF604201EF3A) (Shutdown)
    iPad Air 2 (C67F2B44-F229-4C53-9294-D81AFAB76806) (Shutdown)
    iPad Pro (35BC7B49-1182-4994-92F5-2B3463CD04C8) (Shutdown)
-- tvOS 9.1 --
-- tvOS 9.2 --
    Apple TV 1080p (36BF40C5-AC7E-4AE1-AFE7-AF5D2DA3B64B) (Shutdown)
-- watchOS 2.1 --
    Apple Watch - 38mm (D8EAD607-42B0-4AEB-A7E8-ECF409722735) (Shutdown)
    Apple Watch - 42mm (18932F81-9A9C-481E-B214-6E63109EC2C2) (Shutdown)
-- watchOS 2.2 --
    Apple Watch - 38mm (5D4F165E-EED0-461A-AE06-C7E34B6ED2F7) (Shutdown)
    Apple Watch - 42mm (E41D2A86-FA49-4B2F-AC6D-6499A6C64563) (Shutdown)
== Device Pairs ==
92566CCD-8368-484A-8F7B-1E4DD216EED8 (active, disconnected)
    Watch: Apple Watch - 38mm (5D4F165E-EED0-461A-AE06-C7E34B6ED2F7) (Shutdown)
    Phone: iPhone 6s (E417E4C5-5919-4811-B980-781F26ADB284) (Shutdown)
7D65630F-F3C1-4D0C-B362-E4D7D028D059 (active, disconnected)
    Watch: Apple Watch - 42mm (E41D2A86-FA49-4B2F-AC6D-6499A6C64563) (Shutdown)
    Phone: iPhone 6s Plus (D7BF3AE2-16F4-4DEF-81A1-462DFB65FF1B) (Shutdown)

Cocoapods 1.1.0.rc.3, pod validation failed caused by fourflusher

Hi again.
Just updated to Cocoapods 1.1.0.rc.3, and now I can't validate or push a pod using in cause of fourflusher bug.
I'm doing pod repo push *private_name* --use-libraries --allow-warnings --verbose --sources=*private_repo*,https://github.com/CocoaPods/Specs.git

But it fails with error

Encountered an unknown error (comparison of Fourflusher::Simulator with Fourflusher::Simulator failed
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/fourflusher-2.0.0/lib/fourflusher/find.rb:132:in `sort'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/fourflusher-2.0.0/lib/fourflusher/find.rb:132:in `fetch_sims'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/fourflusher-2.0.0/lib/fourflusher/find.rb:97:in `usable_simulators'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/fourflusher-2.0.0/lib/fourflusher/find.rb:93:in `simulator'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/fourflusher-2.0.0/lib/fourflusher/xcodebuild.rb:7:in `destination'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/validator.rb:758:in `xcodebuild'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/validator.rb:518:in `block in build_pod'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/user_interface.rb:142:in `message'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/validator.rb:517:in `build_pod'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/validator.rb:297:in `block in perform_extensive_analysis'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/validator.rb:286:in `each'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/validator.rb:286:in `perform_extensive_analysis'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/validator.rb:79:in `validate'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/command/repo/push.rb:127:in `block in validate_podspec_files'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/command/repo/push.rb:121:in `each'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/command/repo/push.rb:121:in `validate_podspec_files'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/command/repo/push.rb:66:in `run'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/claide-1.0.1/lib/claide/command.rb:334:in `run'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/lib/cocoapods/command.rb:50:in `run'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/gems/cocoapods-1.1.0.rc.3/bin/pod:55:in `<top (required)>'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/bin/pod:22:in `load'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/bin/pod:22:in `<main>'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/bin/ruby_executable_hooks:15:in `eval'
/Users/romantruba/.rvm/gems/ruby-2.3.0@railstutorial_rails_4_0/bin/ruby_executable_hooks:15:in `<main>'

fetch_sims fails when Xcode 11 beta 4 is installed

Hello everyone! I am observing errors with pod lib lint command that is running on our CI system that has Xcode 11 beta 4 installed (the project is build using Xcode 10.2.1). The new beta was released on July 17 and if it introduces new simulators list format, it could explain why this error seems to appear suddenly. Here is the error I see:

- ERROR | [iOS] unknown: Encountered an unknown error (784: unexpected token at '2019-07-21 04:16:06.554 xcodebuild[18065:179876] [MT] DVTFirstLaunchPackageInstallationHelper: Skipping all packages via default: DVTSkipFirstLaunchFrameworkVersionChecking
'
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/json/common.rb:156:in `parse'
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/json/common.rb:156:in `parse'
/Library/Ruby/Gems/2.3.0/gems/fourflusher-2.3.1/lib/fourflusher/find.rb:125:in `fetch_sims'
/Library/Ruby/Gems/2.3.0/gems/fourflusher-2.3.1/lib/fourflusher/find.rb:101:in `usable_simulators'
/Library/Ruby/Gems/2.3.0/gems/fourflusher-2.3.1/lib/fourflusher/find.rb:97:in `simulator'
/Library/Ruby/Gems/2.3.0/gems/fourflusher-2.3.1/lib/fourflusher/xcodebuild.rb:7:in `destination'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/validator.rb:993:in `xcodebuild'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/validator.rb:672:in `block in build_pod'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/user_interface.rb:145:in `message'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/validator.rb:663:in `build_pod'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/validator.rb:389:in `block in perform_extensive_analysis'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/validator.rb:377:in `each'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/validator.rb:377:in `perform_extensive_analysis'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/validator.rb:128:in `validate'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/command/lib/lint.rb:86:in `block in run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/command/lib/lint.rb:69:in `each'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/command/lib/lint.rb:69:in `run'
/Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.7.5/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:22:in `load'
/usr/local/bin/pod:22:in `<main>'

I am downloading the latest beta right now, but my assumption is that Apple has changed the simulators list format again, which is causing fetch_sims to fail. I will provide an update if I am able to reproduce the issue locally after the beta is installed.

fourflusher not honouring selected xcode

I'm aware there are a few issues in this repo already regarding disparity between current xcode version and cocoapods/fourflusher version, however I feel only the symptoms are being addressed and not the issue.

I could be wrong (so please correct me if I am), but it seems fourflusher isn't honouring the selected xcode version on the machine.

For example, we have a few build machines that have Xcode 10.1 and 10.2 installed alongside CocoaPods 1.5.3. With Xcode 10.1 selected, when I run xcrun simctl list I see a list of 12.1 simulators. Here is a snippet of the output:

== Runtimes ==
iOS 12.1 (12.1 - 16B91) - com.apple.CoreSimulator.SimRuntime.iOS-12-1 
tvOS 12.1 (12.1 - 16J602) - com.apple.CoreSimulator.SimRuntime.tvOS-12-1 
watchOS 5.1 (5.1 - 16R591) - com.apple.CoreSimulator.SimRuntime.watchOS-5-1 
== Devices ==
-- iOS 12.1 --
    iPhone 5s (62CAB7B3-76E1-4C65-8886-51ED36CA87D9) (Shutdown) 
    iPhone 6 (0AADE35F-36AA-40C2-B4C9-A67E576A2C2C) (Shutdown) 
    iPhone 6 Plus (3BBA817A-0CD7-4B84-BBD7-7B933315C5C2) (Shutdown) 
...

However, when I run pod spec lint it says it can't find simulators that match the output (e.g. com.apple.coresimulator.simruntime.ios-12-1)

Fourflusher should use the selected / active version of Xcode (based on the output from xcode-select -p or xcversion selected).

pod spec lint -> xcode 10.2

Whenever I run pod spec lint I get this output:

ERROR | [iOS] unknown: Encountered an unknown error (Could not find a `ios` simulator (valid values: com.apple.coresimulator.simruntime.ios-12-1, com.apple.coresimulator.simruntime.ios-12-2, com.apple.coresimulator.simruntime.tvos-12-2, com.apple.coresimulator.simruntime.watchos-5-2). Ensure that Xcode -> Window -> Devices has at least one `ios` simulator listed or otherwise add one.) during validation.

While there are multiple devices available with ios 12.2

$ xcrun simctl list
== Device Types ==
iPhone 4s (com.apple.CoreSimulator.SimDeviceType.iPhone-4s)
iPhone 5 (com.apple.CoreSimulator.SimDeviceType.iPhone-5)
iPhone 5s (com.apple.CoreSimulator.SimDeviceType.iPhone-5s)
iPhone 6 (com.apple.CoreSimulator.SimDeviceType.iPhone-6)
iPhone 6 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-6-Plus)
iPhone 6s (com.apple.CoreSimulator.SimDeviceType.iPhone-6s)
iPhone 6s Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-6s-Plus)
iPhone 7 (com.apple.CoreSimulator.SimDeviceType.iPhone-7)
iPhone 7 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-7-Plus)
iPhone 8 (com.apple.CoreSimulator.SimDeviceType.iPhone-8)
iPhone 8 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus)
iPhone SE (com.apple.CoreSimulator.SimDeviceType.iPhone-SE)
iPhone X (com.apple.CoreSimulator.SimDeviceType.iPhone-X)
iPhone Xs (com.apple.CoreSimulator.SimDeviceType.iPhone-XS)
iPhone Xs Max (com.apple.CoreSimulator.SimDeviceType.iPhone-XS-Max)
iPhone Xʀ (com.apple.CoreSimulator.SimDeviceType.iPhone-XR)
iPad mini (5th generation) (com.apple.CoreSimulator.SimDeviceType.iPad-mini--5th-generation-)
iPad Air (3rd generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Air--3rd-generation-)
iPad 2 (com.apple.CoreSimulator.SimDeviceType.iPad-2)
iPad Retina (com.apple.CoreSimulator.SimDeviceType.iPad-Retina)
iPad Air (com.apple.CoreSimulator.SimDeviceType.iPad-Air)
iPad mini 2 (com.apple.CoreSimulator.SimDeviceType.iPad-mini-2)
iPad mini 3 (com.apple.CoreSimulator.SimDeviceType.iPad-mini-3)
iPad mini 4 (com.apple.CoreSimulator.SimDeviceType.iPad-mini-4)
iPad Air 2 (com.apple.CoreSimulator.SimDeviceType.iPad-Air-2)
iPad (5th generation) (com.apple.CoreSimulator.SimDeviceType.iPad--5th-generation-)
iPad Pro (9.7-inch) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--9-7-inch-)
iPad Pro (12.9-inch) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro)
iPad Pro (12.9-inch) (2nd generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---2nd-generation-)
iPad Pro (10.5-inch) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--10-5-inch-)
iPad (6th generation) (com.apple.CoreSimulator.SimDeviceType.iPad--6th-generation-)
iPad Pro (11-inch) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--11-inch-)
iPad Pro (12.9-inch) (3rd generation) (com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---3rd-generation-)
Apple TV (com.apple.CoreSimulator.SimDeviceType.Apple-TV-1080p)
Apple TV 4K (com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-4K)
Apple TV 4K (at 1080p) (com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-1080p)
Apple Watch - 38mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-38mm)
Apple Watch - 42mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-42mm)
Apple Watch Series 2 - 38mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-2-38mm)
Apple Watch Series 2 - 42mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-2-42mm)
Apple Watch Series 3 - 38mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-3-38mm)
Apple Watch Series 3 - 42mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-3-42mm)
Apple Watch Series 4 - 40mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-4-40mm)
Apple Watch Series 4 - 44mm (com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-4-44mm)
== Runtimes ==
iOS 12.1 (12.1 - 16B91) - com.apple.CoreSimulator.SimRuntime.iOS-12-1 
iOS 12.2 (12.2 - 16E226) - com.apple.CoreSimulator.SimRuntime.iOS-12-2 
tvOS 12.2 (12.2 - 16L225) - com.apple.CoreSimulator.SimRuntime.tvOS-12-2 
watchOS 5.2 (5.2 - 16T224) - com.apple.CoreSimulator.SimRuntime.watchOS-5-2 
== Devices ==
-- iOS 12.1 --
    iPhone 5s (A6EE7783-0129-4FB0-B58F-50D6D80179AD) (Shutdown) 
    iPhone 6 (1A391BF6-EC94-42EA-A06D-D1420719F3B9) (Shutdown) 
    iPhone 6 Plus (C6E7BCE5-7E3D-4F94-A1CE-EE35EFF4D8E5) (Shutdown) 
    iPhone 6s (A7F8CE60-D0DB-4E7B-8FE4-2FEB0F029FDA) (Shutdown) 
    iPhone 6s Plus (85074E31-8AEF-4CCC-8FD6-7B5063014C52) (Shutdown) 
    iPhone 7 (3EA6C580-8428-4AE6-BA3B-D8702120DAAE) (Shutdown) 
    iPhone 7 Plus (49685908-E942-4E6E-850F-E4E23270ADEC) (Shutdown) 
    iPhone 8 (56EC4402-E062-496C-9757-B715018FC7D4) (Shutdown) 
    iPhone 8 Plus (83AE1A8D-EFAE-4CE9-95FB-09DA15A401B9) (Shutdown) 
    iPhone SE (2E716BFB-C67F-42DE-BB07-0E1937A21ECC) (Shutdown) 
    iPhone X (A3BD0C17-22EE-49B2-8A78-43BEFBA90347) (Shutdown) 
    iPhone XS (66C8994D-06EC-4F12-9C42-C5B793100E5E) (Shutdown) 
    iPhone XS Max (B9C0EEC0-D783-46A7-A883-BA7D089A4BB9) (Shutdown) 
    iPhone XR (7DFED74A-FFD3-4D84-BB4E-8869340CD23C) (Shutdown) 
    iPad Air (E7EBFE5B-2D96-43C9-92FD-D1C20D1D57BB) (Shutdown) 
    iPad Air 2 (46E0D053-113B-45EB-9464-29C97E8F4143) (Shutdown) 
    iPad (5th generation) (65A02B64-1FBA-45E0-BB9D-955D52328DC2) (Shutdown) 
    iPad Pro (9.7-inch) (79A43BF8-4817-4537-8EF3-87782FF977D1) (Shutdown) 
    iPad Pro (12.9-inch) (9F84BB0C-D4CE-4E5C-B863-3A178AC69D1A) (Shutdown) 
    iPad Pro (12.9-inch) (2nd generation) (8174144C-B2F2-4E29-8A01-58C433817042) (Shutdown) 
    iPad Pro (10.5-inch) (3D39A233-B564-4786-A9C4-8811CE8E92C3) (Shutdown) 
    iPad (6th generation) (09571543-B1BF-4863-82E2-C2EEBE83A17B) (Shutdown) 
    iPad Pro (11-inch) (2AF50A50-206E-4675-9D36-4180C12226D0) (Shutdown) 
    iPad Pro (12.9-inch) (3rd generation) (03CD19CB-DDBC-482E-92C1-852E8B8020F3) (Shutdown) 
-- iOS 12.2 --
    iPhone 5s (F6B43B46-49AB-4B8F-894F-0BD226C5A206) (Shutdown) 
    iPhone 6 (09981550-1FE6-4408-9E9E-8680D3F6460B) (Shutdown) 
    iPhone 6 Plus (06547005-A1FA-4D24-AFEA-9947ACDF1E97) (Shutdown) 
    iPhone 6s (7693EA87-82D7-4410-945E-0814249760F5) (Shutdown) 
    iPhone 6s Plus (5B412695-3327-4EEB-AA46-BC29A1D3672B) (Shutdown) 
    iPhone 7 (82207F25-EEFF-481C-9E01-F221911B8656) (Shutdown) 
    iPhone 7 Plus (2FC6822E-D4AC-47D9-9563-52EB4C73850C) (Shutdown) 
    iPhone 8 (53F90179-F6F2-459B-BA27-A7A2838D8128) (Shutdown) 
    iPhone 8 Plus (51467C5E-DA75-4808-8406-84A88A272420) (Shutdown) 
    iPhone SE (386197D0-E892-47F8-B20A-828A4CE37767) (Shutdown) 
    iPhone X (3BE7AAE6-8179-45A3-A3A9-47B39CB85CD4) (Shutdown) 
    iPhone Xs (97AD9B62-14C1-4B85-87F5-1228DBB0A2F4) (Shutdown) 
    iPhone Xs Max (03E616D3-C092-4C5D-A6FD-30B34C8DB682) (Shutdown) 
    iPhone Xʀ (6FBE4E6D-C996-4C12-8E53-382C0F676916) (Shutdown) 
    iPad Air (3rd generation) (47AD274A-D861-4536-8DBA-982B463BAD77) (Shutdown) 
    iPad Air (66638BC6-5231-48A1-8103-86EB09C174B0) (Shutdown) 
    iPad Air 2 (FA0B756F-0618-4A43-B595-E7337039152E) (Shutdown) 
    iPad (5th generation) (D76BC7EE-BD12-44F8-A731-79185E41F88F) (Shutdown) 
    iPad Pro (9.7-inch) (99658838-2297-4D2D-B0D0-4138CBE9D068) (Shutdown) 
    iPad Pro (12.9-inch) (12A7D873-8473-4B21-851A-31D2AD7A7EEB) (Shutdown) 
    iPad Pro (12.9-inch) (2nd generation) (63EAC997-7CE6-40EF-B523-205E12F405A3) (Shutdown) 
    iPad Pro (10.5-inch) (29A6EC49-7F33-4124-9802-EC92E4A7E437) (Shutdown) 
    iPad (6th generation) (6CA11FC2-C055-464A-997B-084931CBB00F) (Shutdown) 
    iPad Pro (11-inch) (9A682523-BE51-4603-9BDC-1181E035905E) (Shutdown) 
    iPad Pro (12.9-inch) (3rd generation) (3125372C-CE7E-468C-BD46-E7EC7E86B36D) (Shutdown) 
-- tvOS 12.2 --
    Apple TV (5F2D8C58-8220-4306-A59E-3A98E57E7CD7) (Shutdown) 
    Apple TV 4K (7B4722B8-2047-4E98-A9F5-B9B833818CB9) (Shutdown) 
    Apple TV 4K (at 1080p) (3BFCAD76-7202-401E-AF82-8BE7D5AA0BFF) (Shutdown) 
-- watchOS 5.2 --
    Apple Watch Series 2 - 38mm (7D860666-B2CE-40AA-A6A9-CC0463D8FBE4) (Shutdown) 
    Apple Watch Series 2 - 42mm (6F30D22E-6247-496A-8739-D283C448B5BC) (Shutdown) 
    Apple Watch Series 3 - 38mm (B49BA647-EC5D-4CDA-9D18-04E5985E2A2A) (Shutdown) 
    Apple Watch Series 3 - 42mm (F5676BAB-2CFF-4E24-A45E-51BC7EF70E28) (Shutdown) 
    Apple Watch Series 4 - 40mm (5D7E915A-B323-410A-BED0-D67F509743BE) (Shutdown) 
    Apple Watch Series 4 - 44mm (EB520F19-9E5E-41F3-9880-7FE9B42D5F0C) (Shutdown) 
== Device Pairs ==
E68BEE28-C810-4016-8DBF-4A94989AACC7 (active, disconnected)
    Watch: Apple Watch Series 4 - 40mm (5D7E915A-B323-410A-BED0-D67F509743BE) (Shutdown)
    Phone: iPhone Xs (97AD9B62-14C1-4B85-87F5-1228DBB0A2F4) (Shutdown)
952D5FD5-2BBC-481E-81C1-4FE5D200050F (active, disconnected)
    Watch: Apple Watch Series 4 - 44mm (EB520F19-9E5E-41F3-9880-7FE9B42D5F0C) (Shutdown)
    Phone: iPhone Xs Max (03E616D3-C092-4C5D-A6FD-30B34C8DB682) (Shutdown)

Environment:

  • Xcode 10.2
  • MacOS 10.14.4
  • cocoapods (1.6.1)
  • cocoapods-clean (0.0.1)
  • cocoapods-core (1.6.1)
  • cocoapods-deintegrate (1.0.4)
  • cocoapods-downloader (1.2.2)
  • cocoapods-plugins (1.0.0)
  • cocoapods-search (1.0.0)
  • cocoapods-stats (1.1.0)
  • cocoapods-trunk (1.3.1)
  • cocoapods-try (1.1.0)
  • fourflusher (2.2.0)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.