iPhoneSDK

UIButtonの基本

何で自分でも忘れていたのか分からないくらい大バカなミスをしたので、 自省の意味もこめて軽くUIButtonを作るときの基礎的な部分を書いておきましょう。 UIButton UIButtonクラスは、スクリーン上にボタンを設置するための手段を提供するUIControlサブクラ…

さいたまiPhone開発勉強会 全体の感想

他のエントリでは、序文に全体のスケジュールなどは書いたりしましたが 1つ1つの内容についてまとめのエントリをあげたいと思っているので 発表内容に関する感想みたいなものはここにまとめて書かせて頂こうと思います。 7/30 13:00-17:00 さいたまiPhone開…

さいたまiPhone開発勉強会に参加してきました / IMPACTについて

7/30 13:00-17:00 さいたまiPhone開発勉強会 http://atnd.org/events/17521 http://togetter.com/li/168360 【発表者と発表内容】 ・@Seasonsさん :IMPACT入門 ・@ajinotatakiさん :cocos2d事例編 HungryMasterの実装から ・@corosuke_kさん :Coronaで始…

In-App-Purchaseにテストアカウントから接続できない

検索したら対処法は出てきたのですが、ブログにも書いておきます。 1年ほど前の記事でしたが、今だに有効でした。 また、聞いた話によるとやはりテストアカウントで課金のチェックをするときは PCと接続状態にあることなども条件として挙げられていました。 …

InAppPurchaseについて

iPhoneアプリでIn App Purchaseを使うことになりましたので その勉強をしております。 いきなり実装方法にいくよりも、まずは概要からおさえましょう。 この辺に関してはStoreKitGuideやDeveloperGuideを読めば わかることなので、そちらを参照する方が手っ…

jQuery Mobile / Titanium Mobileのセミナーに参加してきました。

白石俊平氏講演 モバイル開発のベストプラクティス http://www.r-agent.co.jp/info/rss/event/bestpractice/ こちらのセミナーに参加してきました。 技術に関する講演自体は60分と短いものではあったのですが 現在のHTML5やJavaScriptを利用したスマートフォ…

Xcode4でのiPhoneシミュレータ保存場所

良く忘れるのでメモっておきます。 Xcode4でiPhoneシミュレータのローカルファイルは以下の場所に保存されます。 Macintosh HD > ユーザ > ホーム > ライブラリ > Application Support > iPhoneSimulator Xcode4を利用していれば、ここにバージョン別のフォ…

Setter/Getterについて

最近、ちょっと新しく修得した技術として更新する内容が枯渇気味なので、 先日新卒から質問されたことに対して回答したことなどを書いてみます。 おおよそ大丈夫だとは思いますが、個人的な主観も大いに入っているかと。 ◆ なぜSetter/Getterを作る必要があ…

加速度や電子コンパスを使ってみる 1

取り合えずは3軸加速度と、電子コンパス(ジャイロセンサ)の値を取得してみる。 取得するところまでのソースなので、別に大変な内容とかではない。 ちなみに、テンプレートとしてはCocos2D+Box2Dサンプルを使用している。 ◆ 加速度 Cocos2d+Box2dのサンプル…

UINavigationBarに「完了」ボタンを表示する

