You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
最近、宣伝の記事ばかりになってきたので、ここらで技術ブログだということを見せつけるために技術的な話を。 iOSで開発をする場合には画面をコントロールするViewControllerファイルを作ります。っでその時にXCodeが新規作成で吐き出すファイルのフォーマットを自分好みにカスタマイズしたい事が多々あります。因みにViewControllerの例で言うと何もしないと下記のようなファイルが作られます。 // DefaultViewController.m // Hoge // // Created by tochi on 2013/03/01. // Copyright (c) 2013年 tochi. All rights reserved. // #import “DefaultViewController.h” @interface DefaultViewController ()
一昨日、conferenceWithDevelopersのLTで、1行で導入するback gestureの話をしてきました。 LTの内容と、やろうとして間に合わなかったことの紹介を書きます。 1行で導入するback gesture iPhone 5が発売されて、UINavigationBarのbackButtonItemに指が届きにくくなったので、 スワイプして戻るという動作を実装するアプリが増えてきたように思います。 これを実装するにはUIGestureRecognizerを使ってあれこれするのですが、 毎回これを書くのはだるいので、UIViewControllerを拡張して 1行で導入できるようにしたライブラリを書きました。 ISBackGesture 使い方 UIViewControllerにbackGestureEnabledというプロパティが追加されているので、 これの値をY
RubyMotion でアプリをつくるとき、デバッグがやはり大変です。 例えば GCD など非同期で実行されるブロック内で参照されるオブジェクトをインスタンス変数に入れていない場合、実際にそのブロックの処理が実行されるときには既にそのオブジェクトが解放されてしまっているというケースがあります。 これが RubyMotion を使う上での一番厄介なハマりどころといえると思います。 そのケースにハマった場合、何も有用なログを残さずにすとんと落ちてしまうことがありとても萎えます。 例えば以下の例はあまりに単純すぎますが、当然アプリがすとんと落ちます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # app_delegate.rb class AppDelegate def application(application
以下を Build Phases の Run Script に書いてあげればOK #!/bin/bash if [ "$CONFIGURATION" == "Debug" ]; then exit fi buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE") buildNumber=$(($buildNumber + 1)) /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
前提「iPhoneアプリを作りたいなら」ではない。「売れるアプリを作る企画力」や「イケてるUIを作るデザイン力」なしに、「アプリ開発に必要なObjective-Cの技術力」だけあっても意味ない。それでもいい人向け。前提2巷のブクマされている「オススメ本集」は自身の著書や身内の本を薦めるためのポジショントーク的な選書がよくある。溢れかえる「分かりやすさ」を訴える本は必要はない。買うとしても1冊で十分。 分かりやすい本じゃないと身につかないなら、結局作れるものは「その程度」のものに留まる。そして「その程度」を作れる人は既にうじゃうじゃいるからApple税を無駄にするだけ。公式ドキュメント日本語ドキュメント - Apple Developer 日本語化された公式ドキュメント。全てを読むのは難しいが、「Objective-C プログラミング言語」「Objective-Cによるプログラミング」を読め
Info.plistや、ビルド設定をいじっていると、こんな文字列に出くわすかと思います。 $(PRODUCT_NAME) $(TARGET_TEMP_DIR) $(SRCROOT) これらはそれぞれ特別な意味を持ち、Xcode がビルド時だか何だかのタイミングでプロダクト名とか環境に応じたパスとかに置き換えたりしてくれるものです。 が、 「SRCROOTってどこだっけ?プロジェクト直下?それともその一つ下?」 「Library Search Path を指定したいけどこの場所を指定するのにどのマクロを使っていいかわからない」 みたいなことになることが度々あるのではないでしょうか?(僕はあります) そして困ったことに、これらを網羅したAppleのドキュメントもありません。 (※というのは間違いで、バッチリありました。末尾の追記をご参照ください) 最近やっとその「Xcode で使用しているマク
初めまして。プログラマのショウといいます。 現在、mixiの公式iPhoneアプリを担当しています。 今回は、iPhoneアプリ開発におけるGHUnitを用いた単体テストについて紹介したいと思います。 ★ テストとは 本題に入る前に少しだけ、テストという概念について整理してみましょう。 ソフトウェアを開発する上での「テスト」という言葉は、「コンピュータのプログラムを実行し、正しく動作するかを確認する作業のこと」を指します。 そしてこの「正しく動作するかを確認する方法」として主に以下の2通りがあります。 ・ ホワイトボックステスト ・ ブラックボックステスト ホワイトボックステストとは、「命令網羅」「分岐網羅」「条件網羅」などの方式を用いて、プログラム内部の動作がプログラマの意図通りとなっているかを確認するものとなります。 これに対してブラックボックステストとは、プログラム内部に関係なく、外
関連資料はこちらからどうぞ。 http://www.dotapon.sakura.ne.jp/blog/?p=192Read less
Using Open Source Static Libraries in Xcode 4 Jonah Williams · April 4th, 2011 Xcode 4.0.1 allows us to more easily create and use third party libraries in iOS projects. I think the process is still more complicated than it needs to be. Xcode’s documentation suggests that it should automatically detect implicit dependencies and index classes across workspaces but I have not found this to be the ca
プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMacやiPhoneなどの話題が中心のブログ 前回の記事「iOSでカスタムURLスキームを利用してアプリケーションを起動する方法について」では、カスタムURLスキームを利用して他のアプリケーションを起動する方法について紹介しました。今回は自分のアプリケーションに独自のカスタムURLスキームを設定して、他のアプリケーションから利用可能にする方法について紹介します。 Info.plistへのエントリ作成 今回はカスタムURLスキームmySampleApp:を受け入れるサンプルアプリケーションとして、新規プロジェクトを作成します。プロジェクト名をCostomURLSchemeSampleとしてテンプレートはView-Based Applicationにします。 独自のカスタムURLスキームを設定するために、ア
For full functionality of this site it is necessary to enable JavaScript. Here are the instructions how to enable JavaScript in your web browser.
前回 はSenTestKitを用いてJenkins上で単体テストの自動実行を行いました。今回はGHUnitを使った単体テストの自動実行にチャレンジしてみたいと思います。またついでといっては何ですが、単体テスト時に必要になってくるモックを作成するためのライブラリOCMockも同時に導入してみようと思います。 ■なぜGHUnitを使うのか GHUnitを使うことで、SenTestingKitと比べて以下のようなメリットが得られます。 非同期処理のテストを行うための仕組みが用意されている(GHAsyncTestCase)これをSenTestingKitないし他のテスティングフレームワークでやろうとすると大変骨が折れます。 .app形式(要するに実際のiOSアプリケーション)でテストを実行するため、UIApplicationやUIWindowといったUIコンポーネントを使うクラスのテストが可能にな
最近、iOSアプリの開発でも継続的インテグレーション(CI)を取り入れていくプロジェクトが増加傾向にあるようで、各種ツールやライブラリ、ノウハウが出回ってきているように感じられます。そこで私も早速iOSアプリ開発でのCI導入を試してみることにしました。今回の導入試験では、以下のような環境を想定して行いました。 iOSアプリの開発を、Xcode 4.X系のプロジェクトとして行う。 VCSにはgitを採用し、githubの公開リポジトリをリポジトリサーバーとして使用する。 CIサーバにはMacを採用し、プロジェクトをビルドするためにXcode 4.Xをインストールしておく。 ■必要なツールを準備する CIといったら、まずは何はなくともJenkinsです。 http://jenkins-ci.org/ ここでは導入について詳しくは挙げませんが、私は以下の本を参考にしました。 https://gi
必要な時に手順忘れる部類なので覚書。 既に1台のMacで実機開発できている事が前提。 参考サイト http://d.hatena.ne.jp/paella/20090218/1234948743 証明書の移行手順 上記サイトに書いてあるとおり。 既に実機開発ができているマシンでの作業 キーチェーンアクセスを立ち上げて、ログイン項目の証明書欄を開く iPhone Developerの証明書に含まれる暗号鍵を右クリックして、「証明書を書き出す」を選択する 証明書を個人情報交換(.p12)で、パスワード設定して保存 (.p12ファイル) 何らかの手段で先ほどの .p12 ファイルを別Macへ送る これから実機開発したいマシンでの作業 先ほど送った .p12 ファイルをダブルクリックしてパスワード入力 ※2011/12/12 追記 3台目以降に追加したい場合は、2台目から証明書を持ってきても駄目。
こんにちは、QAチームのアベです。 iOS SDK でのコーディングって楽しいですよね。でも完成度の高いアプリを目指すと開発ライフサイクルの中でいくつものテストを充分に行う必要があり大変なことも多いです。難しいのは「充分に」というところです。何をもって「充分」といえるでしょうか?時間とお金があればいくらでもテストするよ!と思うものですが、時間とお金が潤沢にあるプロジェクトは現実にありません。 そこでコストと納期とのトレードオフで重要なところを重点的にテストするという戦略があります。 masuidrive さんも言ってました、「モデルの UnitTest は書く、Integration はあきらめよう」と。戦略は様々ですが比較的テストコードを書き易いモデルレイヤのプロダクトコードに対するユニットテストを充分に行うというのが現実的のようです。 本記事ではモデルレイヤにあるようなコードのユニット
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く