読者です 読者をやめる 読者になる 読者になる

BAD_ACCESS

おもにiOS、ときどき変な電子工作、ガジェット話。

Objective-C

Xcode5で自分のコードをAPIリファレンス的にまとめていく話

いつのまにかもう一年の25分の1が過ぎてしまいました。すっかり更新が途絶えてしまいましたが今年もよろしくお願い致します。 今回の記事は普段からきっちりappledoc等で自分の書いたコードを整理している人にはほとんどお役にたちませんのでご了承いただく…

【今更】遅れてきたマイブーム。書籍の電子化はじめました。(お得情報アリ)

自分にもついに電子化ブームがやってきました。 今更ですが、この年末年始に色々と試してみて気づいたことを。 PDFで読めるものを買う と書くと語弊がありそうですが、要するにKindleだけでしか読めないものは買わないようにしているということです。 特に技…

#15 パスで弦の動きをシミュレートするーC4のパスであそぶ(4)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の17日目の記事です。 前回はベジェ曲線をつかって波形アニメーションをつくってみました。今回はもう少し動きに自然な雰囲気を持たせてみようと弦の動きをシミュレートしてみよ…

#14 パスで波をつくるーC4のパスであそぶ(3)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の16日目の記事です。 前回は文字をパス化してモーフィングする例を試しました。今回はベジェ曲線をつかって波形アニメーションをつくってみようと思います。 ベジェ曲線のつくり…

【番外編】iOS Second Stage Advent Calendar 2013に投稿しました。

「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」が滞る中、iOS Second Stage Advent Calendar 2013にも投稿しました。 一人アドベントカレンダーで中心に扱っているC4の紹介記事を書きました。 だれでもクリエイティブコーディング?ーC4…

#11 撮影した画像をカメラロールに保存するーC4でエフェクト付きカメラをつくる(3)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の12日目の記事です。 前回はほんの1行でカメラで撮影した画像にエフェクトをかけるという例を紹介しました。 今回、はせっかく撮影した画像をカメラロールに保存する実装までを…

#10 使えるエフェクトはまだ限られているーC4でエフェクト付きカメラをつくる(2)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の11日目の記事です。 前回はわずか数行でハードウェアのカメラを使ったアプリを実装できるという例を紹介しました。 今回、カメラに使うエフェクトを紹介しようと調べていたとこ…

#9 とにかく簡単にカメラで撮影してみるーC4でエフェクト付きカメラをつくる(1)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の10日目の記事です。 前回まではAudio Playerをつくるということで書いてまいりましたが、今回からは画像関連を扱うということでC4を使ってエフェクト付きカメラをつくってみよ…

#8 複数の音源から再生したい音源を選ぶ(補足)ーC4でAudio Playerをつくる(6)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の9日目の記事です。 前回、音源リストのビューを追加に関して1点補足いたします。 C4Buttonクラスのtag 実はC4ButtonクラスにはUIButtonクラスのようにtagプロパティを持ってい…

#7 複数の音源から再生したい音源を選ぶ(その2)ーC4でAudio Playerをつくる(5)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の8日目の記事です。 前回、音源リストのビューを追加しただけで終わってしまっていたので、引き続き実装をすすめます。 Xibファイル上のViewの取り扱いについて 通常のUIViewと…

同期用のクラス"SyncEngine"とCoreData周りの処理を追加する ーParseでローカルキャッシュ(3)

※tech.kayac.com Advent Calendar 2013に投稿したぼっちiOS開発者がParse(Parse.com)使った結果wwwwwwwww の補足記事になります。 量が多かったので全部で4つの記事に分けています。 Parse.com上に自分のプロジェクトを作成して、いくつかのデータを追加す…

アプリ起動時に同期の処理を行う。ーParseでローカルキャッシュ(4)

※tech.kayac.com Advent Calendar 2013に投稿したぼっちiOS開発者がParse(Parse.com)使った結果wwwwwwwww の補足記事になります。 量が多かったので全部で4つの記事に分けています。 Parse.com上に自分のプロジェクトを作成して、いくつかのデータを追加す…

Xcode上でプロジェクトを作成し、"ParseSDK"と"AFNetworking"を導入する。ーParseでローカルキャッシュ(2)

