日々精進

新しく学んだことを書き留めていきます

Mac

おすすめMacアプリ

mac

iOSアプリ開発者用アプリが多いですが参考まで。 ・Dash 公式ドキュメントを素早く引くことが出来る。AppCode,XCodeとの連携機能あり。 自分で作ったAppleDocなんかも引ける。 ・Charles デバッグプロキシ。通信速度を遅くしたり、切ったり、 リクエストのレ…

自動でObjective-Cのコードをモダンな書き方に変換する

XCodeのModernizerを使えばできる。 XCodeのメニューのEdit>Refactor>Convert to Modern Objective-C Syntax... を実行するとモダンな書き方に変更できるところのDiffが見られるのでDiffを確認した後一気に置換できる。

dockにアイコンを出さない方法

mac

plistにLSUIElement YESを追加すると出なくなる。 因みにsparkle frameworkはLSUIElementがYESであれば アプリがアクティブになっていなくても、更新ダイアログをアクティブにするロジックになっている。 参考:cocoa - How to hide the Dock icon - Stack O…

dmgインストーラの作成方法

mac

下記サイトに詳しく書いてある。思ったより簡単ですね。 参考:Codevarium » Blog Archive How to create your own beautiful Mac OSX *.dmg files (with free software) » Codevarium

画面共有の共有先から手元のMacにクリップボードの中身を送信する

mac

なぜか共有クリップボードを有効にしたら、手元のMacから共有先のMacへのクリップボードの送信はできるけど、逆が出来ない状況になった。手元がOSX10.8で共有先が10.9なのが原因かも知れないが不明。 一応共有クリップボードを無効にし、「クリップボードを…

mavericksにchefをインストールする方法

mac

chefは公式にはまだmavericksに対応してないので以下の方法でインストールする。 wget https://opscode-omnibus-packages.s3.amazonaws.com/mac_os_x/10.7/x86_64/chef-11.8.0_1.mac_os_x.10.7.2.sh chmod a+x chef-11.8.0_1.mac_os_x.10.7.2.sh sudo ./chef…

mavericksでhomebrewをinstallしようとすると「syntax error」

mac

marverics - 10.9でhomebrewのインストール時にエラーがでる - Qiita 上記記事と同じ現象でした。 インストールスクリプトのURLが変わっていることが原因。 下記を実行するとインストール出来た。てか大半のサイトは古いURLのままだからはまるはこれは。。 r…

ターミナルを起動すると「pointer being freed was not allocated」

mac

ターミナルを起動すると以下のエラーが出るようになってしまった。 Last login: Tue Aug 2 13:39:03 on console login(4836,0x7fff74188960) malloc: *** error for object 0x7f9173e00990: pointer being freed was not allocated *** set a breakpoint in …

テキストエディットでテキストファイルを編集してはいけない

mac

Vagrantfileをテキストエディットで編集し、vagrant upすると、以下のエラーが出た。 invalid multibyte char syntax error, unexpected $endこれはテキストエディットを使ってるとユーザが意図しないところでマルチバイト文字を埋め込んでしまうことが原因…

windowsからmacをリモート操作する

mac

RealVNCを使うととても簡単にできた。 セットアップ手順は下記サイトそのままでOK。 これは便利!WindowsからMacへリモートデスクトップする方法 | SpiralCode これは便利だなぁ。 注意点:オプション>カラーレベル の「フル」を選択する操作は起動する度に…

OS X ServerでSVNからコードをチェックアウトしようとするとAuthenticationエラー

mac

OS X ServerでCIするぞーと意気込んでみたものの、早速躓く。 以下のようなエラーメッセージが出てソースコードをチェックアウトできない。 Authentication realm: <http://server:80> Svn/WebDAV Server Password for '_teamsserver': Authentication realm: <http://server:80> Svn/WebDAV Serv</http://server:80></http://server:80>…

NSRect,CGRectのリテラルの書き方

こういう書き方できるんだ。知らなかった。。NSRect,CGRect共通の記法っぽい。 CGRect rect = {1,2,3,4}; CGRect rect = {.origin = {0, 1}, .size = {.width = 2, .height = 3}}; 参考:Graham Lee on Twitter: "NSRect easyToRead = {.origin = { 0,0 }, .…

元から入っているrubyをuninstallしてrbenvでrubyを入れ直すと、アプリからrubyを実行しようとした時に「Env: ruby: No such file or directory」のようなエラーが出る

mac

原因は、rbenvでRubyをインストールすると、/Users/username/.rbenv/shims/rubyにインストールされるが、アプリからRubyを実行した時には/Users/username/.rbenv/shimsにパスが通っていないため。 ターミナルはrbenvでインストールした時にパスが通るのでrub…

Gitlabをインストールする時にstdin: is not a ttyが出るが、無視していい

mac

gitlabをインストール - 日々精進の手順でGitlabをインストールすると、ログに「stdin: is not a tty」というエラーメッセージが出る。 これは無視して問題ないらしい。 参考:stdin: is not a tty · Issue #1673 · mitchellh/vagrant · GitHub

