日々精進

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

2013-11-01から1ヶ月間の記事一覧

リリースビルドにspark inspectorなどを含めないようにする方法

cocoa podのtargetを使えばdebugビルドにのみ含めるように出来る。 target :debug do pod 'CocoaLumberjack' endこれをやるにはリリース用のターゲットと開発用のターゲットを分けないといけないが、基本それはやった方がいいよね。 参考:ios - Cocoapods d…

32bitと64bitのFat binaryの作り方

iOS

Build SettingsのArchitecturesをStandard Architectures(including 64bit)にするだけ。このお手軽さはすごい。 一応ReleaseビルドのBuild Active Architectures OnlyがNOであることを確認すること。 参考:iphone - Xcode 5 and iOS 7: Architecture and Va…

ビルド時のpre,post actionのスクリプトで使える環境変数

以下のサイトに環境変数一覧がある。これは便利そう。 Xcode's Plugin Interface : Build Settings

スクリプトはバージョン管理すべし

この記事参考になりました。確かにシェルスクリプトもGitでバージョン管理するべきだよね。 git push hookは入れたいけど、ビルドマシンをGlobalに公開してないからな。。 Jenkinsの使い勝手をよくするための見直し6点 | Developers.IO さらに進めてJenkins…

archiveビルドした時にできる.xcarchive等のパスを知る方法

実はarchiveビルドのpost-actionで以下の環境変数が使える。 ARCHIVE_PATH ARCHIVE_PRODUCTS_PATH ARCHIVE_DSYMS_PATHビルド後に実行するシェルスクリプトでこれらのパスを使えるようにするため、 archiveビルドのpost-actionで以下のスクリプトを実行する。…

gitのtag指定でチェックアウトし、ビルドする方法

Branch Specifier (blank for default)に「tags/v1.1.1」のようにタグを入力すればOK。 参考:Jenkins Git Plugin: How to build specific tag? - Stack Overflow

schemeを指定してビルドすると「xcodebuild: error: The project does not contain a scheme named」エラー

これは以下のサイトによるとManage Schemes...からSchemeのContainerをWorkspaceにすると直ると書いてある。 xcode - xcodebuild says does not contain scheme - Stack Overflow これに加えて、JenkinsのAdvanced Xcode build options>Xcode Workspace Fil…

xcodebuildを実行すると「Error: Can't run /Applications/Xcode.app/usr/bin/xcodebuild (no such file).」

以下を実行すると直る。 sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer・環境 XCode:4.6.3 OS:10.8 参考:Google グループ

githubからコードをチェックアウトする時のCredentialsを設定する

・ダッシュボード>Jenkinsの管理>認証情報の管理 で以下を設定する。 スコープ:グローバル ユーザ名:jenkins 秘密鍵:Jenkinsマスター上の~/.sshから ・$JENKINS_HOME/.sshに秘密鍵をファイル名「jenkins」で配置。 ・以下を一度ターミナルから実行する…

macのレンタルサーバ

mac

意外とやってるとこあった。そしてどこも高い。まあMacのハードウェアが高いからしょうがないのか。。 本当はEC2が対応してくれると嬉しいんだけどなぁ。 よさそうだったとこは以下。 MacStadium - Hosting Setup 50$/月でMacmini一台を占有できる。 Cloud M…

jenkinsをdaemon化し、さらにログインユーザ権限で実行する

下記を参考にするとできます。ほんと有り難いです。 Jenkins をOS X のログインユーザー権限のデーモンで自動起動しておく設定

Macアプリの複数起動を禁止する方法

mac

