UIActivityViewControllerはiOS6で新しく追加されたクラスです。 Facebook、Twitterなど、システムで用意された複数のアイテムに加え、アプリ独自の機能を追加することができる使い勝手のよい新機能です。 iOS6でしか使えないのが難点ですが、是非使いこなしていきたいですね。 UIActivityViewControllerとは UIActivityViewControllerは、指定したオブジェクトに応じて、ファイル共有やメール添付などの機能を自動的に表示してくれるViewControllerです。 UIDocumentInteractionControllerと違い、特定のファイルを指定するのではなく、複数のオブジェクトを指定します。 さらにアプリ独自の機能を追加することもできる、なかなか応用範囲の広いViewControllerです。 システムActiv
UIViewControllerを利用した上で右フリック・左フリック・上フリック・下フリックを検出する方法です。 UIViewControllerのdelegateで実装される -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{を利用します。 フリックのスタートとエンドを受け取ってそれぞれの座標を比較してフリックの方向を判断しています。 .hファイル @interface classname : UIViewController { CGPoint _tBegan, _tEnded; } @end.mファイル -(void)touchesBegan:(NSSet *)touches wi
2012年02月13日23:46 by idyn UIImageクラスオブジェクトのリサイズ方法 (Retinaディスプレイ対応) カテゴリiPhoneアプリ開発 ツイート 以下のような関数(メソッド)を定義すれば、リサイズされたUIImageオブジェクトを簡単に得ることができます。よく使うので例のようにカテゴリを使うと便利です。 (CGFloatは環境によってfloat(32bit)かdouble(64bit)に分岐する型のようです) UIImage+Resize.h #import <UIKit/UIKit.h> @interface UIImage (Resize) + (UIImage *)getResizedImage:(UIImage *)image width:(CGFloat)width height:(CGFloat)height; + (UIImage *)getRes
[XCODE] イメージをWebからダウンロードしてきて、base64で保存。base64からUIImageを作成する。 こんにちは、@yoheiMuneです。 今日は、UIImage -> base64, base64 -> UIImageへそれぞれ変換する方法をブログに書きたいと思います。 画像をbase64エンコーディングで保存する Webサーバーからダウンロードしてきた画像を、UIImageとしてiPhoneアプリにキャッシュしたい場合に、 ファイル名など他の画像とかぶらないように決めて、FileSystemへ保存するのはちょっと面倒。 そんな時に、画像をBase64エンコーディングで文字列化し、それをDBやUserDefaultsなどへ保存すると便利な場合があります。 今回は、画像ファイルをBase64エンコードする方法と、Base64エンコードからUIImageを作成する方法を
Objective-CとRubyのソケットサーバーを使ってチャットアプリを作る際にエンコード周りでハマったのでメモ。 まずは大前提として 1.ソケット通信でテキストメッセージと画像をやりとりする 2.メッセージ送信の主体を表すキー、実行コマンドのキーを付与して、id:cmd:msg というString型の文字列データで通信する という感じで実装しています。実際にはid/cmd/msgのそれぞれにString型のデータが入っていて、それをコロン「:」でつなげた文字列を使ってサーバーとやりとりする、ということです。 今回はサーバー側、クライアント側で受け取ったデータの内容によって処理を分岐させるために、データをsplitして簡単にキーを抽出できると嬉しいな、ということでString型を採用します。で、問題になったのが、画像の送信。今回は画像データをどうやってソケット通信で送るのか、というところ
今流行(?)のWebSocketちゃんですが、Objective-Cで触るための日本語のサイトがあまりなかったので。 手順としては、node.js でWebSocket のサーバーを作り(not Socket.IO)、SocketRocketを使ってそのサーバーに接続します。 node.js、Objective-Cともに触ったことがある人を対象にした記事です。 WebSocketサーバーを作る Socket.IOというのがありますが、今回は使いません。というのも、Socket.IOは「ソケット通信っぽいことをするためのライブラリ」で、WebSocketで繋げないブラウザにはLong Pollingやらでソケット通信風のことをするよう、ラッピングしています。そのため、今回のようにWebSocketだけで接続する場合には適していません、というかSocketRocketが対応していません。 さて
iOSアプリからUIWebViewなどを介さずにnode.js+Socket.IOと双方向通信するための簡単なサンプルを紹介します。 サーバ側の実装 iOSアプリからnode.js+Socket.IO間で双方向通信するには、socket.IO-objcというライブラリを使用します。 今回はサーバ側には弊社うえじゅん氏が公開している記事で作ったチャットアプリを使用しますので、まずは以下の記事を参考にチャットアプリを作っちゃってください。 Node + Socket.IO で簡単なチャットアプリの作成 チャットアプリの準備が終わったら、早速iOSアプリ側の準備をしましょう。ここからは以下の環境を前提に説明します。 Mac OS X 10.8 Moutain lion Xcode 4.5.2 iOS SDK 6.0 iOSアプリの実装 サンプルプロジェクトのダウンロード 今回紹介するiOSアプリ
background処理&delegate通知はサクサク動かすために結構よく使いますが、一歩間違えるとEXE BAD ACCESSだらけになってしまいます。(経験談) どうやったらEXE BAD ACCESSを防げるのか、なんとなくわかったのでメモってみます。 おおまかな問題点 基本的にはbackgroundの処理が終わる前にdelegate先のオブジェクトが解放されてしまうのが問題です。 しかし、これは単純にオブジェクトが解放されるときにdelegateをnilにするだけでは解決できません。 delegateで呼び出されたメソッドを実行中にオブジェクトが解放される可能性もあるのです。 この場合、delegate先のメソッドが呼ばれてるのでdelegateをnilにしても意味がなく、その後selfやメンバ変数を呼び出してしまうとエラーが出てくるわけです。 回避法 まず、よく使っていたbac
UIImagePickerControllerを使って、写真の撮影とフォトライブラリへの保存・参照を行うだけのプログラムを試してみました。 アップルのドキュメントに載ってることそのままだし基礎の基礎ですが、自分用メモということで。 CameraViewController.h @interface CameraViewController : UIViewController<UINavigationControllerDelegate, UIImagePickerControllerDelegate, UIPopoverControllerDelegate> { UIPopoverController *popover; } UIImagePickerControllerDelegateとUINavigationControllerDelegateを設定します。 UIPopoverCon
OpenGL ESは非常に柔軟で強力なAPIを提供してくれています。 しかしその一方でOpen GL ESが非常に柔軟過ぎるが為にどこから取っ付いて良いか分からなくなってしまうのが、その移行への障害になっているように思います。 iOSではUIImageを始めとして非常に使い勝手の良い画像処理用のクラスが用意されています。しかしそれをOpenGLで使おうとすると画像フォーマットの変換やCPUとGPU間のメモリー転送等、考慮しなければいけない課題が多いように思います。 OpenGLで提供されている画像イメージはTextureの概念に拘束されます。従って、iOSで一般的に使用されているUIImageやCGImageとTextureの間の画像フォーマット変換とメモリーの転送の効率は非常に重要な問題になると思います。 調べているうちにiOS5からは便利なクラスが提供されていました。 GLKTextu
iphoneアプリでnode.jsと通信する。 ネイティブアプリでリアルタイムな通信ができるので幅が広がりそう。 環境はMacOSX10で、今回は全部ローカル作業。 objective-cでWebSocket通信 iPhoneアプリとnode.jsで双方向通信するのは、もちろんWebSocketで行う。node.jsをインストールしたことある人はわかると思うが、WebSocket通信はsocket.IOモジュールで行っているのでクライアントサイド(objective-c)もsocket.IOにしたい。ライブラリはsokect.IO-objcを使う。 インストール xcode側 socket.IO-objcの依存ライブラリをインポート cocoa-websocket RegexKitLite json-framework ASIHTTPRequest cocoa-websocket http
「 ip7.biz 」のページは、ドメインが無効な状態です。 ウェブサイト管理者の方はこちらから変更・更新を行ってください。 「 ip7.biz 」is Expired or Suspended. The WHOIS is here.
『iOSアプリ開発に役立つTips』という Facebook ページをやっておりまして、そこで評判が良かった投稿(※)を 20 個ほど紹介します。 (※) Facebook ページの insights にある「クチコミ度」で判断しました アプリ実行中にコードを修正してそのまま実行中のアプリに反映させる アプリ実行中にコードを修正してそのまま実行中のアプリに反映させることができるXcodeプラグイン。 実機でもシミュレータでも使用可能とのこと。実機での動作検証中に修正して再インストールは時間かかるので、超ありがたいかも。 Injection for Xcode 投稿:2013/2/4 「PCのwebブラウザからiPhoneのカメラロールにアクセスできるようにするアプリ」のしくみ アプリ側でURLを発行している画面キャプチャがあるので、アプリにHTTPサーバ機能をもたせて(古いけどCocoaH
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く