タグ

iOSに関するkoogawaのブックマーク (93)

  • Core Audio その2 AudioStreamBasicDescription | Objective-Audio

    Core Audioにおいて、オーディオデータの状態(リニアPCM等のフォーマットとか、ビットやサンプリングレートとか、チャンネル数とか)を表す構造体がAudioStreamBasicDescriptionです。 struct AudioStreamBasicDescription { Float64 mSampleRate; //サンプリング周波数(1秒間のフレーム数) UInt32  mFormatID; //フォーマットID(リニアPCM、MP3、AACなど) UInt32  mFormatFlags; //フォーマットフラグ(エンディアン、整数or浮動小数点数) UInt32  mBytesPerPacket; //1パケット(データを読み書きする単位)のバイト数 UInt32  mFramesPerPacket; //1パケットのフレーム数 UInt32  mBytesPerFr

  • iPhoneのマイクで一定以上の大きさの音を検知する - 中継地点

    Hack for Japan 7/30 ハッカソン仙台会場で「堪忍袋」というアプリの根幹を実装しました。 アイディアとして、いびきなどの音に反応して爆発音を鳴らすという単純な仕掛けですが、 肝はマイクで一定以上の音の大きさを検知することが必須となります。 今回は、AudioToolboxのAudioQueueServicesを使い、AudioQueueLevelMeterStateのpeakPowerをスレッドで監視させて実装しました。 SoundPickerViewController.h #import <UIKit/UIKit.h> #import <AudioToolbox/AudioToolbox.h> @interface SoundPickerViewController : UIViewController { AudioQueueRef queue; } @end Sou

    iPhoneのマイクで一定以上の大きさの音を検知する - 中継地点
    koogawa
    koogawa 2013/11/23
  • Xcode 4.2 – Storyboard の Segue を条件分岐させる方法 | Ultradairen's Blog

    まだまだ初心者なの間違いがあるかもしれないけどStoryboardで条件により異なるSegueに飛ばしたい場合のメモ。対象はXcode4.2 on Snow Leopard。 通常通りMaster-DetailでStoryboardを有効化した時、これから発展させてEditの画面を増やしたいって思ったのに、Segueを追加できなくて困りました。そういった時にどうやればSegueを複数飛ばすことが出来るかメモ。 私がこのブログ読むとしたら下まで読むのめんどくさいので答えを最初に書いておきます(笑)要するにデフォルトではTableViewCellからSegueが出ていると思うのですが、それをTableViewControllerからにすれば複数Segueを設定できます。そしてあとはperformSegueWithIdentifierメソッドで好きなようにSegueを使って画面遷移すればOK。

    Xcode 4.2 – Storyboard の Segue を条件分岐させる方法 | Ultradairen's Blog
  • iOS 7で一新された通信周り〜NSURLSessionってなに?〜 | DevelopersIO

    NSURLSessionってなに? iOS 7,OS X 10.9からNSURLSessionなるクラスが追加されました。NSURLSessionとは何か?それはズバリNSURLConnectionクラスに取って代わる、より使いやすくなったNSURLConnectionの強化版といったところでしょうか。NSURLSessionを利用するメリットは次の2つがあります。 今までNSURLConnectionより簡単・便利 バックグラウンドでダウンロード・アップロード処理が行える(!) 記事ではこの新しく便利なクラスNSURLSessionについて解説していきたいと思います。 NSURLConnectionの復習 まずNSURLSessionの説明を始める前に、NSURLConnectionのできることを復習をしましょう。 NSURLConnectionはどんなクラスかと言うと、Webサーバや

    iOS 7で一新された通信周り〜NSURLSessionってなに?〜 | DevelopersIO
    koogawa
    koogawa 2013/11/23
  • JSONにNSNullが入ってきたとき

    多くのiOSアプリはサーバーとの通信が必要で、やりとりされるデータのフォーマットにはJSONが採用されることが多いと思います。 iOS 5からは標準ライブラリにNSJSONSerializationが導入され、特に理由がなければJSONのエンコード/デコードにはこれを利用します。 NSJSONSerializationが扱うオブジェクトは以下の5種類のオブジェクトです。 NSString NSNumber NSArray NSDictionary NSNull そこで心配になるのが、予期しないところにNSNullが入ってきて”unrecognized selector sent to instance.“となってしまうことです。 NSNullではなくてnilが入っていてほしいと考える人は多いようですが、そもそもNSArrayやNSDictonaryはnilを含むことはできず、 そのような状

    koogawa
    koogawa 2013/11/17
  • 近接センサを使った踏み絵アプリの作り方 - Think Big Act Local

    iPhoneの上部には近接センサというものがついています。デフォルトの電話アプリで、通話中に端末に耳を近づけると画面が消えるのはこのセンサの働きです。 今回はこの近接センサを使って「踏み絵アプリ」を作ってみます。 アプリの概要 歴史の教科書にも出てくる踏み絵のiPhone版 画面に絵が表示され、それを踏むと成功、踏めなければ失敗 近接センサを使って成功/失敗の判定をする 画面 作った画面はこんな感じ。単純にUILabelとUIImageViewを貼っつけただけです。例として隠れApple信者をあぶり出す踏み絵にしてみました。 ソースコード まずはviewDidAppearあたりで近接センサをONにします。 // 近接センサをONに - (void)startSensor { // 近接センサをオン [UIDevice currentDevice].proximityMonitoringEn

    近接センサを使った踏み絵アプリの作り方 - Think Big Act Local
    koogawa
    koogawa 2013/11/16
    めっちゃ参考になりました
  • iOS端末ハードウェアの歴史と近接センサアプリ開発(1/2) - @IT

    スマートフォンの「スマート」は、さまざまなセンサやハードウェアを使うところにある。連載で、さまざまなセンサやハードウェアを使うiOS(iPhoneiPad、iPod touch)のスマートなアプリを作ってみよう iOS端末ハードウェアの歴史まとめ 日iPhoneiPhone 3G)が販売されてから、もうすぐ4年になります。その間にiPhone 3GS、iPhone 4、iPhone 4Sと3回のモデルチェンジがありました。モデルチェンジの中でハードウェアの機能も増えています。 iPhone 3G マルチタッチディスプレイ、マイク、スピーカー、GPS、カメラ、加速度センサ、近接センサ、環境光センサなど iPhone 3GS iPhone 3Gの機能+カメラ(オートフォーカス、ビデオ)、音声コントロール、電子コンパスなど iPhone 4 iPhone 3GSの機能+3軸ジャイロスコ

    koogawa
    koogawa 2013/11/16
  • BaaSを使えばアカウント認証やプッシュ通知は、もう面倒くさくない

    BaaSを使えばアカウント認証やプッシュ通知は、もう面倒くさくない:iOSアプリ開発は、BaaSでここまではかどるぞ(後編)(1/3 ページ) ここ2年ほどの間で広まってきたクラウドサービス「BaaS(Backend as a Service)」。バックエンドにリソースを割かずに済むBaaSの機能としてデータストア、ソーシャルサービスとの連携、認証機構、プッシュ通知などをiOSアプリから使う方法を解説。 前回の「無料評価版BaaSでクラウドのデータストアを操作してみた」では、BaaSの概要と、BaaSの例として「Windows Azure」のサービスを紹介し、データストアを利用したiOSアプリの開発について解説しました。今回は引き続き「Windows Azureモバイル サービス」(以下、モバイル サービス)の外部サービスのアカウント認証とプッシュ通知について、実装を前回のアプリプロジェク

    BaaSを使えばアカウント認証やプッシュ通知は、もう面倒くさくない
    koogawa
    koogawa 2013/11/12
  • シリコンバレー101(523) iOS 7のタイポグラフィに"究極の読みやすさ"を求めるアプリ開発者たち

    iOS 7のシステムフォントがベータ3でHelvetica Neue (レギュラー)に変更されたという。 6月にWWDCで公開された時からベータ2までは細身のHelvetica Neueが使われており、見た目はおしゃれだけど文字が読みとりにくいという声が挙がっていた。NYTimes.comのデザインディレクターだったKhoi Vinh氏など「どうしてiOS 7はMacy'sのメーキャップセンターみたいな見た目なのだ」と皮肉っていた。反応を観察していると、レギュラー支持者の方が圧倒的に多いようだが、細身のHelvetica Neueの方が良かったという人も少なくない。また、検討し尽くして採用したであろう細身のHelvetica NeueをAppleがベータの段階で見直したことに驚いている人も多い。 左はHelvetica Neue (ライト)、おしゃれな広告やロゴに用いられることが多く、読む

    シリコンバレー101(523) iOS 7のタイポグラフィに"究極の読みやすさ"を求めるアプリ開発者たち
    koogawa
    koogawa 2013/11/05
  • アプリ開発/サービス開発を支える技術書 « TORQUES LABS

    最近買った2冊の技術書がいい感じなので紹介します。 「iPhoneアプリ開発エキスパートガイド iOS 6対応」 1冊めは「iPhoneアプリ開発エキスパートガイド iOS 6対応」です。 アマゾンのサーバでエラーが起こっているかもしれません。 一度ページを再読み込みしてみてください。 これまで購入してきた技術書の中でも最も優れている技術書だと思っている2冊があります。 それが「iOS4プログラミングブック」と「iOS5プログラミングブック」です。 このシリーズは、iOSが出る度に前回までのOSとの差分に特化してしっかり説明をしている書籍です。 他の書籍では紙幅の都合で軽く流してしまいがちになる技術もしっかりと説明されているのです。 ところがiOS6がリリースされても一向に出てこないので疑問に思っていたのですが、最近AutoLayoutについて勉強しようと良さそうな書籍を調べていて見つけた

  • でらうま倶楽部 : OSX を Mavericks にしたら iOS6 で驚いた!!

    2013年11月04日18:44 カテゴリiPhoneプログラム OSX を Mavericks にしたら iOS6 で驚いた!! 今日もコード書いてる?? 拙作『ういろう』をご紹介いただき多謝!! iPhonePLUS名古屋銘菓が大活躍?! カワ不思議ぃディフェンスゲーム「ういろう」 Axel Gamesういろう レビュー 白vs黒のういろうジャンプ対決!センスがあって面白い!! とても丁寧な紹介記事は励みになりっますーーー!! さて、ういろうですが、OSX 10.9 にして、Xcode5.0.1でビルドしてみたら…あれ??iOS6でアイコンが「光沢つき」になってる?! まさかの出来事にちょっとあわてましたが、info.plistに設定を追加したらあっさり解決。 Icon files(iOS 5) -> Primary Icon -> Icon already includes glos

    koogawa
    koogawa 2013/11/05
  • Blocksを使ったHTTPリクエスト - mixi engineer blog

    聖闘士星矢Ωが、思ったより面白くて小宇宙が軽く爆発しそうなk_kinukawaです。 今回は、iOSアプリでHTTP通信を行うときの話です。 2012年4月27日 「メインスレッド上で処理している」について一部修正 従来のNSURLConnectionは、レスポンスをdelegateでハンドリングしていました。 そのため、リクエストを投げる箇所とレスポンスを受ける箇所がコード上で離れてしまい、可読性がよくありませんでした。 また、レスポンスを受け取ったあとの処理についても、delegate内で条件分けをして処理をしているうちに分岐/ネスト地獄になりがちでした。 一方、iOS5からNSURLConnectionにsendAsynchronousRequest:queue:completionHandler:というメソッドが誕生しました。 引数を見る限り、GCDを使って非同期リクエストをする系

    Blocksを使ったHTTPリクエスト - mixi engineer blog
  • チュートリアルなどでUIPageControlを使うときは標準のアクションに対応するのを忘れずに - 24/7 twenty-four seven

    UIPageControlはiPhoneのホーム画面でも使われている、今何ページ目かを示すUIControlのサブクラスです。 最初のiOSからあって、特徴的なUIなのでフリックでページをめくる画面ではこれを使って現在のページを示すのが定番になっています。 特に最近では初回起動時のチュートリアル画面でよく使われます。 ただ、意外と経験のあるひとが書いたものでも、このコンポーネントがタップによって値が変わるコントロールであることを忘れているのをけっこう見ます。 これを忘れると、UIPageControlのドットのところをタップすると、ドットの場所は変わるのに画面は変わらないので、ちょっとマヌケな感じになってしまいます。 UIPageControlはUISliderなどと同様にUIControlのサブクラスなので、基的にユーザーの操作によって値が変わるコントロールです。 見た目に特徴があるの

    チュートリアルなどでUIPageControlを使うときは標準のアクションに対応するのを忘れずに - 24/7 twenty-four seven
    koogawa
    koogawa 2013/10/24
  • iOS 7 で使えるフォント名一覧 - その後のその後

    『iOS 7 の隠しフォント, ヒラギノ角ゴ W1/W2 を CSS で指定する』という記事を読んで、「あれ、これってPrivate APIにあたるんじゃない?」と思いフォント名一覧を出力してみたので、そのついでにその一覧をここに掲載しておきます。 (追記2013/10/17その1) iOS7で追加されたフォント、iOS6で追加されたフォントがわかるよう色分けしました。 (追記2013/10/17その2) iOS7の新機能のサンプルコード集、『iOS7 Sampler』 で新フォントを確認できるようにしました。 サンプルコードを提供されてもビルドできない!というデザイナーやディレクターの方は、ぜひお近くの開発者に実機インストールしてもらってみてください。 (追記ここまで) 何に使うのか? self.hogeLabel.font = [UIFont fontWithName:@"Helvet

    iOS 7 で使えるフォント名一覧 - その後のその後
    koogawa
    koogawa 2013/10/17
  • Autolayout に対応した画面で UIScrollView を使う時のコツ - A Day In The Life

    iOS 6から導入された Autolayout(オートレイアウト)を最近になって格的に使うようになりました。 4-inch の iPhone が主流になりつつある中、アプリを Autolayout に対応させるのはほぼ必須といっても良いと思います。Storyboard と格闘してなんとかコツはつかめたものの UIScrollView だけは一筋縄ではいかず苦労しました。 というわけで Autolayout に対応した画面で UIScrollView を使う時のコツをまとめてみました。 なおこの記事で説明する内容は Storyboard 上で Autolayout がオンになっていることが前提になっています。 Autolayout 対応画面で UIScrollView を使うための2種類の方法 Autolayout に対応した画面で UIScrollView を使うには以下の2つの方法があ

    Autolayout に対応した画面で UIScrollView を使う時のコツ - A Day In The Life
    koogawa
    koogawa 2013/10/09
  • iOS 7時代のUDID(UUID)取得方法 - 強火で進め

    iOS 6の頃に「そろそろ提供辞めるので対策しててよ」って言われてたUDIDなどがiOS 7からは遂に使用できなく(そのまま使用すると問題が出る値を返す)様に成りました。 色々と変わっているので情報まとめておきます。 uniqueIdentifier 以下の様な記述で取得されていたいわゆるUDIDを取得する為のメソッドです。 [[UIDevice UIDevicecurrentDevice] uniqueIdentifier]このメソッドはiOS 6の頃から非推奨に成っていました。現在は審査が通らなく成りました。iOS 7では取得する度に異なる値が返される様に成ったみたいです。また、先頭部分は常にFFFFFFFFになるみたいです。 Twitterで「リリースノートに FFFFFFFF + identifierForVendor が返されると書かれている」と教えて貰いました。 iOS 7 R

    iOS 7時代のUDID(UUID)取得方法 - 強火で進め
    koogawa
    koogawa 2013/10/01
  • Apple、開発者に対し「iOS 7」対応のアイコンの提出を要求 | 気になる、記になる…

    「iOS 7」は早ければ9月10日にも正式リリースされると言われていますが、9 to 5 Macによると、Appleが開発者に対し「iOS 7」に対応したアイコンの提出を求めている事が分かりました。 「iOS 7」対応のアイコンのサイズは「iOS 6」までのアイコンよりサイズが少し大きくなっており、iPhoneの場合で「iOS 7」が120×120に対し、「iOS 6」は114×114で、iPadの場合は「iOS 7」は152×152に対し、「iOS 6」は144×144となっています。 また、「iOS 7」ではアイコンの角半径も変更されており、開発者はこの変更もアイコンデザインの際に考慮する必要があるそうです。

    Apple、開発者に対し「iOS 7」対応のアイコンの提出を要求 | 気になる、記になる…
    koogawa
    koogawa 2013/09/16
  • Helios - naoyaのはてなダイアリー

    次にエントリを書くときは HBFav の次のバージョンの話、と思っていたのだが AppStore のレビューに時間がかかっているので、なんとなく閑話休題的に更新しておこう。 Helios について。ロゴがかわいい。 先月くらいに何かの拍子で自分の周囲でも話題になった。今年の4月くらいに Heroku からリリースされた、MBaaS (Mobile Backend as a Service) を構築するためのフレームワーク。実際には OSS なので Heroku からというか Heroku 社員の mattt さん によるもの。 mattt さんはご存知、iOS の AFNetworking や TTTAttributedLabel そのほかの開発者として有名なスーパーハッカーである。Heroku 勤務ということで、Heroku の親会社である Salesforce が開催の Salesfo

    Helios - naoyaのはてなダイアリー
  • アシアル、アプリケーション開発プラットフォーム「Monaca」正式版を12日リリース

    「Monaca」は、iOS、AndroidWindows 8に対応したクラウド型のハイブリッドアプリ開発プラットフォームで、HTML5を活用しながらワンソースで複数のOS向けのアプリを開発できる。ブラウザから「Monaca」にアクセスするだけで、プログラムコードの作成、デバッグ、およびアプリのビルドが可能なので、従来のネイティブベースのモバイルアプリ開発手法と比較して、より効率的な開発を実現する。 今回リリースした正式版では、1つのプロジェクトを複数名で管理・開発できる「チーム開発機能」を搭載し、チャット機能やファイル共有機能など、チームでの作業効率を向上するツールも「Monaca IDE」上に用意している。 ほかにも、作成したプロジェクトのインポート/エクスポートや、プログラムコードの難読化、コードチェック機能を新たに搭載した。また、PhoneGapの組み込みに対応し、ネイティブコード

    アシアル、アプリケーション開発プラットフォーム「Monaca」正式版を12日リリース
    koogawa
    koogawa 2013/09/09
  • AFNetworking その1 HTTPリクエスト | Cyber Passion for iOS

    通信ライブラリの定番になりつつあるAFNetworking。大変便利です。NSURLConnectionを使う機会はほとんどなくなりました。各クラスの使い方を説明していきたいと思います。 今回は、基的なHTTP通信の方法、JSONの取得、画像の取得について説明します。 AFHTTPRequestOperationクラス 代表的なクラスは、AFHTTPRequestOperationです。このクラスを使って基的なHTTP通信処理を行うことができます。 以下はhttp://www.yahoo.co.jp/へアクセスしてHTMLを文字列でNSLogに出力します。 NSURL *url = [NSURL URLWithString:@"http://www.yahoo.co.jp/"]; NSURLRequest *request = [NSURLRequest requestWithURL:

    AFNetworking その1 HTTPリクエスト | Cyber Passion for iOS
    koogawa
    koogawa 2013/08/25
    AFNetworking使ってみたけどだいぶ楽。今後はこっちに切り替えていこうかな〜