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;
}

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のバージョンが違うとコンパイルが通らない件

Synx: Xcodeのフォルダとファイルシステムのディレクトリを同期するSynxが便利そう

Xcodeのフォルダ構成と、Finder上で見えるファイルシステムのディレクトリは同期しないため、しばしば一つのディレクトリに大量のファイルが並ぶことになる。ファイルシステム上のディレクトリ構成を、Xcode上のフォルダ構成に合わせてくれるツールがSynx.

https://github.com/venmo/synx

こんな感じになってるXcodeのプロジェクトがあったとして、

左の状態のディレクトリ構成を右の状態に修正してくれるツールです。

便利そう!まだ使ってないけど。

Xcode 5 完全攻略

StoryboardのTableViewでセルがはみ出して操作できない

StoryboardにUITableViewControllerを置いて、Prototype Cellを設定している時、様々な種類のセルを設定しているうちに、ViewControllerの高さが足りなくて下の方の要素が見られないことがある。その時の対処法。

以下の記事を参考にしたら解決した。
Can’t scroll to the bottom of a long Static TableViewController in XCode 5 Interface Builder to edit the cells below the fold

StoryBoard上でスクロールできるようにしたいViewControllerを選択して、Attributes InspectorのView ControllerのExtend Edgesの中にある”Under Top Bars”と”Under Bottom Bars”のチェックを外す。
Extend Edges in Xcode
この2つのチェックを外すと、TableViewの上でスクロールできるようになる。

Thanks to @shao1555!

Xcodeで”Could not read from the device.”というエラー

Xcode4でiOSアプリのコンパイルは通るのに実機で起動しようとするとCould not read from the device.と出る場合の対処方法

Could not read from the device.
しばらく経つと、Could not start debugserver on “(iPhoneの名前)” when trying to launch “(アプリケーションの名前)”とも表示された。

Could not start debugserver on “(iPhoneの名前)” when trying to launch “(アプリケーションの名前)”

続きを読む Xcodeで”Could not read from the device.”というエラー