gitlabをインストール

mac

Githubを使って今流行りのPRベースの開発フローを実践したい→でも会社のポリシー的に会社の外にソースコードを置くのは無理っぽい→Github Enterpriseは高い→Gitlab使えばいいじゃん ということでGitlabをmacにインストールしました。 以前からGitlabは気にな…

vagrantでplugin installを実行すると「error failed to build gem native extension.」

mac

これはmacに最初から入っていたrubyのバージョンが古いことが原因。 以下の手順でrubyのバージョンをあげると直った。 ・ruby削除 unlink /usr/local/bin/ruby・rbenvで最新版をインストール brew install rbenv ruby-build echo 'eval "$(rbenv init -)"' >…

sleepからの復帰イベント

mac

意外となかなか見つからなかったけど、以下でsleep・sleepからの復帰イベントを捕まえられる。 - (void) receiveSleepNote: (NSNotification*) note { NSLog(@"receiveSleepNote: %@", [note name]); } - (void) receiveWakeNote: (NSNotification*) note { …

ビルド時にエラー「has been modified since the precompiled header was built」

ビルドしたら以下のエラーが出た。 file '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindowController.h' has been modified since the …

rbenv install 2.0.0-p195を実行するとエラーが出る「The Ruby openssl extension was not compiled. Missing the OpenSSL lib?」

mac

以下で直る。 brew update brew install openssl RUBY_CONFIGURE_OPTS=--with-openssl-dir=/usr/local/Cellar/openssl/1.0.1e rbenv install 2.0.0-p195 rbenv global 2.0.0-p195参考:The Ruby openssl extension was not compiled. Missing the OpenSSL li…

削除したはずのXCodeがあるように見える

mac

.xcodeprojを右クリック>このアプリケーションで開く で削除したバージョンのXCodeが出てきたり、コンソールで以下のようなエラーが出たりする。 xcrun: Error: could not stat active Xcode path '/Volumes/Xcode/Xcode45-DP1.app/Contents/Developer'. (N…

iTermで~を入力すると?になってしまう

mac

これは文字コードが原因。 Preferences>Profiles>Terminal>Terminal Emulation>Character Encodingで文字コードをUTF-8に変更すると直る。

最初から入っているrubyをアンインストールし、rubyを最新版にする

mac

最初から入ってるRubyをアンインストールするのに結構苦労した。port uninstall rubyではだめだった。 結局symlinkを削除することで対応した。 cd /usr/local/bin unlink ruby後はhomebrewでRubyの最新版をインストールすればOK。 brew install ruby ruby -v…

OS X ServerはiOS Dev Program登録者なら無料らしい

mac

知らずに2000円払って買ってしまった。。まあ2000円ならいいか。 XcodeでBotを設定する

正規表現のエスケープは\でなく、バックスラッシュ

\でエスケープされなかったのでもしや、と思ってAlt+\でバックスラッシュを入力するとエスケープされた。 Macでは\はだめなのか。。ググると\でエスケープすると書いてあるところが多いのでちょっとはまった。

AFNetworkingで自己証明書を使ったSSL通信を許可する

mac

以下のコードをプリコンパイルヘッダに書けばOK。 #define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1参考:objective c - I want to allow invalid SSL certificates with AFNetworking - Stack Overflow

OS X Lion(10.7)でNSWindow・NSWindowControllerにweak参照をすると落ちる

mac

weak参照ができないクラスがいくつかあるというのは知ってたけど、 OSのバージョンで挙動が違うとは。。 NSWindow・NSWindowControllerにweak参照をするとLionではアプリが落ちるがMountain Lionでは落ちない。 解決策はweakをunsafe_unretainedにしてdeallo…

sparkle frameworkの日本語対応

mac

sparkle frameworkはMac アプリの自動更新機能を手軽に実装できるFW。 とっても便利なんだけど、公式サイトからダウンロードしたバイナリはバージョンが古いっぽく、日本語対応されていない。 Githubのmasterには日本語用Xibも入っているので、Cloneしてビル…

クラムシェルモード

mac

机が狭いのでクラムシェルモードでMacを起動し、本体は閉じておこうと思ったのだが、 なぜか本体を閉じるとスリープモードになってしまう。 InsomniaXというソフトを使うと無事クラムシェルモードにできました。 参考:クラムシェルモードにしてみた!! : A…

macで複数ファイルの文字列一括置換

mac

AppCodeには複数ファイルの文字列一括置換機能はないっぽい。残念。。 なのでTextWranglerというアプリでやった。とりあえずこれで良さそう。 参考: Mac で複数ファイルの一括置換ってどうしてます?パート2 « LANCARD.LAB|ランカードコムのスタッフブログ

NSTextFieldをautolayoutすると高さが1行分になる

mac

contentCompressionResistanceをRequiredにしてもXIB上で設定した高さを維持してくれない。 なぜ。。と思っていたらNSTextViewというクラスを見つけた。 複数行にわたるテキストを扱う場合はNSTextViewを使うべきらしい。 もしやと思ってNSTextFieldをNSText…