Tag: Apple Silicon

  • iMac の復旧ができなくなった “mac インストールの準備中にエラーが起きました”

    先日 AppliSilicon M1 iMac を譲り受けました。
    その際初期化したところ、OSのインストール時にエラーが起きてしまい、起動できなくなってしました。

    今回はそれの解決方法の記事です。

    環境

    壊れた方の iMac

    • Apple Silicon M1
    • Ventura
    • 16GB

    回復に使用した MacBook Air

    • Apple Silicon M1
    • Sequoia 15.0.1
    • 16GB

    問題の起きた場面と、エラー画面

    [macOS Ventura を再インストール]のボタンを押して、インストール画面に進むと以下のようなエラー画面が出てしまっていました。

    mac インストールの準備中にエラーが起きました

    このポップアップが出て、OSのインストールが完了しませんでした。何度やっても同じなのと、ディスクユーティリティで First Aid や削除も試しましたが、永遠に同じエラーが出続けました。

    画像撮ってなかったので、知恵袋で同じような悩みの方の画像引用させていただきます。
    https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14292903294

    Apple のサポートページにも同じ症状の方がいました。

    https://discussionsjapan.apple.com/thread/255485243?sortBy=rank

    ちなみにエラーログは下記の通りです。ログからエラーの解決には繋がらなかったので画像のみで失礼します。

    error log

    解決した方法 DFU

    DFU(Device Firmware Update)とは、Appleデバイスのファームウェアをアップデートしたり修復したりするためのモードです。

    この方法は正常に動作している mac OS が手元にある場合にできる方法です。

    0. 壊れていない Mac を用意して Apple Configurator をインストールする

    私の場合 Apple Silicon M1 MacBook Air を使いました。

    この MacBook に Apple Configurator というアプリをインストールしておきます。

    https://apps.apple.com/jp/app/apple-configurator/id1037126344?mt=12

    1. ディスクユーティリティの操作

    iMac の復旧画面からディスクユーティリティを選択します。
    次にMachintosh HD の項目があるので、これを削除します。

    2. iMac(壊れている方) と MacBook(壊れていない) をつなぐ

    iMac と MacBook をケーブルで接続します。
    私は MacBook に付属していた C to C の充電ケーブルで動作を確認しました。

    3. iMac の電源コードを抜く

    iMac をシャットダウンして、電源コードを抜きます。

    4. DFUモードに入る

    電源ボタンを押しながら、電源ケーブルを指します。

    電源長押しではありません。私はずっと長押しでやるものだと勘違いしてました😭

    DFUモードに入ると iMac 側の画面は真っ暗なままですが、 MacBook Air (正常に動作している方)に [アクセサリの接続の許可]のダイアログが出てくるはずです!

    MacBook Air の Apple Configurator アプリ上では、以下のように DFU のアイコンが表示されるはずです。

    5. configurator から復旧する

    DFUアイコンの上から右クリックをします。
    そこから[復元する]という項目をクリックします。

    確認のポップアップが表示されるので、あとは[OK]を選択していけば大丈夫です!

    6. iMac でOS再インストールする

    この後 iMac が復旧するはずです!?
    私の環境では以下のように表示されました。

    mac os recovery

    画面の表示に従って再起動をすると

    セコイアインストールできた!

    [Reinstall macOS Sequoia]の文字が!!!

    これをする前までは[Reinstall macOS Ventura ]だったため、外部のmacから操作できたことが確認できました!

    参考

    Apple Configure2 ついて

    https://support.apple.com/ja-jp/guide/apple-configurator-2/apdd5f3c75ad/mac

    復旧についてのApple公式ページ

    https://support.apple.com/ja-jp/108900

  • スクレイピング chrome driver を実行するまで

    これは何

    スクレイピングを実行するにあたって、chromedriver を導入するまでの記事です。


    ChromeDriver (クロームドライバー)とは、Google Chromeブラウザを自動的に操作するためのツールです。これは、WebDriverプロトコルを実装しており、主にウェブアプリケーションのテストを自動化するために使われます。ChromeDriverは、特にSeleniumというオープンソースの自動化フレームワークと組み合わせて使用され、ブラウザ操作をスクリプトで自動化する際に非常に便利です。


    🪴 実行環境

    • Apple Silicon M1 MacBook Air
    • 16 Gb
    • macOS Sequoia 15.0
    • chromedriver version : ChromeDriver 129.0.6668.58
    • Google Chrome version : 129.0.6668.59(Official Build) (arm64)
    • 2024/09/18 現在の実行

    🛠️ やり方

    まずは作業するディレクトリを作成します。

    mkdir scrapingTest

    venv モジュールを使用して仮想環境を作成する。
    venv という名前のディレクトリがカレントディレクトリに追加されます。

    python -m venv venv

    仮想環境有効化

    source venv/bin/activate

    必要なライブラリのインストール

    pip install requests beautifulsoup4 selenium
    • requests: ウェブページからデータを取得するライブラリ。
    • BeautifulSoup4: HTMLやXMLのデータを解析し、必要な情報を抽出するためのライブラリ。
    • Selenium: JavaScriptで生成されたコンテンツを扱うための自動化ライブラリ。動的なページにも対応。

    ChromeDriver のインストール

    ChromeDriver のインストール

    macの方はbrewをつかって入れます。

    brew install chromedriver

    Webサイトから落としたい方は最新安定版は以下リンクからお使いのOSに合ったものをダウンロードできるはずです。https://googlechromelabs.github.io/chrome-for-testing/#stable

    chromedriver のパスを確認する

    which chromedriver

    brew –prefix を使った確認は“No available formula with the name “chromedriver”. Did you mean chrome-cli?”と返ってくるため、できませんでした。解決方法はあると思いますが…。

    実行確認

    pythonファイルを作る

    touch scraper.py
    from selenium import webdriver
    
    # ChromeDriverのパスを指定
    driver = webdriver.Chrome(executable_path='/opt/homebrew/bin/chromedriver')
    
    # 例: Webページにアクセス
    driver.get('https://coiai.boy.jp')
    
    # ブラウザを閉じる
    driver.quit()

    私の場合出力されたパス名は/opt/homebrew/bin/chromedriverだったのでこれを当てはめています。

    上記ファイルを正しく実行できた場合は、一瞬私のブログが立ち上がって、ブラウザが閉じる動作をすると思います。
    ターミナルからの返答はありません。

    このような場合は失敗

    【ケース1】システム環境設定の問題

    実行すると下記のポップアップが出る場合があります。

    Appleは、“chromedriver”にMacに損害を与えたり、プライバシーを侵害する可能性のあるマルウェアが含まれていないことを検証できませんでした。

    その場合は システム環境設定 を開いてください。
    プライバシーとセキュリティ の項目をクリックして、下部までスクロールすると、 お使いの Mac を保護するために “chromedriver” がブロックされました。 と表示されているはずです。
    その右にある”このまま許可” のボタンを押下し、再度ターミナルで実行すればできます。

    【ケース2】ChromeDriver と Chrome のバージョン違いによるエラー

    もしここで以下のような返答があれば、お使いの Chrome と chromedriver のバージョンが合っていない可能性があります。

    Traceback (most recent call last):
      File "/Users/coiai/Code/scrapingTest/scraper.py", line 6, in <module>
        driver = webdriver.Chrome(service=service)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/coiai/Code/scrapingTest/venv/lib/python3.12/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
        super().__init__(
      File "/Users/coiai/Code/scrapingTest/venv/lib/python3.12/site-packages/selenium/webdriver/chromium/webdriver.py", line 66, in __init__
        super().__init__(command_executor=executor, options=options)
      File "/Users/coiai/Code/scrapingTest/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 212, in __init__
        self.start_session(capabilities)
      File "/Users/coiai/Code/scrapingTest/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 299, in start_session
        response = self.execute(Command.NEW_SESSION, caps)["value"]
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/coiai/Code/scrapingTest/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
        self.error_handler.check_response(response)
      File "/Users/coiai/Code/scrapingTest/venv/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 129
    Current browser version is 128.0.6613.138 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    Stacktrace:
    0   chromedriver                        0x0000000102457ed4 cxxbridge1$str$ptr + 1906348
    1   chromedriver                        0x0000000102450344 cxxbridge1$str$ptr + 1874716
    2   chromedriver                        0x0000000102064264 cxxbridge1$string$len + 89492
    3   chromedriver                        0x000000010209a1dc cxxbridge1$string$len + 310540
    4   chromedriver                        0x0000000102099404 cxxbridge1$string$len + 306996
    5   chromedriver                        0x00000001020951b0 cxxbridge1$string$len + 290016
    6   chromedriver                        0x00000001020916c0 cxxbridge1$string$len + 274928
    7   chromedriver                        0x00000001020d2188 cxxbridge1$string$len + 539832
    8   chromedriver                        0x00000001020d1ac8 cxxbridge1$string$len + 538104
    9   chromedriver                        0x000000010209d134 cxxbridge1$string$len + 322660
    10  chromedriver                        0x000000010209dd84 cxxbridge1$string$len + 325812
    11  chromedriver                        0x000000010241ff90 cxxbridge1$str$ptr + 1677160
    12  chromedriver                        0x00000001024248fc cxxbridge1$str$ptr + 1695956
    13  chromedriver                        0x00000001024054b8 cxxbridge1$str$ptr + 1567888
    14  chromedriver                        0x00000001024251cc cxxbridge1$str$ptr + 1698212
    15  chromedriver                        0x00000001023f6a60 cxxbridge1$str$ptr + 1507896
    16  chromedriver                        0x0000000102441214 cxxbridge1$str$ptr + 1812972
    17  chromedriver                        0x000000010244136c cxxbridge1$str$ptr + 1813316
    18  chromedriver                        0x000000010244ffe4 cxxbridge1$str$ptr + 1873852
    19  libsystem_pthread.dylib             0x000000019abbf2e4 _pthread_start + 136
    20  libsystem_pthread.dylib             0x000000019abba0fc thread_start + 8
    
    chromedriver --version

    で返ってくるバージョン情報と
    chrome の更新はchromeの設定からchromeについて、からみられるバージョン情報を見比べてみてください。(場合によってはアップデートしましょう)

  • 【Unity】Cesiumが追加されていない Apple Silicon M1

    ❓ これは何?

    Unity で Geospatial Creator をオンにしようとすると下記のエラーが出てしまいました。この記事は、解決方法です。

    The Geospatial Creator helps you build AR apps by showing where your content will be placed in the real world. 
    
    The project is missing the following required dependencies:  
    
    com.cesium.unity 1.1.0+ 
    
    See the Quickstart Guide for more information.

    💻 環境

    • チップ Apple M1
    • メモリ 16 GB
    • macOS sonoma 14.5(23F79)
    • Unity Version 2022.3.31f1

    💡 解決までの手順

    これはAppleSiliconのビルドではSesiumが含まれないのが通常になっているようです。

    1 Edit/ Project Settings からプロジェクト設定を開く

    開いたら、package manager のタブをクリックします。

    2 スコープレジストリを追加する。

    Name Cesium
    URL https://unity.pkg.cesium.com
    Scope(s) com.sesium.unity

    3 Window/ Package Manager を開く。

    My Resistries を選択すると Cesium for Unity が出てくるので install を押します。

    これで v1.6.2 以降であれば動作するはずです。

    4 ARCore Extensions Geospatial Creator をON

    Project Settings から ARCore Extensions のタブを開いて、Geospatial Creator をオン!

    できました〜 良かった


    📕 参考

    Cesium Community

    https://community.cesium.com/t/missing-dlls-in-osx-standalone-il2cpp-builds/26714

  • Uniy Cocoapods のinstall erro 【Apple silicon M1 Mac】

    ❓ これは何?

    Unity でiOS向けにビルドする際に以下のエラーメッセージが出てきてしまいます。
    これを解決するまでの記事です。

    Error building Player: iOS framework addition failed due to a CocoaPods installation failure. This will will likely result in an non-functional Xcode project.

    💻 環境

    • チップ Apple M1
    • メモリ 16 GB
    • macOS sonoma 14.5(23F79)
    • Unity Version 2022.3.31f1

    💡 解決までの手順

    どうしてもうまくいかないので、ビルドしたフォルダで

    pod install

    しましたが、下記のようなエラーが

    cannot load such file — ffi_c (LoadError)

    しかし、

    gem list

    で確認すると、確かに ffi の項目はありました…。
    ので、下記のコマンドでアンインストールして、再インストール。

    sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc

    これでいけた!! うれし〜😭


    💪 試したこと

    以下は試したこと一覧です。どれも決定的な解決には至りませんでした。(もしかしたら何かがうまく作用してるかも…??)

    Rubyのアップデート

    最新のRubyのインストール

     brew install ruby

    環境変数の設定

    echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc source ~/.zshrc

    LibYAML のインストール

    C言語でYAMLファイルを簡単に扱うためのライブラリです。

    brew install libyaml

    psychはYAMLデータを解析または生成するためのRubyのライブラリです。

    sudo gem install psych

    cocoapod のインストール

    海外の方でYoutubeでこの方法でいけてる方がいました。(私はできなかった…。)

    sudo arch -x86_64 gem install ffi
    arch -x86_64 pod install

    CocoaPodsの再インストール

    CocoaPodsのアンインストール

    sudo gem uninstall cocoapods

    CocoaPodsのインストール

    sudo gem install cocoapods

    依存関係をクリーン

    pod cache clean --all

    CocoaPodsのキャッシュクリア

    キャッシュのクリア

    rm -rf ~/Library/Caches/CocoaPods
    rm -rf Pods
    rm -rf ~/Library/Developer/Xcode/DerivedData/*
    pod deintegrate
    pod setup

    📕 参考

    cocoapods itallation
    https://cocoapods.org

    chruby
    https://formulae.brew.sh/formula/chruby