ka2n blog

Technology and beer

tmuxで画面分割時に現在のディレクトリを開く

画面分割(と新規window)には初期ディレクトリを指定する-cオプションが用意されているので、各キーバインディング-cオプション付きにbindし直してやると実現できる。

bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"

source: unix.stackexchange.com

Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN

iOSアプリをビルドするとき表題のエラーに遭遇したので対処方法をメモしておく.

2016-03-11 19:11:18.514 xcodebuild[60812:3928219] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/DVTFrameworks/DVTFrameworks-9544/DVTFoundation/FoundationClassCategories/DVTNSBundleAdditions.m:123
Details:  Error Domain=DVTFoundationErrorDomain Code=-1 "Couldn't determine platform family for <TheLib>." UserInfo={NSFilePath=/Users/ka2n/Library/Developer/Xcode/Archives/2016-03-11/Alice 2016-03-11 19.06.10.xcarchive/Products/Applications/Alice.app/Frameworks/AliceUI.framework/<TheLib>.framework.dSYM/Contents/Resources/DWARF/<TheLib>, NSLocalizedDescription=Couldn't determine platform family for <TheLib>., NSLocalizedRecoverySuggestion=None of the available platform families (iOS, OS X, tvOS, and watchOS) matched an LC_VERSION_MIN load command.}
Object:   <NSBundle>
Method:   +dvt_platformFamilyForBundleAtPath:error:
Thread:   <NSThread: 0x7fd630d14b60>{number = 1, name = main}
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
2016-03-11 19:11:18.514 xcodebuild[60812:3928219] [MT] IDEDistribution: Step failed: <IDEDistributionSummaryStep: 0x7fd633abbf80>: Error Domain=DVTFoundationNSBundleAdditionsErrorDomain Code=1 "Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN for <TheLib>" UserInfo={NSLocalizedDescription=Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN for <TheLib>}
error: exportArchive: Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN for <TheLib>

Error Domain=DVTFoundationNSBundleAdditionsErrorDomain Code=1 "Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN for <TheLib>" UserInfo={NSLocalizedDescription=Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN for <TheLib>}

** EXPORT FAILED **
[19:11:18]: Exit status: 70

Build Phases > Copy Bundle Resources にライブラリのdSYMが入っていないかを確認する。 あれば削除。 ちなみに自分の場合、Carthageを使っていて、一部OSX用設定を間違えて適用していたのが原因だった。iOSの場合は/usr/local/bin/carthage copy-frameworksがその辺を面倒見てくれるようなので不要。

MacのBluetoothから不要な機器を削除する方法

Optionを押しながらメニューバーのBluetoothアイコンを選択する。すると各機器のサブメニューから削除できるようになっている。 なるほどわかりにくい。

エディタをAtomにした

先輩に影響されて自分も使うようになって以来かれこれ6年ほどvimを使ってきたが、今週Atomに乗り換えた。 普段はRails, JS, iOSアプリ(Objective-C)を書いていて、趣味でES2015, Elixir, iOS(Swift)を触っています。 iOSアプリはXcodeをメインに、たまにAppCodeを使っていて、それ以外はだいたいvimで書いています。

理由

飽きてきた。

ので、いろいろトライしてることにした。いつでも戻れるし、モードがあるエディタは好き。

プラグイン入れまくってカスタマイズして使うのに違和感を感じてきた。

Unite好きだし、横にファイル一覧がでるプラグインも結構使っていた。けどそれはvimのスタイルと合っていないのでは? と最近思い始めた。 vimはゴテゴテにしつつ、頻繁に起動/終了させたり裏に回してシェルと行き来していて、じゃあ、それなら最初からエディタですべて完結するようにしたいなぁ。と徐々に思うように。 ちなみにデバッグや既存コードの改善の時はシェルとエディタの行き来は結構頻繁だけど、逆に新しくごりごり書くときはあまり閉じずにtmuxで分割するか、別ウィンドウに開きっぱなしの場合が多い。

先日、Githubでフォローしている人がatom/atomにスターをつけているのを見て、それをきっかけにしてatomを使ってみることにした。ちなみに最初はEmacsにしようかと思ったんだけど、結局brew install emacsだけして放置。。。

設定

とりあえず alias vim=atom した。 プラグインはあんまり入れたくないなーと思いつつ、ついついググったら出てくるようなプラグインを一通り試すことになって結局入れたものを以下にリストアップした。

  1. native-ui
  2. railscast-theme
  3. project-manager
  4. dockblockr
  5. file-icons
  6. wrap-style
  7. vim-mode
  8. language-babel
  9. language-elixir
  10. language-slim
  11. autocomplete-paths
  12. autocomplete-elixir
  13. atom-ternjs
  14. linter
  15. linter-eslint
  16. linter-rubocop

2日間くらいはvim-modeなしで使ってたんだけど、やっぱり入れてしまった。(けどvisual modeがほとんどダメで辛い. まだマルチカーソルを使いこなしていないというのもある) JSを書いているときにgfおしたらnode_modulesも含めてファイル検索して開いて欲しいんだけどまだそこまでできていない。

感想

ほぼブラウザだということもあって、描画速度がとても気遣われている感じがする。 デフォルトでプラグインの初期化にかかる時間を可視化できるツールが入っている。 そのため、傍若無人にメインスレッドを食いつぶすプラグインを書いたとしてもすぐに可視化されてしまう。おもしろい。 もうしばらく使ってみることにする。

その他

vimを使う前はTeraPadミミカキエディット(mi)を使っていました。