※tech.kayac.com Advent Calendar 2013に投稿したぼっちiOS開発者がParse(Parse.com)使った結果wwwwwwwww の補足記事になります。 量が多かったので全部で4つの記事に分けています。 Parse.com上に自分のプロジェクトを作成して、いくつかのデータを追加す…

Parse.com上に自分のプロジェクトを作成して、いくつかのデータを追加する。ーParseでローカルキャッシュ(1)

※tech.kayac.com Advent Calendar 2013に投稿したぼっちiOS開発者がParse(Parse.com)使った結果wwwwwwwww の補足記事になります。 量が多かったので全部で4つの記事に分けています。 Parse.com上に自分のプロジェクトを作成して、いくつかのデータを追加す…

#6 複数の音源から再生したい音源を選ぶーC4でAudio Playerをつくる(4)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の6日目の記事です。 ようやく「一人アドベントカレンダーやってるんですねw」と話しかけるようになりました。 前回はC4Sampleの音源の再生・停止をコントロールする機能を実装…

#5 C4で音楽の再生・停止をコントロールするーC4でAudio Playerをつくる(3)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の5日目の記事です。 前回はC4Sampleの音源の再生位置をシークする機能、計測した音源のレベルにあわせて円の大きさを変化させる機能を実装しました。 非常に簡単な実装で音楽に…

#4 C4で音楽にあわせてオブジェクトを変化させるーC4でAudio Playerをつくる(2)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の4日目の記事です。 前回はC4Sampleを使って音源のrate(再生速度) pan(左右に振る) volume(音量) で遊んでみました。 非常に簡単に音源をいじることができることがお分か…

#3 C4で音楽を(割りと自由に)取り回すーC4でAudio Playerをつくる(1)

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の2日目の記事です。 前回はC4Timerを使ったサンプルを紹介し、どれだけシンプルにつくることができるかが少しお分かりいただけたのではないかと思います。 今回から4回に渡りC…

#2 C4でつくるプロジェクトの構造とC4Timer

この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の2日目の記事です。 まず、C4とはなんぞという方はこちらの記事にて概要を説明しております。はじめてのC4!|BAD_ACCESS C4はとにかくシンプルです。まだまだ可能性を秘めてい…

#1 一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜

なんとも寂しい響きのタイトルですが、12月1日〜12月24日まで一人でアドベントカレンダーをやろうと思います。 トピックはまだ未定の部分もありますが、メインは以前もブログにて紹介したC4C4:http://www.c4ios.com/を使ったアプリについて書いていく…

ローカルP2Pアプリをつくるためにググりまくった結果

GKSession、GKVoiceChatServiceがiOS7からdeprecated orz... こんな感じで紹介されていたGKSessionとGKVoiceChatServiceの組み合わせによる構成も今は推奨されていない。 iOS7からはMultipeer Connectivity Framework 今まで、GKSession等を使って構成してい…

ただ「いいね!」を押してもらうだけのシンプルなサンプルアプリ"Go Like On"を書いた

ずいぶん前に書いたサンプルアプリ。アプリ側からワンタップで「いいね!」までいけるかと聞かれて試しに実装してみた。 クライアント側の実装はすごくシンプルだけど、facebook developer側の設定がちょっとややこしかったのでメモとして残しとく。 GitHub …

iTunes Storeの情報を簡単に取ってきて表示させるだけのサンプル"AppRankingParser"を書いた

Appleが太っ腹にも提供している"RSS Feed Generator" 目当てのランキングを取り出すためのインターフェイスをつくりました。 (RSS側の値が変更されると身も蓋もないことになるので今後なんとかしたい) GitHub somtd/AppRankingParser 使ってもらうのはclas…

はじめてのC4!C4のデモまとめ

前回、C4について本当に簡単にまとめて概要を説明してしまったため、結局何ができるのかさっぱりわからない記事になってしまった\(^o^)/ 今回はあまり深く掘り下げずに、公式ページのTutorialsをもとにして、どういうことができるか動画を中心にまとめる。…

はじめてのC4!

最近気になっているiOS向けのframeworkについて手を出しついでに簡単にまとめてみます。 公式ページはこちらC4:http://www.c4ios.com/ あんまり日本語の記事を見ないので手探りではありますが、今回は概要の拙訳とHello Worldから。 なんて読むの? おそらく…

Bluetoothサイコロ「DICE+」を試す

