- 投稿日:2020-05-31T18:50:05+09:00
化石と化したMacと、化石と化したXcodeで2年ぶりの実機ビルドができなかったおじいさんの話
2年ぶりに実機(iPhone)ビルドしてMacとXcodeに怒られた一連のこと
おじいさんが蔵から発掘してきたMacBookProで実機ビルドしようとした時、とにかく怒られてしまいました。
【アップデート前のバージョン】
・iPhoneSE : iOS 13.5 (これだけ最新。機種はともかく)
・Mac OS : 10.14(Mojave)
・Xcode : 10.1
・swift : 4.2.1新しいのもあるのに他が古いままでは問題も玉突き的に起こるもの。
困ったおじいさんは山へ芝刈りに行き、1つ1つ解決していきました。玉突き事故一覧
Xcodeに、デバイスのサポートファイルが無いと怒られる
Xcodeのアップデートが進まなくなる
MacOS Catalina 10.15.3アップデートファイルの実行で怒られる
無事MacOSとXcodeの最新をインストールするも、実機ビルド時にアプリインストールできない教訓
- 結論として、実機iOSが最新なのでMacOSとXcodeも素直に最新にしてれば今回のほとんどは起きなかったと思います。
- あと、iPhoneのストレージに余裕を持つこと・・・。何気に最後の整理が時間かかりました。
Xcodeにデバイスのサポートファイルが無い、と怒られる
ビルドでこんなメッセージがでていた。
Could not locate device support files.
This iPhone SE is running iOS 13.5,
which may not be supported by this version of Xcode.XcodeにiPhone側のiOS(13.5)に対応するファイルが無いとのこと。
対応
以下から該当OSのサポートファイルをDLし、
https://github.com/filsv/iPhoneOSDeviceSupport/アプリケーション/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/
上記ディレクトリに配置・・・してもお爺さんの場合解決しなかった・・・!
まあ、それ以前に色々最新にした方が後々面倒ないかと思いXcodeをアップデートすることに。Xcodeのアップデートが進まなくなる
アップデートリストに何故か表示されなかったのでストアで検索して見つけ、アップデートボタンを押すが進まない。
対応
おそらく、おじいさんの場合はMacOSが古かったせいです。
アップデートが進まなかったのでXcodeを一旦消して再インストールしようとした際に、
「macOSがCatalina 10.15.3でないとダメ」と言われたのでした。MacOS Catalina 10.15.3アップデートファイルの実行で怒られる
現在MacOSがMojave10.14だったので、まずはCatalina 10.15にアップグレードしなさいとのこと。
せっかちなおじいさんはアップグレード前にアップデートファイルをダウンロードしてきて実行していたので、怒られてしまいました。対応
Windowsもそうですよね。
Win7からWin8.1に飛び越えることはできず、
Win7からWin8にまずアップグレードして、8.1にアップデートするように・・・。
Catalinaは以下でアップグレードを行いました。終わってみると、10.15.3どころか10.15.5になっていました。
(普通にしていれば、PCにアップグレード通知がくるので無視してなければこんな事にならないんですが。)
https://apps.apple.com/jp/app/macos-catalina/id1466841314?l=ja-jp&mt=12
しかし、OSは新しければいいというわけでもなく、今回の場合32ビットアプリが使えなくなるとか色々あるみたいです。
アップグレード前に、ご自身でお調べの上ご判断を・・・。無事MacOSとXcodeの最新をインストールするも、実機ビルド時にアプリインストールできない
一歩前進したものの、アプリをインストールできないと言われる。
Detailsを押してみると以下のメッセージが。The maximum number of apps for free development profiles has been reached.
無料開発プロファイルのアプリの最大数に達しました。とのこと。
たしかに、Apple Developer Programの有料登録をしていないと実機にいれられるアプリは3つまでなのですが・・・。前にお試しで作った分はすでに削除済でした。
なのに何故かこのメッセージが表示されるのです。対応
Xcodeのメニューから、Window -> Devices and Simulators -> OpenConsoleする。
もう一度ビルドしてみると、同じようなエラーがコンソールにでていた。[MIFreeProfileValidatedAppTracker _onQueue_addReferenceForApplicationIdentifier:bundle:error:]: 182:
This device has reached the maximum number of installed apps using a free developer profileしかし何やら下の方に、該当のアプリケーションの名前が色々書かれている。
該当のアプリは最近使っていないものの、AppStoreからいつかインストールしたものたちばかり。
なぜこの公式アプリ達がここにでてくるのか??と思いiPhoneを見ると、
なんじゃろ・・・この雲マーク
どうもiOS11から、「非使用のAppを取り除く」という機能が追加されていたらしく、
「アプリは削除するけど、アイコンとデータは残っている。」という状態になっていたらしい。
おじいさんのギチギチiPhoneのストレージの空き容量は、ひそかにこの機能に守られていたみたいです。
何故これが、アプリ上限の妨げになっているかはよくわからないのですが・・・。
開発アプリのカウントを阻害しているようではあります。アイコンを押して再インストールすればとりあえずこのエラーからはいなくなる事がわかり、ぽちぽちしてると・・・。
<一体、何個あるんじゃ
はぁ!ストレージが足りない・・・。
泣く泣く、ストレージの半分を占める写真や動画をPCに写してから整理しました。そしてビルドへ・・・
無事アプリがインストールできました。
開発元の信頼を押すのも忘れずに。
(iPhoneの設定 -> プロファイルとデバイス管理 -> デベロッパAPP)きっとまた時間を空けたら同じような事をおじいさんはするんだろうな。と思い備忘録でした。
- 投稿日:2020-05-31T18:08:39+09:00
[Flutter] 00_開発環境セットアップ
概要
Flutter開発環境セットアップ手順のまとめ
開発環境前提
- マシンOS: Mac (Catalina 10.15.5)
- メインエディタ: VS Code
諸々ダウンロード・インストール
No. 項目 説明 備考 1 Visual Studio Code 今回使うメインエディタ。 AndroidStudioでも、Atomでも代用可。 2 Android Studio Android統合開発環境。エミュレータを使うために必要。 3 Xcode iOS統合開発環境。シミュレータ(=エミュレータ)を使うために必要。 アプリ配信でも使う。 4 Flutter SDK Dartパッケージを含むFlutter基本ライブラリ。バージョンアップを簡単にできるようGitパッケージとして取り込む。 Visual Studio Code
- https://code.visualstudio.com/download より、ダウンロード。
- Extension(=プラグイン)をインストール。最低下記2つ。
- Dart
- Flutter
Android Studio
- https://developer.android.com/studio より、ダウンロード。
- Plugin(=プラグイン)をインストール。最低下記2つ。
- Dart
- Flutter
Xcode
- https://apps.apple.com/app/xcode/id497799835 より、インストール。
- 起動して、RequiredComponentsをインストール。
FlutterSDK
- https://github.com/flutter/flutter.git より、PCの任意の場所にクローンする。
- stableブランチに切り替え。(最新機能を使いたい場合は、betaブランチ)
- PATHを通す
- ターミナルで
vi ~/.bash_profile
export PATH=$PATH:{ディレクトリ置き場}/flutter/bin
を追加し、保存。- セットアップ
- ターミナルで
flutter doctor
すると、最終設定+環境チェックが行われる。- 環境チェックの結果必要な作業が指示された場合は、それに従う。
- うまくいかない場合は、{ディレクトリ置き場}/flutter/binにあるcacheディレクトリを削除して再実行。
参考
公式Docs
No. 項目 説明 備考 1 GetStarted/Install インストール方法 2 GetStarted/Set up an editor エディタ設定方法 備考
(特になし)
- 投稿日:2020-05-31T13:45:42+09:00
【Mac】自分の画面を収録して gif 化する 方法
はじめに
Qiitaに画像は取り入れられるのに動画を取り入れられないと言った問題に遭遇したことはありませんか?
今回はそのような問題を解決した私の事例を紹介します。
※Macユーザー限定ですgifを導入する
GitHubやQiita等で自分の画面の挙動を誰かに伝えたい場合に、動画で表現できると伝わりやすいですよね。そんなとき、サクサクとGif動画が作れるととても便利です。
gif化していない動画を取り込むと以下のような表示されて動画が取り入れられない事態に陥ることがあります。![undefined]()1.Giftedをダウンロード
AppleStoreより「Gifted」を検索して下さい。
以下のものになります。
2.command+shift+5を押す
そうすると以下のような画面が出てきます。
このコマンドは従来のスクリーンショットに加え、画面収録機能も付いています。
3.収録したい選択範囲を指定して収録ボタンを押します
収録ボタンを押すことで動画の収録が開始します。
4.動画の収録が終わったら
command+shift+5を押します。
そうすることで再び以下のような画面が表示されます
5.取り組むボタンを押す
取り組むボタンを押すことで動画の収録完了です。
6.gif化する
1でダウンロードしたGiftedを開きます。
開くと以下のような画面が出てきます。
この画面に先ほど撮影した動画をドロップしてStartを押すだけで変換されます。
変換された動画はピクチャ>Gifted内に保存されるようになっています。
- 投稿日:2020-05-31T13:02:29+09:00
macOS Catalinaのアップデートが更新完了しない理由をCUIで確認する
はじめに
普段使っている Mac のソフトウェア・アップデートが、GUI だといつまでも更新完了にならないので、コマンドで状況を確認します。
事象
macOS Catalina 10.15.5 のアップデート案内が来たため、GUI で [今すぐアップデート] を選択し、再起動を伴う処理を実行させても、OS起動後はアップデート前の状態のままである。
特にエラー画面やログについて画面に表示されたりはしない。更新ファイルは、約 3GB のストレージ容量が必要とあるが、ストレージの空き容量は、まだ 12GB 程度余裕がある。
コマンド実行
softwareupdate
コマンドを実行し、アップデート内容を確認します。アップデートがあるかを確認softwareupdate -l
この例では、macOS Catalina 10.15.5 のアップデートがあることがわかります。
実行結果Software Update Tool Finding available software Software Update found the following new or updated software: * Label: macOS Catalina 10.15.5 Update- Title: macOS Catalina 10.15.5アップデート, Version: , Size: 3291647K, Recommended: YES, Action: restart,
macOS Catalina 10.15.5 の更新があったので、今回はアップデート内容を全てインストールします。
オプションを利用すれば、アップデートする項目を個別に指定することも可能です。ソフトウェアをアップデートsoftwareupdate -ia
実行結果Software Update Tool Finding available software Not enough free disk space: a total of 14.91 GB is required.実行した結果、ディスク容量が足りないというエラーが出ており、更新のために 15GB の空き容量が必要なことがわかりました。
3GB ちゃうやん!!結果
Docker イメージや iMovie などで編集した際の動画編集データなど、無駄なデータを削除し、
softwareupdate -ia
を再実行したところ、正常にアップデートが開始されました。
ストレージ容量たりないという情報は、わかりやすく GUI でも表示して欲しいですね。。再度コマンドを実行softwareupdate -ia
実行結果Software Update Tool Finding available software Downloaded macOS Catalina 10.15.5アップデート Installing macOS Catalina 10.15.5アップデート Done. To install these updates, your computer must shut down. Your computer will automatically start up to finish installation. Installation will not complete successfully if you choose to restart your computer instead of shutting down. Please call halt(8) or select Shut Down from the Apple menu. To automate the shutdown process with softwareupdate(8), use --restart.再起動が求められているので、再起動を行い、無事に macOS Catalina 10.15.5 へのアップデートが完了です。
外部リンク
- 投稿日:2020-05-31T10:58:28+09:00
iCloud Driveからnode_modulesを除外する
iCloud Driveのアップロードが止まらない
Vuejsとかの開発をiCloud Driveに入れて開発すると、npm installした途端node_modulesフォルダのiCloud Driveのバックアップに物凄い時間がかかって困る。
そもそもバックアップされたくないし、する必要もないと思うので、なんとかして除外したい。
参考:Prevent iCloud from Syncing /node_modules/ Folder
npm install mv node_modules node_modules.nosync ln -s node_modules.nosync/ node_modules
npm install
したらすぐにフォルダの名前変えて、node_modules
っていうシンボリックリンクで紐づけるって形。私の環境だと、gitあたりがindex付けようとしたので、ローカルのグローバル無視リストに
node_modules.nosync
を追加
Visual Studio CodeのSFTPプラグインもアップロードしたそうにしてたのでignoreに追加。ただ、iCloud Driveは.gitフォルダーは保存してくれないので、結局gitとTimeMachineとiCloud Driveでトリプル保存になりましたとさ。
- 投稿日:2020-05-31T08:34:25+09:00
周辺機器なしでRaspberryPiセットアップ
環境
- MacBook Air Mid 2013
- macOS Catalina 10.15.4
- Raspberry Pi Zero WH
SDカードをフォーマット
https://www.raspberrypi.org/documentation/installation/sdxc_formatting.md
The Raspberry Pi's bootloader, built into the GPU and non-updateable, only has support for reading from FAT filesystems (both FAT16 and FAT32)
Raspberry PiはFATのみサポートとあります。
ターミナルでフォーマット
$ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *121.3 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_APFS Container disk1 121.1 GB disk0s2 /dev/disk1 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +121.1 GB disk1 Physical Store disk0s2 1: APFS Volume Macintosh HD - Data 856.1 KB disk1s1 2: APFS Volume Preboot 81.0 MB disk1s2 3: APFS Volume Recovery 528.1 MB disk1s3 4: APFS Volume VM 3.2 GB disk1s4 5: APFS Volume Macintosh HD - Data 40.7 GB disk1s5 6: APFS Volume Macintosh HD 11.1 GB disk1s6 /dev/disk2 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.7 GB disk2 1: Apple_HFS raspberrypiSD 45.0 MB disk2s1 2: Linux 15.7 GB disk2s2 /dev/disk3 (disk image): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme +2.8 GB disk3 1: EFI EFI 209.7 MB disk3s1 2: Apple_HFS Visual Studio 2.4 GB disk3s2目当てのSDカードを確認。私のケースでは
/dev/disk2
でした。一度アンマウントします。
$ diskutil unMountDisk /dev/disk2 Unmount of all volumes on disk2 was successful"RPI"という名前をつけてフォーマットします。
$ diskutil eraseDisk MS-DOS RPI /dev/disk2 Started erase on disk2 Unmounting disk Creating the partition map Waiting for partitions to activate Formatting disk2s2 as MS-DOS (FAT) with name RPI 512 bytes per physical sector /dev/rdisk2s2: 30298816 sectors in 473419 FAT32 clusters (32768 bytes/cluster) bps=512 spc=64 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=30306304 bspf=3699 rdcl=2 infs=1 bkbs=6 Mounting disk Finished erase on disk2OS(Raspbian)をダウンロード
https://www.raspberrypi.org/downloads/raspbian/
SDカードへイメージファイルを書き込み
参考: https://qiita.com/ishihamat/items/f1fb1f30327373dffac7
$ sudo dd if=xxxxxxxx.img of=/dev/rdisk2 bs=16m Password: 110+1 records in 110+1 records out 1849688064 bytes transferred in 114.354973 secs (16174968 bytes/sec)SSH接続を設定
SDカードに空ファイル"ssh"を作成する。
$ touch /Volumes/boot/sshWi-Fiを設定
参考: https://qiita.com/mascii/items/0d1a280ac58ed8f6f999
Wi-Fi設定ファイルを作成する。$ touch /Volumes/boot/wpa_supplicant.conf下記の通り内容を書き換えます。パスワードを平文で保存したくない場合はWPA key calculationで変換する。
wpa_supplicant.confctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=JP network={ ssid="SSID" psk="WiFiパスワード" }SDカードの準備はこれで完了。
Raspberry Piを起動する
参考: https://gloria.cool/blog/20191203-raspberrypi4-setup/
SDカードをRaspberry Piに挿し,電源を入れる。
1分ほど置いたらMacのターミナルにarp -a
を打ち込みIPアドレスを調べる。raspberrypi (192.168.x.x) at b8:27:eb:b6:28:be on en0 ifscope [ethernet]この場合”192.168.x.x"がRaspberry PiのIPアドレスである。
Macからssh接続
Macのターミナルから
$ ssh pi@192.168.x.x pi@192.168.x.x's password:パスワードを求められる。初期パスワードは"raspberry"
Linux raspberrypi 4.19.97+ #1294 Thu Jan 30 13:10:54 GMT 2020 armv6l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed May 20 13:18:00 2020 from 192.168.x.x SSH is enabled and the default password for the 'pi' user has not been changed. This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password. pi@raspberrypi:~ $セットアップ完了!
- 投稿日:2020-05-31T06:59:14+09:00
私がこれからのMac miniに期待すること
夢の記事の最後にも書きましたが、私がこれからのMac miniに期待することを書きたいと思います。
ARM化反対
まず、ARM化は絶対にやめてほしい。Macのいいとことの一つであるbrewによる環境構築の楽さが消えてしまうと思います。省電力とかどうでも良いからARM化はやめて欲しいです。Ryzen化ならいいけど。
M.2スロット
M.2 SSDを追加可能にしてほしい。パソコンってのは使ってくうちに大事なデータが増えていって追加の容量が必要になるものなのよ。買ってから2年後ぐらいにM.2 SSDを追加したいよ。
オンボードグラフィックの追加
MacBookPro 16インチモデルみたいなオンボードグラフィックを追加したモデルをMac miniにも追加して欲しい。iMacみたいな分解も出来ないデスクトップパソコンは買わないし、Mac Proみたいな高すぎるパソコンは買えないのよ。GPU欲しかったらHackintoshしか選択肢ないのよ。
最後に
Mac miniは自分で分解して掃除が出来る最高のMacだと思っています。これからもみんなに愛される最高のMacのままでいて欲しいなぁ。
まあ、Mac miniを一度も所持したことないんだけど...
- 投稿日:2020-05-31T00:17:56+09:00
Macの操作をkeyboardのみで完結させたい(vimium解説&設定ファイル紹介)
はじめに
vimが好きな方の中には、vimの操作方法で全てを操作したいと思っている方もいると思います。
自分もその中のひとりです。今回はキーボード操作で全てを完結したい自分が
vimiumとmacでのショートカットキーを紹介したいと思います。vimum
vimiumとは?
vimiumとは、google chromeをvimのキーバインドで操作できる拡張機能になります。
こちらからインストール
https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=javimium設定
Chromeをvimライクに使えるようにするvimium - vimiumの設定
極力、標準のvim操作になるように寄せた設定になっています。
vimium設定ファイル# Insert your preferred key mappings here. unmapAll map j scrollDown map k scrollUp map gg scrollToTop map G scrollToBottom map <c-u> scrollPageUp map <c-d> scrollPageDown map - scrollFullPageDown map - scrollFullPageUp # map h scrollLeft # map l scrollRight map r reload map yy copyCurrentUrl map p openCopiedUrlInCurrentTab map P openCopiedUrlInNewTab map i enterInsertMode map v enterVisualMode map gi focusInput map f LinkHints.activateMode map F LinkHints.activateModeToOpenInNewTab map - LinkHints.activateModeToOpenInNewForegroundTab map gf nextFrame map gF mainFrame # Using the vomnibar map o Vomnibar.activate map O Vomnibar.activateInNewTab map b Vomnibar.activateBookmarks map B Vomnibar.activateBookmarksInNewTab map T Vomnibar.activateTabSelection map / enterFindMode map n performFind map N performBackwardsFind # Navigating history map h goBack map l goForward # Manipulating tabs map t createTab map gT previousTab map H previousTab map gt nextTab map L nextTab map ^ visitPreviousTab map g0 firstTab map g$ lastTab map yt duplicateTab map <a-p> togglePinTab map <a-m> toggleMuteTab map x removeTab map u restoreTab # Miscellaneous map ? showHelp主に使う操作
画面スクロール
操作キー アクション j 画面上スクロール k 画面下スクロール gg 画面トップ G 画面最下部 ctrl-u 半画面上へ ctrl-d 半画面下へ vimium標準では
u, d
単体で半画面スクロールなのですが、
vimではctrl-u, ctrl-d
で半画面スクロールなので
vim操作に合わせるような設定になっています。設定ファイル抜粋map j scrollDown map k scrollUp map gg scrollToTop map G scrollToBottom map <c-u> scrollPageUp map <c-d> scrollPageDownタブ移動
操作キー アクション t 新しくタブを開く gT タブ左移動 H タブ左移動 gt タブ右移動 L タブ右移動 x 現在開いているtab削除 u 消してしまったtab復元 map t createTab map gT previousTab map H previousTab map gt nextTab map L nextTab map x removeTab map u restoreTab戻る, 進む
操作キー アクション h ブラウザ戻る l ブラウザ進む デフォルトでは
h, l
は、右スクロールや左スクロールに割り当てられていますが、
使用頻度も低いため、戻るや進むに割り当てています。map h goBack map l goForwardその他
操作キー アクション / ブラウザ内検索 n 検索結果次へ N 検索結果前へ o google検索して現在のtabで開く O google検索して新しいtabで開く b bookmark内で検索して現在のtabで開く B bookmark内で検索して新しいtabで開く T 現在開いているtab内で検索して移動する タブ移動が面倒臭くなっても、
名前さえ覚えていればT
で名前検索して移動できるのですごく便利です。# 検索系 map / enterFindMode map n performFind map N performBackwardsFind # その他 map o Vomnibar.activate map O Vomnibar.activateInNewTab map b Vomnibar.activateBookmarks map B Vomnibar.activateBookmarksInNewTab map T Vomnibar.activateTabSelectionおまけ
以上の操作ができれば、
ブラウザの操作はほとんどkeyboardで完結できると思われます。自分が業務でよく使うのはターミナルとブラウザとslackなので
アプリ間の移動をするために、
command + tab
で移動を行います。これでキーボードでの操作だけでほとんどの操作をカバーすることができます。
あとはslackの操作を良い感じにすることができれば、キーボードだけでの生活が送れると思います...。
- 投稿日:2020-05-31T00:10:14+09:00
brew インストール直後にbash: brew: command not foundと出た話
目的
- brewをインストールを直後にbrewコマンドがうまく実行されなかったので解決方法をまとめる
実施環境
- ハードウェア環境(下記の二つの環境で確認)
項目 情報 OS macOS Catalina(10.15.5) ハードウェア MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) プロセッサ 2 GHz クアッドコアIntel Core i5 メモリ 32 GB 3733 MHz LPDDR4 グラフィックス Intel Iris Plus Graphics 1536 MB
- ソフトウェア環境
項目 情報 備考 Homebrew バージョン 2.3.0 公式ページのコマンドを実行したHomebrew 問題
インストール後に下記コマンドを実行してbrewの導入確認を実施したところ下記のエラーが発生した。
$ brew -v > bash: brew: command not found解決策
下記コマンドを実行してパスを通す。
$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile下記を実行して設定ファイルを読み込む。
$ source ~/.bash_profile