開発メモ

開発関係のメモをいろいろと。たぶん。

MusicPlayerTips

ミュージックプレイヤー関係のネタのまとめ

はじめに 音楽関係のアプリを立て続けに2本作ったので、細かいネタをブログに書いたもののまとめ。 最終的に、こんな感じのアプリが出来上がる。たぶん。 Xcodeでプロジェクトを作成 Xcodeでプロジェクトを作成、開発をやりやすくするため、細かい設定をい…

シャッフルに対応

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/7 シャッフルに対応 完全に忘れてたシャッフル関係の処理に対応。 シャッフルする前とあとの両方のプレイリストを管理するのも面倒なので、そもそものプレイリストを作成…

リピートに対応

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/7 リピートに対応 すっかり忘れていたリピートへの対応。 リピートと一言に言ってもいろいろあるんだけど、ここでは『全曲リピート』と『リピート無し』の2つの状態に絞っ…

セルの選択で対応する曲を再生

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/7 セルの選択で対応する曲を再生 せっかくテーブルビューにプレイリストを表示しているので、セルを選択して曲を再生できるように修正。 とりあえず、didSelectRowAtIndex…

アイコンを変更

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/7 アイコンを変更 今回は、こんな手順でデータを作成してみた。 iPadでneu.Drawを使って元になるデータを作成 データをPDF形式で取り出し gimpに取り込んで切り出し 大き…

アプリ名の変更

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/7 アプリ名の変更 ホーム画面に表示されるアプリの名前が途中で切れてるのは気になるので、短い名前に修正しておく。 [Targets] - [Info]のCustom iOS Target Properties…

playbackStateChangedでボタンがちらつく問題に対応

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/7 playbackStateChangedでボタンがちらつく問題に対応 具体的に説明すると、アプリを起動して最初の再生で、PauseとPlayのボタンがちらつく問題。これは、MPMusicPlayerCo…

isPlayingがおかしくなる問題に対応

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/7 isPlayingがおかしくなる問題に対応 問題の詳しい内容はこちらを参照。 MPMusicPlayerController::playbackStateがおかしくなる問題 - 開発メモ http://seeku.hateblo.j…

UITableViewにアートワークを表示

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/6 UITableViewにアートワークを表示 曲名やアーティスト名だけだと画面が寂しいので、アートワークを表示するようにしてみる。 単純にアートワークを表示するだけなら意外…

UITableViewに曲の情報を表示

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/6 UITableViewに曲の情報を表示 プレイリストを表示するUITableViewを管理するためのクラスを作成。iOS開発の入門書だと、DelegateやDataSourceをViewControllerに持たせ…

プレイリストを表示するためのUITableViewを作成

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/6 プレイリストを表示するためのUITableViewを作成 UITableViewをViewControllerにドラッグ&ドロップ。 適当にサイズを調整して、AutoLayoutを設定。今回はこんな感じに…

クラウドにあるアイテムを除外

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/6 クラウドにあるアイテムを除外 自分で作成したプレイリストを試しにprintln()で出力してみると、iPhoneに転送してない曲までプレイリストに入ってることがわかる。これ…

プレイリストを自分で作成

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/6 プレイリストを自分で作成 プレイリストを画面に表示したいんだけど、setQueueWithQuery()で再生キューを設定した場合は中身を調べるのが面倒。というわけで、自分でプ…

再生状況に応じて、ボタンの状態を変更

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/5 再生状況に応じて、ボタンの状態を変更 曲の変更と同様に、再生状況の通知にも対応しておく。やっていることは、曲の情報が変化した時とほぼ同じ。たぶん。 MusicPlayer…

再生中の曲の情報を表示

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/5 再生中の曲の情報を表示 まず、曲の情報を表示するためのラベルを用意。 今回は、こんな感じにしてみた。 曲名を表示するためのUILabelと、アーティスト名とアルバム名…

MusicPlayerからの通知に対応

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/5 MusicPlayerからの通知に対応 再生している状態や曲の変化は、MPMusicPlayerControllerからNSNotificationCenterを通して通知されるので、これに対応する。 具体的には…

再生関係の基本的な操作に対応

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/5 再生関係の基本的な操作に対応 MusicPlayer関係の処理が増えるのは目に見えてるので、MPMusicPlayerControllerを管理するためのクラスをあらかじめ用意。再生のテスト用…

ボタンをViewControllerに接続

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/5 ボタンをViewControllerに接続 ツールバーに配置したボタンが押された時、プログラムから処理ができるように、アクションを接続しておく。 Main.storyboardを開いてる画…

ViewControllerにUIToolbarを配置

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/5 ViewControllerにUIToolbarを配置 もう少し具体的に言うと、ViewControllerにUIToolbarを配置して、その上に、必要となるUIBarButtonItemを設定する。 まずは、Main.sto…

UIToolbarで使用するイメージを作成

UIToolbarで使用するイメージを作成 もう少し具体的に言うと、UIToolbarに載せるUIBarButtonItemで使用するイメージを作成。 ここでは簡単に手順だけ紹介。今回は、あえて手書きアイコンを作ってみた。 iPadでneu.Notes+を使って元になるデータを作成 データ…

スキームを追加/修正

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/5 スキームを追加/修正 既存のスキームをコピーしてDebug用を作成。最初から用意されてるスキームはRelease用に設定を修正しておく。 スキームって言うのは・・・ 簡単に…

Versionを修正

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/5 Versionを修正 いきなり1.0からスタートも微妙なので、早めにVersionを修正しておく。 具体的には設定画面の[Targets] - [General]の中の[Identity]で指定可能。 とりあ…

Deployment Targetを修正

動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/5 Deployment Targetを修正 プロジェクトのDeployment Targetを修正しておく。Deployment Targetと言うのは、簡単に言うと、アプリが動作するのに最低限必要となるiOSのバ…

Xcodeでプロジェクトを作成

はじめに 音楽関係のアプリを立て続けに2本作ったので、ついでに、細かいネタをまとめておこうかな、と。 せっかくなので、基本的なアプリの作り方から。 動作を確認した環境 環境 情報 Xcode 6.3.2 (6D2105) iOS 8.3 Swift 1.2 Date 2015/6/4 Xcodeでプロ…