DICE+ DICE+が届いたので早速"Hello world"してみる。 DICE+をHello Worldする。 iOS版、android版、Unity版が用意されていてサンプルコードはGithub上にアップされている。 DICE+ repositories すぐcloneして試すことができるが、DicePlus.framework自体は…

リアクティブプログラミングをかじる ReactiveCocoaについて

遅ればせながら、リアクティブプログラミングをかじる。 なぜリアクティブプログラミングは重要か。 すごくまとまっている記事ですが、まだイメージできない... なのでObjective-Cで書かれたコードを読んで理解してみようと試みている。 ReactiveCocoaはCoco…

自前のライブラリをCocoaPodsで管理するメモ

意外とまとまっていないかったので作業しながらまとめたメモ。 CocoaPodsとは 公式:http://cocoapods.org CocoaPodsをプロジェクトに追加する方法はこのまとめが丁寧でわかり易かった。 CocoaPodsを使ったXcodeプロジェクトの作り方(1) CocoaPodsを使った…

オリジナルの「loadingView」をサクッとつくるために「SVProgressHUD」をforkしてみた。

標準のUIActivityIndicatorで満足できない方に まずは超有名なこちらのSVProgressHUDをお試しすることをおすすめします。 これだけで、大概の方は用が足せてしまうのではないのでしょうか。 しかしながら、仕事上、または己のアプリのデザインポリシー上、特…

オリジナルデザインのトグル・スイッチをいとも簡単に作れる「ToggleView」をつくってみた。

あけましておめでとうございます。 昨年の暮れにちょこちょこと手をいれていたUIコンポーネントを紹介します。 標準UIでは満足できない方へ 標準のスイッチのデザインではどうしてもアプリの雰囲気に合わない時ってありますよね。 実際、仕事の中でも、やは…

CCSpriteFrameCacheでキャッシュしたフレームでCCSpriteのテクスチャを差し替える

cocos2dで作る iPhone&iPadゲームプログラミング作者: Steffen Itterheim,畑圭輔,坂本一樹,加藤寛人,高丘知央,株式会社クイープ出版社/メーカー: インプレスジャパン発売日: 2011/06/24メディア: 単行本(ソフトカバー)購入: 9人 クリック: 601回この商品…

StoryBoardの開発手順(公式)日本語ドキュメントがアップされたみたい

英語が読める人にとっては今更感があるかもしれませんがStoryBoardの開発手順の公式ドキュメントがアップされました。 日本語で記載されている資料としてはまだ珍しいのでそろそろ本格的にStoryBoardを使って開発される方は必読です。以下、公式のドキュメン…

ビュー関連のデバッグに便利そうな手法

わたくし先週はビューの回転にすっかりハマってしまいまして。。。 自戒の意味も込めて、ビュー関連のデバッグに便利そうな手法をしらべましたのでまとめてみました。 recursiveDescriptionメソッド ビューの階層構造やframeの値を一気に取得するためのメソ…

動画の圧縮についてスタディしてみた

AVAssetExportSessionの設定でどれぐらいの圧縮ができるかをスタディしてみた。 iPhone4で動画を撮影した(15秒、1分、3分)ものをベースに実施。 ※このあたりは機種によって変わるそうなので参考まで。 動画の時間 15Sec 1min 3min Original(byte) 22,302,0…

AVAssetExportSessionで動画の圧縮

カメラロールに保存された動画をアップロードする際にある程度データを圧縮する必要があると思いAVAssetExportSessionを使った方法を試してみるメモ。 AVAssetExportSessionについて 公式のドキュメントによると、 エクスポートセッションは、アセットの非同…

iOS5のTwitterフレームワーク(っぽい)画面をiOS4.xでも実装できる神ライブラリがあった!

Githubはこちらからdoubleencore/DETweetComposeViewController · GitHub 画面だけじゃなく実装上もTWTweetComposerViewControllerと同じような書き方ができるのも本当に便利! 興奮気味に実装の手順をメモ。 1.自分のプロジェクトにDETweetComposeViewContr…

URLスキームによるアプリの起動とAppDelegate内の処理について

バグを直していて改めて確認することがあったのでメモ。 iOSのバージョンによって違いがあるかもしれないが、後ほど調べてみる。 調査ケース (1) アプリがバックグラウンドで生きている状態。 (2) アプリがバックグラウンドで完全に死んでいる状態。 調査す…

ALAssetGroupの「addAsset」が返す値が時々NOになって困る。