普通に考えれば分かることだったんだけど、 何故か発想が出てこなかった。 同じことがあるかも知れないので、ちょっと書いて残しておく。 デフォルトで定義されているUIBarButtonItemを設定する場合は、 UIBarButtonItem* rightItem = [[UIBarButtonItem all…

ビルドによってBundle identifierを変更したい

ちょっとした事情があって、リリース用のビルドと AdHoc配布用のビルドでBundle identifierを切り替える必要が出来たんだけど いちいち書き換えるのが面倒なのでやり方を調べてみたけど良く分からなかったので 結構適当にやってみた。 ※以下はXcode4での方法…

【4/20追記】 一つの画面で複数のUIAlertViewを制御するときに……

UIAlertViewを、状況ごとにいくつか出したいと思ったときに 参考書では特に触れられていないことが多いので、少し書いておきます。 簡単に書けば、こういうこと。 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex …

Tips アイコンの光沢を消す方法とか

XXX-info.plistに 「Icon already includes gloss effects」を追加し、Valueを「YES」で指定します。 この状態でアプリケーションを作成すると、アプリを端末にインストールした際の アイコンに自動で付与される光沢がなくなります。 最近ではこれを指定して…

UILabelやUIButtonを角丸にする

http://www.cocoalife.net/2010/03/post_471.htmlこちらのサイトに書かれている内容を応用することで、 というかそのまま流用することで簡単に角丸のUILabelやUIButtonを作ることが出来ます。 例えば、背景に一枚絵のような画像を指定しているため、 長方形…

最近買った参考書

ペース的には、毎月1冊くらいのペースで参考書を買っています。 消費もしていかないといけないな……。 誰かに教えることになる可能性もあるのを考えると、一期一会の参考書というのは どうしても衝動買いしてしまいます。 ◆ iOS開発におけるパターンによるオ…

指定の日数を移動したNSDateを取得する

dateByAddingTimeIntervalを利用します。 - (id)dateByAddingTimeInterval:(NSTimeInterval)seconds; e.g. 前後の日付を取得 #define DAY_INTERVAL (60*60*24) NSDate* nextDay = [[NSDate date] dateByAddingTimeInterval:DAY_INTERVAL*1]]; NSDate* lastDa…

月の文字列を取得する

しまった……。 昨日は同窓会とかの兼ね合いで名古屋に帰っていて、 今日徹夜で東京に戻ってきたところです。 普段なら下書きで1日分作っておいてスマートフォンから反映するんですが、失念していました。 さて、表題のことについて。 これも結構良く使う割に…

月の日数を取得する

指定した月が、何日まであるかを算出する方法。 int year = 2011; int month = 4; NSCalendar* cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; [dateForma…

Viewの更新を要求する

C++なんかで言えばinvalidate()とかinvalidateRect()とか言うもの。 あれ、これVC++か? [self setNeedsDisplay]; 結構忘れるんですよね。 この関数。 値を参照してグラフを表示するような処理を行っているときに、 グラフが参照する値を、例えばボタンを押…

背景に繰り返しのイメージを使う

どうやらこんな感じで出来るらしいんですが……。 CGRect bounds = [[UIScreen mainScreen] applicationFrame]; UIView *view = [[[UIView alloc] initWithFrame:bounds] autorelease]; [view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage ima…

GameCenterについて

先日のipaファイルに関する件、特に送付した先方からは 何も言われてませんので、多分大丈夫です。多分。 ◆ GameCenterについて iOS4.1以降で導入されたGameCenterについて。 これ、実は普通のLeaderboardやAchievementsに加えて、ネットワーク対戦機能とか …

【追記 04/25】 Xcode4でAdhocビルド/申請用ビルド

まぁ、あんまりいつものやり方と代わりません。 PROJECTを選択して「Info」のCommand-line builds use 「...」の場所を Ad_hoc用なり申請用なりのビルドに変更して、Command+BでBuildする。 メニューバーより、 「Product」→「Archive」を選択するとOrganize…

XCode4でNSZombieをEnableにする

alt/optionのキーを押したまま「Run」もしくは「Test」を実行すると ビルド設定を編集できる画面が表示できます。 ここで「Arguments」タブを選択すると ・Arguments Passed On Launch ・Environment Variables ・Module Names To Load Debug Symbols Forな…

【11/10/28修正】 UIAnimationの強制停止

色々探したんだけど、この方法しかなかった。 もうちょっとスマートな方法ないんだろうか? [UIView beginAnimations:nil context:NULL]; [UIView setAnimationBeginsFromCorrentState:YES]; [UIView commitAnimations]; 空のアニメーションを実行させてキャ…

NSArray(NSMutableArray)に要素が存在するか

小技でお茶を濁します。 たとえば問題を納めたある配列からランダムで問題を出していく場合に、 同じ問題は二度と出したくないとします。 そうした場合に便利な関数。 まぁ、私の場合は辞書クラスから出現したkeyを保存しておいて 重複チェックを行うように…

経過した時間をリアルタイムに表示する

iOSで、ある時点からある時点までの経過した時間を調べる方法。 NSTimerクラスを使います。 http://iphone-tora.sakura.ne.jp/nstimer.html 方法は簡単で、NSTimerを使ってある地点の時間から、 経過した秒数を計算して表示するだけ。 たとえばこんな感じで…

Tips viewへaddSubviewしたオブジェクトを取得する

連続更新が64日継続まで行ってたんですけどね。 うっかりうたた寝してしまったせいで途切れてしまいました。 また頑張ろうと思います。 ◆ メンバ変数以外の方法でviewへaddSubviewしたオブジェクトを取得する まぁ、大した事の無いテクニックなんですが。 単…

Tips的な。 型の判別やUILabelの改行

結構、力技なところは否めません。 正式なやり方はいま一つ見つからなかったのと、 そこまで速度を求められないプログラムだったので妥協しました。 ◆ 型の判別 前回のplistに作ったNSDictionaryの場合、同じkeyで複数の値を持たせようと思ったら その要素を…

軽いTips NSDictionary

軽いTipsでもたまには書きましょう。 STLで言うstd::mapに相当するのが『NSDictionary』クラス。 ちょっと適当に外部で編集したファイルを読み込んで、リスト化したかったので使ってみました。 行いたいこととしては、keyとvalueが書いてあるテキストファイ…

使っている参考書(iPhone版)

私はiPhone/Androidの開発者ということでiPhoneの参考書も 多数購入しています。 というよりも、1つ前の開発がiPhoneだったのでそちらの方が多いです。 ほとんど読んでいない参考書などもありますが、 まぁその中でも役に立った参考書を以下に書いてみます。…