Monthly Archives: May 2015

Apple: iPad Pro (Air Plus) はどうなった?大画面 iPad について

ついに新しい MacBook が発売されました。 以前、Apple 公式アナウンスより1年以上前に MacBook の 12インチモデルに関しての記事を投稿しました。 Apple:MacBook ProでもMacBook Airでもない、MacBook 12インチモデルが出る? 今回は新しく登場した MacBook 12インチ Retina の実際の仕様と、上記の記事で実現しなかった仕様を元に、昨年から噂されている大画面の iPad (iPad Pro もしくは iPad Air Plus)についての考察をおこなってみようと思います。 大画面 iPad のプロダクト名 iPad Pro か iPad (Air) Plus か? まず始めに大画面 iPad の名称が iPad Pro なのか、iPad Plus (iPad Air Plus) なのかが大きなポイントとなります。 その理由はどちらのプロダクト名になるかで、見えてくる仕様は大きく異なってくるからです。 iPad (Air) Plus の場合 iPhone 6 と iPhone 6 Plus を見ても分かるように、両者の違いは画面サイズが大きなウェイトを占めています。 よって、大画面の iPad のプロダクト名が iPad Plus (iPad Air Plus) となった場合は、既存の iPad Air の画面が大きくなった iPad (Air) ということになります。 iPad Pro の場合 では Pro というプロダクト名の場合はどうでしょうか。 MacBook と MacBook Pro を参考にすれば、両者はノートブックPCである共通点はあるものの、外観、性能、用途の全てがまったくの別物です。 iPad Pro というネーミングを選択した場合、既存の iPad とは別の iPad であるまったく新しい iPad だと言えます。 今回は、次期 iPad の名称が iPad Pro だということを仮定として、掘り下げていこうと思います。 iPad Pro について 新しく発売された MacBook 12-inch Retina には様々な新しいテクノロジーが惜しみなく投入されています。 この Mac の最新のプロダクトである MacBook の仕様から見えてくる iPad Pro の可能性をみていきたいと思います。 新しい規格 USB Type-C MacBook 12-inch Retina には新しい USB 規格である USB-C (Type-C) が実装されました。 Type-C 規格は Apple が開発し、業界標準に技術を提供したことが周知の事実として知られています。 このことは Apple が自社開発し特許を取得している MagSafe、Lightning、Intel と共同開発した Thunderbolt を犠牲にしても、USB-C 規格に置き換えることに Apple にメリットがあるため、多大なリソースを投入したと考えられます。 コネクタの形状が乱立し誰も変えようとしない(できない) USB 規格の時計の針を、Apple 自らが進めたわけです。 なぜ出ない? MacBook 12-inch Retina と Apple Thunderbolt Display をつなぐ USB-C アダプタ Apple が新しい規格を採用したのであれば、その救済策として新しい規格に対応した変換アダプタをセットでリリースするはずです。 しかし、今回の MacBook には 自社のディスプレイである Apple Thunderbolt Display と接続するための USB-C – Thunderbolt (mini Display) アダプタをリリースしていません。あるのは HDMI や VGA 出力に対応するアダプタのみです。 Apple Store アクセサリ – ケーブル & Dock また、Thunderbolt Display は2011年に発売されて以来、一度もアップデートされていません。 以上のことから、Apple Thunderbolt Display は切り捨てられる、もしくは USB-C に対応した Apple Display を近々リリースする可能性があることが想像できます。 iOS アプリ Duet iOS のアプリで duet… 続きを読む

Swift:UIAlertController でアラートを表示するサンプルコード

