新しく作ったRailsプロジェクトでRubyMineのNavigate to Decalareに失敗する

新しくRailsプロジェクトを作った時にEventLogに以下のようなメッセージが出てNavigate to Declareを筆頭にいくつかの機能が動かないことがあった

16:10:04 RubyMine Gem Manager
         RubyMine has detected that
         some of the gems required for 'my-project'
         are not installed
         Install missing gems
         (show balloon)
/usr/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/akiroom/my-project/bin/bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/..
sudo: no tty present and no askpass program specified

Bundler::GemspecError: Could not read gem at /Library/Ruby/Gems/2.0.0/cache/rake-10.4.2.gem. It may be corrupted.
An error occurred while installing rake (10.4.2), and Bundler cannot continue.
Make sure that `gem install rake -v '10.4.2'` succeeds before bundling.

Process finished with exit code 5

rake 10.4.2はインストール済みなのでさっぱり分からず。


なんだろうと思ったら、rvmの影響で/usr/bin/rubyとrubyの指す場所が違っていた

% /usr/bin/ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13]
% ruby -v
ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-darwin13.0]
% which ruby
/Users/akiroom/.rvm/rubies/ruby-2.1.4/bin/ruby

ので、Railsプロジェクトの直下に以下のファイルを置いて対応した

.ruby-version

ruby-2.1.4

Storyboardを使わずにコードだけでiOSアプリを書く時の最小限のコード

自分用のメモ

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  window.rootViewController = [[UIViewController alloc] init];
  [window makeKeyAndVisible];
  self.window = window;
  return YES;
}

日本一熱い男のSlack用botを作った

SlackとHubotの勉強と練習のために、日本で一番熱い男のSlack用のhubotを作りました。

https://github.com/akiroom/shubot

追記

npmライブラリ化しました。npm installするか、

$ npm install hubot-shubot

もしくはexternal-scripts.jsonに以下を追加することで簡単に利用できます。

["hubot-shubot"]

続きを読む 日本一熱い男のSlack用botを作った

shenzenでdeploygateにアップロードするとタイムアウトする

TravisCIで自動で社内にiOSアプリを配信したい時、nomad-clishenzenを使ってCLIでdeploygateにアップロードすると便利だと以前書いた

ipa distribute:deploygate --api_token 00000000000000000 --user_name hoge_fuga --message 'YourMessage'

ただ、いつの間にか以下のメッセージが出てアップロードできなくなってしまった。

Timed out while uploading build. Check https://deploygate.com/ to see if the upload was completed.

色々試したんだけどshenzenを使うのが面倒になってきたので、公式サイトのDeploygate API/Push APIのドキュメントに書いてある方法でアップロードした。

curl -F "file=@AppName.apk" -F "token=00000000000000000" -F "message=YourMessage" https://deploygate.com/api/users/hoge_fuga/apps

TravisCIでiOSアプリのipaファイルを作って実機に配信する時に便利だったもの

TravisCIを使ってCI(継続的インテグレーション)の環境を構築しようとしたけれど、ググっても手順がやや複雑で環境構築が大変そうに見えた。色々自動化できないか探してみると、iOS開発に大変便利なツール群が見つかった。それらを使って環境構築すると、イイ感じに構築できたのでメモ。

続きを読む TravisCIでiOSアプリのipaファイルを作って実機に配信する時に便利だったもの

TravisCIでObjective-Cの時にCocoapodsのバージョンが違うとコンパイルが通らない件

Travis CIを使ってObjective-Cのプロジェクトをコンパイルする時、TravisCI側のCocoapodsのバージョンが0.34.0なんだけどプロジェクトのCocoapodsは0.35.0でコンパイルに失敗していたので、いい感じにできるようにしておいた。ついでに、諸々の処理をRakefileに書き出した。

続きを読む TravisCIでObjective-Cの時にCocoapodsのバージョンが違うとコンパイルが通らない件