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)のアンインストールと再インストールを試して、これらの回答に記載されている手順に従いました。
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バージョンで動作するようにする方法はありますか?
おそらくそれを少し絞り込むために行うことができるいくつかのチェック:
カルタゴバージョン
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のインストールを確認してください。
キャッシュを削除
誰かがしようとすることができます
いつものように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で書かれていることです。
それをデバッグするには、次のようにします。
次に:
git clone https://github.com/Carthage/Carthage.git
cd Carthage
git checkout 0.31.2
make bootstrap
open Carthage.xcworkspace
その後、コマンドライン引数を入力する必要があります。そうするには:
update --no-use-binaries --platform iOS
に変更します最終的に:
selectAvailableSimulator
次に、何が問題なのかをデバッグできます。
すべて問題なければ、次のようになります。
Xcodeから実行したときにエラーが発生しなかった場合は、ブレークポイントなしで完全にXcodeで実行し、コンパイルを実行する時間を与えます。
Xcodeプロジェクトからカルタゴの更新が成功した場合は、ここで説明するように、現在のカルタゴのインストールをアンインストールします。
次に、ターミナルでMakefileが存在するCarthageプロジェクトフォルダーに移動し、次のように入力します。
'make install'
その後、コマンドラインからもう一度試すことができます。うまくいくはずです!
私はこの同じ問題をCarthageをバージョン0.32.0にアップグレードすることで解決しました:
brew upgrade carthage
PS:Xcodeをバージョン10.2に更新した後に問題が発生しました
Carthage 0.31.2を0.33.0にアップグレードするこの同じ問題を次の方法で解決しました:
brew upgrade carthage
PS:Xcodeをバージョン10.2に更新した後に問題が発生しました
以前のバージョンのカルタゴをインストールしてみてください
brew install carthage 0.30.1