Demystifying iOS Application Crash Logs クラッシュログの基本的な読み方の他、ケーススタディの解説もあって詳しい。 Exception Codes の紹介もある。 0x8badf00d: Reads...
NSArrayに格納するにはNSObjectのサブクラスである必要があるので CGPointといったCの構造体はそのまま格納できない。 (追記)iPhoneではUIKit.framework/Headers/UIGeometry.hにCoreGraphic系の型を格納するNSValueのNSValueUIGeometryExtensionsカテゴリとして宣言してありました。 tonnkotsuさんありがとうございます。 まあ以下は独自型の格納の参考にしてください プリミティブなintなどの型はNSNumberに格納してオブジェクト化するのと同様に、 NSValueを使ってこうオブジェクト化できると便利ですね。 CGPoint point = {0.0f, 1.0f}; //NSValue化 NSValue val = [NSValue valueWithCGPoint:point]; //
Xcode/Objective-Cで始めるプログラミング基本のキ:iOS SDKで始めるObjective-C入門(4)(1/2 ページ) Windowsを使っていたけど、iOSアプリを作るためにMacを使い始めた初心者を対象に、開発ツールXcode/iOS SDKを使ってiPhone/iPadアプリを作る方法を、プログラミング言語「Objective-C」の書き方/文法を交えて解説する連載。今回からObjective-Cの基礎文法を解説していきます。まずはプログラムを動かして変数やNSLog、フォーマット指定子などを覚えましょう。 Objective-Cでプログラミングを始めてみよう 本連載「iOS SDKで始めるObjective-C入門」では、前回の「【図解】Xcode 4.5の使い方リファレンス超まとめ」までで、iOS(iPhone/iPad)アプリの開発環境として、OS「(Mac
例えばこんなコードに違和感はありませんか? 自分の場合よくあることなのですが、例えばiOSアプリを開発していて、Google Analytics のトラッキングのためのコードを加えるとき、 - (IBAction)sendButtonDidPush:(id)sender { // トラッキングのためのコード [tracker sendEventWithCategory:@"uiAction" withAction:@"sendButtonDidPush" withLabel:nil withValue:0]; // ... // 以降、送信ボタンを押したときの処理 // ... } こんなかんじにボタンが押されたときの処理のところにトラッキングのためのコードを埋め込んだりすると思います。 これはこれで問題はないのですが、プログラムのあちらこちらにトラッキングのためのコードを埋め込んで、本来
iPhoneアプリ「みやちかんたろうの大冒険」の主人公みやちかんたろう君が、日々のトラウマ的出来事をつづったブログです。 iPhone 用ゲーム作成ライブラリ cocos2d のプログラミングガイドを日本語に訳しながら読んでいます。 今回は、マップの使い方 このあたりを自分で実装するととても面倒臭いんです。 みやちかんたろうの大冒険の際はとても苦労しました。 そのあたりが簡単に実現できるのではという期待のもと、読み進めていきたいと思います。 -------------------------------- cocos2dプログラミングガイド タイル化マップ <目次 タイル化マップの作り方と使い方 タイル化マップ cocos2d では、タイル化マップを作成するのにふたつの方法があります。 TMX Tile Map フォーマット(新しい、より柔軟、お勧め)と、PGU Tile Map フォーマ
Audio Unit は、iOS の Core Audio においてもっとも低レベル(ハードウェアより)に位置するフレームワークです。そのため低レイテンシを要求されるオーディオ処理機能を提供するアプリに向いています。 というのがよく言われる Audio Unit のメリットなのですが、個人的には Audio Unit の「ユニットをつなげて複雑なオーディオ処理を実現する」というしくみ(AUGraph)がまるでギターのエフェクターをつないで音をつくる感じに似ていて、そのあたりも興味深いポイントとなっています。 ただ API は全部 C ベースだし、音を再生するだけでも(AVAudioPlayer 等と比較すると)複雑だったりするので、まずは参考になるサンプルをいろいろと集めてみました。 どの Audio Unit を使用しているか(kAudioUnitSubType_xxxx で判断) どう
iPhoneデジカメプログラミング 作者: 細谷日出海出版社/メーカー: ソフトバンククリエイティブ発売日: 2011/03/18メディア: 大型本購入: 1人 クリック: 33回この商品を含むブログ (4件) を見る ちょっとブログ(WordPress)の移行ができてないので、 ネタかぶっちゃうわけですが、改めてまとめ直したいと思います。 元記事(その1,その2) iOS5からCoreImageというフレームワークを使うと、 画像のフィルタが簡単にできます。リアルタイムフィルタには少し重かった印象ですが、静止画であれば特に問題なく利用できるかなと思いまして。 以下記事にて引用している記述は 公式ドキュメントからなど引用させていただいております。 前提その1 CoreImageというフレームワークを使います。 前提その2 インポートしましょう。 #import <CoreImage/Cor
Objective-Cで乱数を発生させたい時があります。その方法の比較。 rand()を使う 一番単純な方法としてはrand()を使います。rand()で乱数を発生させ、MAX_NUMのmodをとることでMAX_NUM未満の乱数を取得するわけです。 rand() % MAX_NUM; 例)rand() % 3 + 1 →1から3までの乱数を取得 ただし、この方法で実装すると実行するたびに毎回同じ乱数が発生します。そのため、乱数の初期値を修正する下記の方法をとることが多いです。 srand(time(NULL));//現在の秒数を元に初期値を修正 rand() % MAX_NUM arc4random()を使う Objective-Cでは便利な関数としてarc4random()があります。これを使うと乱数の初期化が要りません。 ((int) arc4random()) % MAX_NUM;
ちょっとした細かい事なんですけど、設定とかimportとか プロジェクトを跨がって使いそうなやつは最初にうちにやってること多いんですけど、 その辺のネタを少々・・・ 1.NSLogの拡張と、prefix.pch NSLogは、コンソールにその内容を出力してくれるわけですが、 NSLog(@"%s",__PRETTY_FUNCTION__); NSLog(@"%d",__LINE__); とすると、 __PRETTY_FUNCTION__:クラス及び関数名 __LINE__:行数 などを表示してくれます。 ただ、毎回これを記述するのは、 面倒なのでだいたいマクロにしたりしますが、 #define LOG(fmt,...) NSLog((@"%s %d "fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); これをあるヘッダファイルなどに記述
Objective-CでUnit Testフレームワーク GHUnitの導入手順 Jan 25th, 2013 Tweet Objecitve-CのUnit Testのフレームワークの中では、GHUnitが安定性の面でオススメなようです。ということで、GHUnitの導入にトライしたらドハマリしたので、今後のために導入の手順を残しておきます。 Objective-Cのテストフレームワーク Objective-Cのテストフレームワークの比較は、iOS 向けTDD/BDDフレームワークやモックフレームワークの現状 - laiso - iPhoneアプリ開発グループ がよくまとまっています。ここでの結論は、SenTestingKitが公式でサポートされているのでXCode/iOSのバージョンアップして使い続けられる点で、オススメとのことでした。 一方、TECH-GYM(株式会社プラスアール)さんの
数日前に Pixate という iOS 向けミドルウェアがリリースされました。なんとiOSアプリの見た目を css で書けるという、全ウェブ開発者感涙のライブラリ。こりゃすげえ。ただし無料というわけにはいかず、18,000円くらいでこざいます。 2月9日 追記 トライアル版と、個人利用のための無料版が出たようです。 RubyMotion の teacupのように css チックな DSL で書ける、というものはありましたが Pixate はその辺とは次元が違ってて、普通に css ファイルに css を書くことができる。 button.blue { position: 60, 100; size: 200, 40; border-radius: 7px; font-family: 'Courier New'; font-size: 18pt; font-weight: bold; bord
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く