アプリにアラートを表示するとき、iOS 7 までは UIAlertView を使用していたかと思います。 iOS 8 からは UIAlertViewController が登場し、UIAlertView が非推奨となったため、今後リリースされるアプリは UIAlertController に対応していく必要があります。 今回はこの UIAlertController の使用方法をサンプルコードを交えながら説明したいと思います。 UIAlertController について アラートには UIAlertView でおなじみの Alert と ActionSheet が指定できます。 アクションのスタイル ボタンの種類は以下の3種類です。Default と Destructive は複数の定義が可能です。 アクションボタンのスタイル UIAlertController でアラートを表示する手順 アラートを表示する手順です。上から順に定義していくとアラートの表示が完了します。 アクションスタイルの定義 最初にアラートの種類を定義します。Alert(ポップアップするアラート)か ActionSheet(下からニョキっと出るアラート)を選択します。 アクションボタンの定義 ボタンの種類を定義します。アラート、アクションシートともに定義は同じです。Default と Destructive は複数の定義が可能です。 アクションを追加 UIAlertController にアクションを追加します。記述した順にアラート画面へ反映されます。 UIAlertController の表示 アラートを表示するタイミングで presentViewController から UIAlertController を呼び出します。 UIAlertController のサンプルコード 上記のコードを ViewController へ記述したアラートとアクションシートの動作サンプルです。 ビルド結果画面 ViewController.swift まとめ UIAlertView はボタンが押されたときはデリゲートメソッドで処理していましたが、UIAlertController はクロージャでの処理となりました。 Swift でアラートのコーディングをおこなったとき、UIAlertController の方が記述がシンプルになり、直感的に理解できるようになっています。 レガシー対応のために UIAlertView も必要かと思いますが、昨今の Swift の開発スピードをみる限り、比較的早く UIAlertViewController へ移行していくのではないでしょうか。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Swift:AVAudioSession アプリのバックグラウンドで音楽を再生する

SQN で音楽の再生をしながらゲームをプレイしたいとの要望があったので、バージョン 1.2 で実装を行いました。 今回はそのときのコードの一部を抜粋し、アプリのバックグラウンドで音楽を再生する方法を説明したいと思います。 アプリのバックグラウンドで音楽を再生する まず、アプリから Apple の MusicApp で音楽が再生されているかどうかを MPMusicPlaybackState を使用し判定します。 上記のコードを効果音を再生する関数内で判定します。効果音の再生には AVAudioPlayer を使用します。 音楽を再生中に mp3 や wav 等の効果音を再生すると、音楽がストップした後、効果音が再生されてしまいます。 soudPlay を使用することで、音楽が再生中であれば soundPlay 内の判定で音楽はストップしなくなりますが、その場合効果音は再生されません。 音楽を再生しながら効果音を再生(多重再生)したい場合は次項で説明したいと思います。 音楽を再生しながらアプリの効果音を再生する 多重再生したい場合は音声ファイルが caf 形式でなければいけません。以下は bgm.mp3 を bgm.caf へ変換する方法です。 mp3 を caf に変換する ターミナルから mp3 等の音声データがある階層まで移動し、以下のコマンドを実行すれば caf ファイルが作成されます。 AVAudioSession AVAudioSession クラスを使用することで音楽の再生をコントロールすることが可能です。 デフォルトでは setCategory が AVAudioSessionCategorySoloAmbient となっているため、オーディオ再生中にアプリを起動するとオーディオが停止してしまいます。 ViewController の viewDidLoad 等に以下のコードを記述します。 AVAudioSession のカテゴリ一覧 AVAudioSessionCategoryAmbient 以外にも以下のような指定が可能です。 まとめ 最後に SystemSoundID と AVAudioPlayer の違いをまとめておきます。  SystemSoundIDAVAudioPlayer FrameworkAudioToolboxAVFoundation 対応フォーマット30秒以下の AIFF, CAF, WAVAIFF, CAF, MP3, AAC, M4A, MP4, WAV 音量調節ネットワーク通信時に音量調節不可設定可能 ループ不可可能 動作軽い立ち上がり時に若干遅延が発生する この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Swift:NSBundle アプリのバージョンを取得する

アプリのバージョンを取得する方法を忘れがちなのでメモしておきます。 アプリのバージョンを取得する NSBundle からアプリの情報を取得します。 中見出し まとめ info.plist を取得するときも NSBundle を使用します。NSBundle については機会があれば色々とまとめてみようと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。