applicationDidFinishLaunchingでいかを実行すればよい。 - (void)deduplicateRunningInstances { if ([[NSRunningApplication runningApplicationsWithBundleIdentifier:[[NSBundle mainBundle] bundleIdentifier]] count] > 1) { [[NSAlert alertWithMessa…

Objective-Cで日本語の変数が使えるようになった

iOS

いつのまに・・・!日本語シンボルはきもいという人もいるけど、自分は推奨派なので使ってみたい。 参考:Xcodeで日本語の変数名が使えるようになりました

ビルドすると「Code Sign error: A valid provisioning profile matching the application's Identifier '' could not be found」エラー

iOS

プロビジョニングファイルがMacに追加されていないことが原因だった。 プロビジョニングファイルをダブルクリックしてMacに追加するとビルドが通るようになった。

XCodeのPreference>Accountsでサーバを追加しようとしてもサーバの一覧がno serversになっている

OS X Serverのウィンドウの右上のON・OFFスイッチがOFFになっていることが原因。ONにするとサーバを追加できるようになった。 OS X ServerのチュートリアルのスクショがずっとOFFになってるからちょっとはまったよ。。

webstormのデバッグウィンドウで変数の中身を見ようとしたら「ReferenceError: xxx is not defined」と出る

これ、結局原因わからなかった。 ・↓によるとvm.runInContextを実行しているとこの現象が起こるらしい。 webstormでしか発生しない。 node.js - nodejs - jade ReferenceError: process is not defined - Stack Overflow 解決策はcreateContextを以下のよう…

1分以下の間隔でCronを実行する方法

1分おきに実行されるスクリプトを二つ書き、一つは30秒sleepさせる。 * * * * * /path/to/executable param1 param2 * * * * * ( sleep 30 ; /path/to/executable param1 param2 )参考:ubuntu - Running a cron every 30 seconds - Stack Overflow

working directoryを変更する

下記メソッドで変更出来る。 process.chdir('/Users')cronなどからnodeを実行するとworking directoryがプロジェクトのルートディレクトリにならないのに困っていたが、これで解決出来そう。

ファイルディスクリプタの上限を変更する

ec2

/etc/security/limits.confに以下を追記。 * soft nofile 10000 * hard nofile 10000再ログイン後、ulimit -n 10000を実行すると上限が10000になる。 参考:ラム君(モヒカンVer)のお勉強ログ ssh経由でulimitの値を変更できない http://open-groove.net/li…

EC2で同時接続数が700ぐらいから伸びない現象があった

現象は以下。 ・Socket.ioでクライアントと接続している ・同時接続数が700ぐらいになると新規に接続出来なくなる ・しばらくすると既存の接続も切れ始める 最初はファイルディスクリプタの上限設定を疑ったが、上限を変更しても改善しなかった。 原因はip_c…

logmonでエラーログ監視

複数のログファイルを簡単に監視できそうなのでlogmonを使って監視することにした。 logmonの使い方は下記記事を見ればわかる。 参考:Amazon EC2でリアルタイムにログ監視をする – logmon – | Developers.IO 以下は上記記事の補足。 インストールは上記記…

サーバを再起動するとgitlab.ymlのhostが上書きされる

bitnamiのインストーラからGitlabをインストールすると、 サーバを再起動するとgitlab.ymlのhostが上書きされるという怪現象が起きる。 原因は起動スクリプトがhostを上書きしているから。解決策は以下。 ・以下を実行(これはgitlab.ymlのhostを変更している…

NSButtonは複数行のタイトルを付けられない

mac

その割にword wrapとかの設定があるのはなんでなんだろう。。 ↓の記事によると、そもそも長いタイトルを付けたい場合は名前が悪いのでもっと簡潔な名前にしろとのこと。簡潔でわかりやすくて誤解されない名前を付けるのは難しいんだよなぁ。。 参考:objecti…

rootユーザにユーザを切り替える

ec2

下記コマンドでrootになれる。 sudo su -ログイン中のユーザを表示するコマンドはwho

オブジェクトの内容をすべて表示する

以下でできる。 var util = require('util'); console.log(util.inspect(obj,false,null));参考:Wokashi: Node.jsでオブジェクトの中身を全て表示する

EC2の時刻のタイムゾーンを日本にする

aws

最初はアメリカ時間になっているので日本時間にする必要がある。 下記を実行すると日本時間になる。 sudo cp /usr/share/zoneinfo/Japan /etc/localtime

masterブランチの名前をproductionにする方法

git

最近本番、テスト、開発の各環境用にブランチを切る運用がはやってるけど、本番環境用ブランチの名前がmasterとなるのは違和感があるので名前をproductionにしたい・・・という場合は以下で名前を変えられる。 git checkout -b production master # create a…

sourceTreeでstashする

git

ツールバーの一時退避がstashのことらしい。 言われてみれば確かにそうなんだけど、全然気付かなかった。。なんでだろ。 Stashはコード書いてる途中でブランチを切り替えたりPullしたりするとき便利ですよね。 参考:【Git/SourceTree】作業中にブランチを切…

podライブラリのビルド警告を無視する方法

これは便利だ。 特定のライブラリのみ無視する場合 pod 'Facebook-iOS-SDK', :inhibit_warnings => true 全部のPodで無視する場合は↓ inhibit_all_warnings!参考:iphone - Ignore Xcode warnings when using Cocoapods - Stack Overflow

コピペする時にフォーマットを除いてくれるアプリ

mac

ブラウザからスティッキーズにコピペするときとか、余計なフォーマットが付いてきて鬱陶しいことありませんか。 FormatMatchを使うと余計なフォーマットを除いてくれて便利。 これ地味に便利だなあ。 Macのクリップボードにコピーしたテキストの余分なフォー…