0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

M1 Macへの移行で苦戦したこと(Xcode)

Posted at

IntelのMacからM1のMacに移行するのにとんでもなく苦戦しました。
有線とかWifiとかでデータ移したりとかしなかったので、全部ファイルもアプリも手動でいれました。いらないファイル多くて選別したかったからです。
苦戦してから1、2週間経って記憶がちょっと朧げになっているのですが忘備録としてメモ。

アプリ開発でcarthageを使ってるのでいろんなものを導入していく。
まずHomeBrewを入れ、次にRosettaをいれ、carthageをいれ……。この辺りは他の人がいっぱい書いてくれてるので略。
(多分この順番だったような。rosettaは他のアプリを入れた時に入れろって言われた気がする)

Xcodeでアプリビルドしようと思ったらエラーが

/usr/local/bin/carthage : No such file or directory

carthageファイルがないそうです。フォルダ移動なりターミナルで移動なりで確認したところ、確かにない。

調べてみるとM1Macからはusrではなくoptにcarthageファイルは置かれるようになったとか。
なるほでょ。Xcodeはusrを見てるからないだのうんだの言ってるらしい。

なので、以下のコマンドでシンボリックリンクを作って解決

ln -s /opt/homebrew/bin/carthage /usr/local/bin/carthage

でも、/usr/local/bin/だったか/usr/local/bin/carthageだったかにparmissionがないぞって私の場合は言われたので

sudo chown -R $USER /usr/local/bin/

これで権限をつけた後にもう一回、上のlnのコマンド打ってシンボリックリンクを作成。無事できました。

Xcodeビルドできた!と思ったらデバッグエリアになにやらよくわからないエラーが。

Warning: Error creating LLDB target at path ?
'/Users/ユーザー名/Library/Developer/Xcode/DerivedData/アプリ名-文字列/Build/Products/Debug->iphonesimulator/アプリ名.app'- using an empty LLDB target which can cause
slow memory reads from remote devices.

ちょっと何言ってるかわかんないですね(画像略)。
グーグル先生で翻訳してみたりそのまま検索をかけてみたりしてもさっぱりぽん。

結局、ビルドできるしアプリも動くからと動かしていたら突如クラッシュ。
LLDB関連のエラーが。解消してなかったから出たらしく。

rosetta error: unable to get state for thread the runtime suspended
Message from debugger: The LLDB RPC server has crashed. You may need to manually terminate your process. The crash log is located in ~/Library/Logs/DiagnosticReports and has a prefix 'lldb-rpc-server'. Please file a bug and attach the most recent crash log.

rosettaが関係しているらしい。
多分入れた気がする朧げな記憶があったので、一旦本当にインストールしていたか確認しようとグーグル先生に「rosetta インストール 確認」と聞いたところXcodeが動いてる環境がIntelなのかM1なのか確認できるよと言われて試しにアクティビティモニタから確認したところ、見事に「Apple」ひとつもIntelを使ってなかったぞい。XcodeももちろんApple。絶対コレだ。アプリはIntel環境のものなのでエラーが出るのは当然でした。

rosetta環境で動かす方法もグーグル先生は知っている。

1. Xcodeが起動していたらまず終了
2. アプリケーションからXcodeの「情報を見る」を開く
3. Rosettaで開くという設定があるのでチェックをつける
4. Xcodeを起動する

準備できたのでもう一回アクティビティモニタで確認するとちゃんとXcodeがIntelで動いてるじゃありませんか!
えらい!
ビルドしてみても、デバッグエリアにはLLDBがエラーでダメだったぞいなんて書いてない!
えらい!

以上終わり。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?