iOSに関するmurakamingのブックマーク (24)

  • iOS下位互換のための動的メソッド追加 - mixi engineer blog

    どうも、佐野です。先日のWWDCでは大々的にiOS6が発表され、AppleのDev Centerからβ版のSDKもダウンロードできるようになっており、開発者の皆さんは新機能の利用に胸を踊らせていることかと思います。mixiのiPhoneアプリはiOS4ユーザも多いため旧環境もサポートしなければならず、一方で新環境のユーザには新機能を提供したいですしコードも UP TO DATE に保っておきたいものです。そこで今回はできるだけ新環境向けのコードに下位互換性を持たせられるように、クラスに対して動的にメソッドを追加する方法をご紹介します。 Objective-Cのメソッドコールは、Cのようにコンパイル時にリンクされるのではなく、アプリケーションの実行時にメソッドが検索されて実行されます。実はObjective-Cのメソッドは単なるC言語の関数ポインタであり、それを呼び出すためのセレクタも単なる

    iOS下位互換のための動的メソッド追加 - mixi engineer blog
  • 【今更】漫画風ビデオカメラをつくる 〜OpenCVを利用したリアルタイムフィルタリング その1〜 | DevelopersIO

    CM iOS部隊所属の平井です。今回は前回の記事「OpenCVを利用したリアルタイムフィルタリングの基」で作成したOpenCVを利用したリアルタイムフィルタリングを行うためのプロジェクトと、結構前の記事「OpenCVで写真を漫画風に加工しよう 〜実装編〜」で作成した漫画風フィルタを組み合わせて漫画風ビデオカメラを作ってみましょう! では早速。 ちなみに今回は以下の環境を前提に説明します。 Mac OS X 10.8 Moutain lion Xcode 4.6.1 iOS SDK 6.1 iPhone 5 サンプルプロジェクトのダウンロード 今回紹介するiOSアプリのソースコードをGitHubにあげてあるのでダウンロードしてください。 hirai-yuki/RealTimeManga 実機につないでプロジェクトを実行すると、以下のように動画が漫画風になるはず。 今は表示をいい具合にするた

    murakaming
    murakaming 2013/04/09
    コード短くて凄い
  • Python で Xcode のビルドスクリプトを書く方法

    以前こんな記事を書きましたが、今回はもっと実践的なお話。PythonでXcodeのビルドスクリプトを書いてハッピーになろうというお話です。 ■なぜXcodeのビルドスクリプトを書くのか Xcodeのビルド機能だけでは出来ないことをやりたいからです。たとえば、特定のディレクトリの中に入っているリソースを、ビルド時にアプリにパッケージングしたい。ビルドする前に、特定のリソースを暗号化して、アプリにパッケージングしたい。といった要望が結構ありますが、これらはビルドスクリプトを使えば簡単に可能になります。 手でいちいちやるより楽で安全ですね。 ■なぜPythonか 理由はいくつかあります。Windows, Mac, Linux, 全ての環境で動く。したがって、万が一のときにはビルドスクリプトだけを移植できる。sh とか csh とか非力すぎてやってらんない。 zsh もつかえるけど Python

    Python で Xcode のビルドスクリプトを書く方法
  • CoreLocationサンプル1 - 現在位置の取得と領域観測 | UQ Times 開発の記録

    CoreLocationサンプル1 - 現在位置の取得と領域観測 | ラベル: iOS, Objective-C, サンプルコード Tweet 今回もiOSデバイスが持っている機能を利用するものとして、位置情報サービスについて進めてゆきます。 iOS Developer Libraryの「位置情報対応プログラミングガイド」(英語版はMaking Your Application Location-Aware)に沿って、サンプルを公開します。 注意点カメラ・加速度センサー・ジャイロスコープ・磁力センサーなどのハードウェアを利用する場合とは、以下の点で異なります。 位置情報サービスを利用する場合は、ユーザに確認を取らなければならない 確認用のダイアログはフレームワークが自動的に表示してくれます。必要になる直前に確認するようにしなければ、ユーザが「なぜその機能が必要なのか?」という懸念を

    murakaming
    murakaming 2013/02/28
    丁寧な説明で助かる
  • feinstruktur.com - contact with domain owner | Epik.com

  • CouchCocoa - An iOS client for working with CouchDB

  • HTML5によるハイブリッドアプリ開発に関する雑記 - id:anatooのブログ

    HTML5でiPhoneAndroid向けのハイブリッドアプリを作るのが最近の流行りみたいです。ハイブリッドアプリとは、外面は普通のアプリとしてAppStoreやGoogle play marketでインストールできるものの、その中身や一部がHTML5で記述されているアプリです。 最近の有名な例だと、CookpadやLinkedIn、はてなスペース、少し前にネイティブに移行してしまいましたがfacebookのモバイルアプリもHTML5を使って記述されていました。GREE界隈で言われているらしいガワネイティブっていう言葉もハイブリッドアプリを指します。ちょっとググってみると、2016年には企業向けのアプリの50%がハイブリッドアプリになるという予測もあります。 ハイブリッドアプリの何がいいかというと、Objective-CとかJavaとかがわからなくてもウェブ系技術者であればAndroid

    HTML5によるハイブリッドアプリ開発に関する雑記 - id:anatooのブログ
  • そのUI, まずはCocoa Controlsで探してみよう - プログラミングノート

    iOS Advent Calendar 9日目担当のntakuです。 もし、iOS開発する上で一番大変なことはなんですか?と聞かれれば間違いなくUIの開発!と答えます。同じ価値や機能を提供するにしても、使っていて気持ちが良いUIであるかどうかでアプリの評価は大きく変わってくると思います。 何がベストなのか、はやはり実際にプロトタイプを作ってみないと分からないわけですが、あのアプリのUIをちょっと真似してみようと思ったり、このアプリと同じように作ってくださいと言われるとそれだけで数日かかってしまうこともざらにあります。 そんなことを繰り返していると中々アプリが完成しないわけなのですが、その期間を少しでも短縮するために、私が開発する際に活用しているのがCocoa Controlsというサイトです。 Cocoa Controls Cocoa ControlsはiOSやMax OS X開発者が開発

    そのUI, まずはCocoa Controlsで探してみよう - プログラミングノート
  • 中級者向け iOS デバッグ Tips - jarinosuke blog

    導入 iOS 開発者のみなさん、こんにちは。 このブログでは主にチュートリアルだったりフレームワークの紹介みたいなことを書いてきました。 そこで、たまには中級者向けのエントリを書いて「Xcode バリバリ使って、ビシバシ Objective-C 書いてますよ」アピールします。 iOS 開発をはじめて一通り Framework は理解したけど Xcode 使いこなせてる感が足りない方、夢にまで EXC_BAD_ACCESS が出てくる方に参考になる記事となればと思います。 といっても Xcode はマッシブな IDE なので、4つのデバッグツールに分けて「あれ、それ知らなかった!便利じゃん!」な方法を紹介します。 ブレークポイント デバッグには切っても切れない関係ですね。アプリを実行中に指定した行で処理を中断し、そこからステップ実行で細かいデバッグを可能にしてくれます。 ショートカットキー

    中級者向け iOS デバッグ Tips - jarinosuke blog
    murakaming
    murakaming 2013/01/25
    アプリケーションデータの抜き出し、クラッシュ再現の項目は使う機会ありそう
  • iOSアプリ開発を捗らせるツールのまとめ

    iOSアプリ開発で自分がよく使うツールとサービスについてまとめてみました。 BaaS: Parse.com ソーシャルな機能は持たせたいけどサーバ作るのだるい、そんなアプリ開発者の味方がBaaS(Backend as a Service)です。最近熱いですね。Kinvey, StackMobなども試してみましたが、機能的にも料金的にも一番おすすめなのがParse.comです。100万APIまで無料、100万〜1500万APIまで$199という価格設定です。サーバは書くのが嫌というよりデプロイがめんどいくさいんですよね。BaaSなら一瞬でアクティブになりますので捗ります。 リファレンス: Dash 高速にリファレンスを検索したい時、Dashが使えます。 iOS以外にもjQuery,Android,Rails等ひと通り揃っています。 リポジトリ: github リポジトリは何でも言いっちゃ何で

    iOSアプリ開発を捗らせるツールのまとめ
    murakaming
    murakaming 2012/08/06
    多言語化のツールはどう得なのか見ておこう
  • 日本のApple StoreでiOS Developer Programを購入しActivateするまでの全スクリーンショット

    完全に新規の状態でのアカウント作成からiOS Developer Programを購入し利用可能にするまでの、できる限り撮り残したスクリーンショット集です。 日のストアで購入すると一度サポートに連絡せねばならなくなると思います。そのトラブルを解決して購入・アクティベイトに至るまでを書いてあります。 追記:2014.5.20 法人登録についてですが、2014年版の「法人として iOS Developer Program に登録し、AdHoc用のプロビジョニングプロファイルを作成するまでの全スクリーンショット [2014]」を公開しました!個人での登録でも参考になると思います。 追記:2017.11 秘密鍵+CSR作成〜証明書作成〜.p12作成〜プロビジョニングプロファイル作成までの流れについて、2017年版を作成したのでこちらにもリンクを置いておきます。 2014年5月2日に大重さんの

    日本のApple StoreでiOS Developer Programを購入しActivateするまでの全スクリーンショット
  • GHUnitとOCMockでUnit Test効率化 - jarinosuke blog

    また、テストを書く。 最近 iOS 界隈のテストのベストプラクティスについて調べているのですが、そこで目に留まった文章があるのでまずそれを紹介します。 How comfortable are you on a bike without a helmet? Writing code without tests is like riding a bike without a helmet. You might feel free and indestructible for now, but one day you’ll fall and it’s going to hurt. http://paulsolt.com/2010/11/iphone-unit-testing-explained-part-1/ ヘルメットを付けずに自転車を漕ぐのはとても快適ですね。でも、ふとしたある日に取り返しの

    GHUnitとOCMockでUnit Test効率化 - jarinosuke blog
  • UITableViewCellの高さを中にあるLabelの大きさで変更する

    前の吹出しUIの中にあったのを、必要な部分だけ書き出した。 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UILabel *label; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdenti

    UITableViewCellの高さを中にあるLabelの大きさで変更する
    murakaming
    murakaming 2012/03/01
    Cellの高さを調べる方法
  • iOS4と5のアプリケーションライフサイクルの違い - Awaresoft

    iOS4と5では、アプリケーションの起動時や終了時に呼ばれるアプリケーションとビューコントローラーのライフサイクルメソッドが呼ばれる順序に若干違いがあります。 起動シーケンスは、例えばアプリに暗証番号を設定して、ロックされていた場合はアプリケーションの画面を出す前にロック解除の画面を出さなければならない場合などには、初回起動時、ホームボタンでバックグラウンドに入ったとき、バックグラウンドから復帰したとき、スリープボタンを押されたとき・・・などあらゆる場面を想定して非常に綿密に検討する必要がでてきます。 iOS5だけをサポートして、iOS4はサポートしないのであればとてもシンプルなので問題ないのですが、両方をサポートする場合は気をつけなければなりません。 アプリケーションライフサイクルについては詳しくはこちら。 ビューコントローラーのライフサイクルについてはこちら。 下の内容はiOS4は4.

  • もう return UIApplicationMain で止まっても困らない! Xcodeでのデバッグ方法 – Zero4Racer PRO Developer's Blog

    Xcode4.2 エラー画面 Xcode4になってから、いまいちデバッグがうまくいかない理由に、止まってしまう場所が、 return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); の行で止まってしまう場合が多いのがありますよね。この時に、どこで止まったのか分かるときはいいですが、いろいろな画面の中でどこで止まったか分からないときはデバッグ困りますよね。その対策法を見つけたので書いておきます。 試しに、エラーが起こるプロジェクトを作ってみました。 - (void)viewDidLoad { NSMutableArray *arrray = [NSMutableArray arrayWithCapacity:0]; [arrray objectAtIndex:10]; [super vie

    murakaming
    murakaming 2012/02/25
    ありがたい
  • モードレスな UI としての Clear

    モーダル/モードレスの定義 モーダル/モードレスとは、ソシオメディアの上野学さんによって「再提示」された、「UI デザインの世界における両極のコンセプト」である。まずは2009年から約1年の間に書かれた、大変示唆に富んだブログ Modeless and Modal において、最近では World IA Day 2012 Yokyo の講演において、言及があった。 とにかく「あっ」と分かってしまったことだから、どう説明のしようもないらしい。モーダル/モードレスとは、どんな世界にでもあるイデオロギーの対立、右翼/左翼のようなものである。だから来的にどちらが正しいと言ったことは、問題にならないはずである。しかし UI デザインの領域においては、昔からモードレスを目指すべきとされている。 モーダル(modal) モードがある状態。つまり、システムが特定の機能の使用に制限された状態。ユーザーが自由

    モードレスな UI としての Clear
    murakaming
    murakaming 2012/02/24
    後で読む
  • iOSアプリのアップデート時パスが変わるためファイルパス保存は注意! – Zero4Racer PRO Developer's Blog

    追記:2012/7/16 ソースの誤記を修正しました。 よくある間違いですが、備忘のために記しておきます。iOSアプリを、AppStore経由でアップデートした場合、フォルダのアドレスが変更されます。アプリケーションフォルダの基パスが変わる訳です。しかし、データ(Documentフォルダの内容、Libraryフォルダの内容)はアップデートの際はコピーされます。それで、アップデート前に、ファイルパスをフルパスで保存していると、アップデートのあとに、ファイルを参照しようとするときに、ファイルが見つからなくなってしまいます。その対応法について記録しておきます。 まず、正しく保存する これが,最初から行うべき点ですね。例えば、NSUserDefaultに、ダウンロードした画像のパスを保存するとします。保存先は、ドキュメントフォルダとします。 //保存時 NSString *fileName =

    murakaming
    murakaming 2012/02/02
    ファイルパスはその都度取得してくるので気づかなかったけど、こんな落とし穴が・・・
  • iPhone アプリ開発コミュニティのネットワークライブラリが ASIHTTPRequest から AFNetworking への移行の流れ? - laiso - iPhoneアプリ開発グループ

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    iPhone アプリ開発コミュニティのネットワークライブラリが ASIHTTPRequest から AFNetworking への移行の流れ? - laiso - iPhoneアプリ開発グループ
    murakaming
    murakaming 2011/11/16
    blocks使うのは凄いよいと思う。連続してリクエスト投げる時は特に
  • Cocoaの日々: [iOS] UIWebView のキャッシュ調査

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど UIWebView は指定されたリクエストに従いコンテンツをダウンロードする。この時にキャッシュをメモリに保存する。 キャッシュの制御には UIWebViewに渡す NSURLRequest で行う。 (例) NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60.0];キャッシュポリシーは次の種類がある。NSURLRequst.h より転載。 enum { NSURLRequestUseProtocolCachePolicy = 0, NSURLRequestReloadIgnoringLoca

    Cocoaの日々: [iOS] UIWebView のキャッシュ調査
    murakaming
    murakaming 2011/11/01
    NSURLRequestでキャッシュの制御を行う
  • 技術者向け iOS5 新機能! - かみやんの技術者ブログ

    iOS5でましたね〜〜。iPhone4Sは、2011/10/14発売でしたが、私はSoftbankショップで事前予約して10/17に手に入れました〜。いじりながらニヤニヤ。嬉し〜〜。俺が買ったからキミも買え! iOS5公開ともにこのエントリを書こうと思っていたけどiPhone4Sリリースとともに忙しくて遅れました。今回の目玉はiCloudですね。 では、いつものごとく iOS Dev CenterのiOS5の新機能の適当訳を書きます。 iOSデータストレージガイドライン iCloudはWiFiを使ってiOSデバイスを毎日自動的にバックアップする機能があります。アプリのホームディレクトリの中で、アプリ実行ファイル、キャッシュディレクトリ、tempディレクトリ以外のすべてのファイルがバックアップされます。購入した音楽、アプリ、、カメラロールの写真、デバイスの設定、ホーム画面、アプリの構成、メ

    技術者向け iOS5 新機能! - かみやんの技術者ブログ