web-dev-qa-db-ja.com

「iOS用の利用可能なシミュレーターが見つかりませんでした」というカーセージの更新の失敗-Xcode 10.1、macOS Mojave(10.14.2)

Carthageを使用してプロジェクトにRealmをインストールしようとしています。以前は機能していましたが、新しいMacBook Pro(15インチ、2018、TouchBar)に切り替えた後、次のエラーが発生します。

carthage update --no-use-binaries --platform iOS
*** Fetching realm-cocoa
*** Checking out realm-cocoa at "v3.13.0"
*** xcodebuild output can be found in /var/folders/m4/1z0tvn6d67q2rqwcjvndy80m0000gn/T/carthage-xcodebuild.2vfx4v.log
*** Building scheme "Realm" in Realm.xcworkspace
Could not find any available simulators for iOS

Carthage(0.31.2)のアンインストールと再インストールを試して、これらの回答に記載されている手順に従いました。

スタックオーバーフローの質問

カルタゴGitの問題

カルタゴの修正と解放

xcrun simctl list devices --json

     {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad Pro",
        "udid" : "94790E33-EA0A-40B4-BA0A-19CC8D976A6F",
        "availabilityError" : ""
      }

Carthageのデバッグ

(lldb) po devices[latestOSName]?.first { $0.isAvailable }
▿ Optional<Simulator>
  ▿ some : Simulator
    - isAvailable : true
    - name : "iPhone 5s"
    - udid : 87A9C887-034C-44A8-8F30-C90AF9ACCBCC

(lldb) po sdk.platform
XCDBLD.Platform.iOS

(lldb) po sdk.platform.rawValue
"iOS"

この問題はまだ存在しているようです。これを修正して最新のXcodeバージョンで動作するようにする方法はありますか?

10
Sasi M

おそらくそれを少し絞り込むために行うことができるいくつかのチェック:

カルタゴバージョン

carthage version

出力する必要があります

0.31.2

複数のXcodeがインストールされています

xcode-select -p

与えるべき

/Applications/Xcode.app/Contents/Developer

標準インストールの場合。

シミュレータ

xcrun simctl list devices --json 

次のようなリストが出力されます。

{
  "devices" : {
    "iOS 12.1" : [
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 5s",
        "udid" : "1A6959A0-C10F-474B-96C5-7E8955FBDD80",
        "availabilityError" : ""
      },
  ...

シミュレータがない場合は、Xcode <Window/Devices and Simulators>を使用して追加します。

エントリがある場合は、trueを値として持つ「isAvailable」エントリがあるかどうかを確認してください。

"isAvailable" : true,

そうでない場合は、Xcodeのインストールを確認してください。

キャッシュを削除

誰かがしようとすることができます

  • xcodeを終了する
  • carthageおよびXcode派生データフォルダーのキャッシュを削除する

いつものようにrm -rfを使用するときは注意が必要です。

rm -rf ~/Library/Caches/org.carthage.CarthageKit 
rm -rf <your project folder>/Carthage
xcrun simctl delete unavailable

その後、もう一度お試しください:

carthage update --no-use-binaries --platform iOS

デバッグカルタゴ

Carthageのいいところは、オープンソースであり、Swiftで書かれていることです。

それをデバッグするには、次のようにします。

  • xcodeを終了する
  • ターミナルでフォルダを作成し、そのフォルダに移動します

次に:

git clone https://github.com/Carthage/Carthage.git
cd Carthage
git checkout 0.31.2
make bootstrap
open Carthage.xcworkspace

その後、コマンドライン引数を入力する必要があります。そうするには:

  • xcodeでは<Product/Scheme/Edit Scheme ...>を使用します
  • 左側で「実行/デバッグ」を選択します
  • 右側のタブ「引数」を選択します
  • 「起動時に渡される引数」をupdate --no-use-binaries --platform iOSに変更します

Arguments

  • 「オプション」タブに切り替えます
  • カートファイルが存在するパスを「作業ディレクトリ」として入力します

Workding Directory

最終的に:

  • carthage/Source/CarthageKit/Simulator.Swiftを開きます
  • メソッドにブレークポイントを設定するselectAvailableSimulator

次に、何が問題なのかをデバッグできます。

すべて問題なければ、次のようになります。

Debug Session

Xcodeから実行したときにエラーが発生しなかった場合は、ブレークポイントなしで完全にXcodeで実行し、コンパイルを実行する時間を与えます。

Xcodeプロジェクトからカルタゴの更新が成功した場合は、ここで説明するように、現在のカルタゴのインストールをアンインストールします。

OS XからCarthageをアンインストールする方法?

次に、ターミナルでMakefileが存在するCarthageプロジェクトフォルダーに移動し、次のように入力します。

'make install'

その後、コマンドラインからもう一度試すことができます。うまくいくはずです!

13

私はこの同じ問題をCarthageをバージョン0.32.0にアップグレードすることで解決しました:

brew upgrade carthage

PS:Xcodeをバージョン10.2に更新した後に問題が発生しました

4
veladan

Carthage 0.31.2を0.33.0にアップグレードするこの同じ問題を次の方法で解決しました:

brew upgrade carthage

PS:Xcodeをバージョン10.2に更新した後に問題が発生しました

2
Ender

以前のバージョンのカルタゴをインストールしてみてください

brew install carthage 0.30.1

1