需要ないと思うけど…写真をフォトライブラリにひとまとめにして保管(ー>アルバムとして保管)する際にカメラロール側に余分に保管されてしまう現象について。 あるアプリでダウンロードしてきた写真をアルバム単位で保管する機能がある。保管する際にアル…

UIButtonの中の文字をどうにかする方法。

UIButtonのインデントまわりLoading 意外とはまり所だったのでメモ。 UIButtonのtitleをインデントする方法 Configuring Edge Insets タイトルのインデント button.titleEdgeInsets = UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat …

ASIHTTPRequestで非同期処理をBlock使って実行。

この記事を参考に。ASIHTTPRequest example code - All-Seeing Interactive Blockをあまり理解していない中で これまでの処理との違い。 Block使わない - (IBAction)grabURLInBackground:(id)sender { NSURL *url = [NSURL URLWithString:@"http://allseeing…

NSNotificationCenter(通知センター)への登録。

これまで異なるクラス間でメソッドを呼び出す際にはdelegateで取り回しをしていたけど、NSNotification(通知センター)を使ったほうが可読性が高まってあとでメンテナンスしやすいというアドバイスをいただいた。全てのケースに当てはまるわけじゃないけど…

AVCaptureSessionを使ってカメラアプリをつくるときのUI関連処理

カメラアプリ実装での悩み。開発継続中。 iOS4から利用可能となっているAVCaptureSessionを使うことでカメラアプリの自由度が格段に上がる! ということでドキュメント精読。キャプチャセッション自体の処理はGCDを使ってメインスレッド以外で行われる。 (…

Newsstandアプリを開発する(1)

Newsstandアプリのモックにとりかかる。Newsstandのアプリ開発情報がとにかく少ないのでまずは公式のリファレンスとWWDC2011の動画、英語の記事を参考にするしかない。 しばらく開発メモがてら更新していく。まずNewsstandアプリをつくるために何が必要か? …

StoryBoardを使うけどSeguesは使わない場合の画面遷移の方法

需要があるかどうか… StoryBoardを使った画面遷移の設計・開発は直感的にできて非常に有用。 ただし、ちょっと標準のやり方と離れていくと、途端に使い方を迷ってしまうことも否めない。 今回はStoryBoardを使って開発を進めつつもSeguesを使わない場合の画…

いまさら聞けないUIView(1)「frameとboundsの違い」

カメラアプリの開発に取り掛かっていて、どうもUIViewについて理解が浅い気がしてきた。 いまさらと言われても、思った時にやるのが一番!ということでUIViewについてのメモ。 UIViewクラス概要 お決まりの公式ドキュメント。 相変わらず充実の内容です。色…

StoryBoardでGesture Recognizerを追加する。

引き続きiOS5関連について。 StoryBoardを使った開発は画面の少ないシンプルなアプリや画面遷移のイメージをプロトタイプとして確認するにはうってつけの開発方法だと思う。 今回はStoryBoardを使った画面作成でGesture Recognizerを追加しようとしたときの…

テーブルビューで複数のセルを同時選択が可能に!

最近開発したアプリで自前でテーブルビューのチェックボックスコントローラをこしらえたのだが… ついに標準でも複数セルの同時選択ができるようになった様子! Loading - (void)viewDidLoad { [super viewDidLoad]; self.dataArray = [NSMutableArray arrayW…

静的テーブルビューなら設定画面の開発がすこぶる快適に!

アプリを開発していて結構手間になるのが設定画面の開発。 見た目はすごくシンプルだけどグループテーブルビューの独特の記述で面倒くさい。iOS5からは静的なテーブルビューが用意され、作成の際にデータソースが不要になっています。 TableViewの「Content…

「iOS5」で追加された新機能。ざっと読み。

巷ではiPad3だのiOS5.1だのと騒がれておりますが、iOS5で一体何ができるようになったのか、ざっと読みしてみたいと思います。以下の本に書いてあることを斜め読みしております。 詳解iOS5プログラミング作者: 沼田哲史出版社/メーカー: 秀和システム発売日: …

Twitter APIへのアクセスで401エラーが出る。

今更こんなところでハマるかよ・・・という内容ですが、ありそうな気もするのでメモ。 Twitterへ投稿する際にAPIエラーが出る。 「Could not authenticate you.」つまり認証することができませんでした。となっている。 不思議なのは、投稿する前に行ったOAu…