読者です 読者をやめる 読者になる 読者になる

開発メモ

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

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のバ…

gitで最初のコミットを修正

普通に(?)、 git rebase -i で最初のコミットを亡き者にしようとしたら失敗したのでメモ。 $ git rebase -i HEAD~~ fatal: Needed a single revision invalid upstream HEAD~~ 先頭のコミットを修正する場合 git rebase -i --root を使用する。 $ git reb…

Xcodeでプロジェクトを作成

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

SwiftのGenericsでハマったメモ その2

昨日の話の続きです。こっちは本当にハマった話。たぶん。 動作を確認した環境 環境 情報 Xcode 6.3 (6D570) iOS 8.3 Swift 1.2 Date 2015/5/16 1つめのプロトコル Genericsで線形補間は、一応、普通に動くようになりました。 /// 線形補間で必要になるプロ…

SwiftのGenericsでハマったメモ

SwiftのGenericsで少し凝ったこと(?)をやろうとしてハマったのでメモ。 動作を確認した環境 環境 情報 Xcode 6.3 (6D570) iOS 8.3 Swift 1.2 Date 2015/5/15 1. はじめに 普通に、線形補間を行う関数を書いてみた。とりあえず、型はIntで。 /// 単純な線…

UICollectionViewで画面の回転に合わせてCellのサイズを変更する良い方法

画面サイズに合わせてUICollectionViewのCellのサイズを決めている場合、画面の回転をどのタイミングでUICollectionViewに通知するのが良いのか? そこそこまじめに調べてみたのでメモ。 動作を確認した環境 環境 情報 Xcode 6.3 (6D570) iOS 8.3 Swift 1.2 …

特定のViewだけAutoLayoutをオフにする方法のメモ

基本的にはAutoLayoutを使用して配置するけど、特定のViewの中だけ自分でframeを指定したい時、そのViewだけAutoLayoutをオフにする方法のメモ。 動作を確認した環境 環境 情報 Xcode 6.3 (6D570) iOS 8.3 Swift 1.2 Date 2015/4/27 AutoLayoutをオフにしな…

Xcode 6.3でローカライズする時の作業メモ

Xcodeも6.3になったことだし、ローカライズについてちゃんと調べなおしてみたメモ。 動作を確認した環境 環境 情報 Xcode 6.3 (6D570) iOS 8.3 Swift 1.2 Date 2015/4/12 ローカライズ作業の概要 実際にローカライズを行う時の手順はこんな感じ。 NSLocalize…

『In-App Purchase』をONにした時のメモ

[Targets] - [Capabilities]で『In-App Purchase』をONにした時、何が起こるのかを調べた時のメモです。 動作を確認した環境 環境 情報 Xcode 6.2 (6C131e) iOS 8.2 Swift 1.1 Date 2015/4/2 起こったこと StoreKit.frameworkが追加される [Linked Framework…

CocoaPods無しでAdMobを使う時のメモ

CocoaPodsを使ってAdMobを使えるようにする方法はいろいろなところで紹介されているので、あえて、CocoaPods無しでAdMobを使う実験をしてみた時のメモです。 動作を確認した環境 環境 情報 Xcode 6.2 (6C131e) iOS 8.2 Swift 1.1 Date 2015/3/29 事前に用意…

Swiftの変数&定数が、自動的にlazyとして扱われる条件を調べた時のメモ

変数や定数の宣言時にlazyを付けてなくても自動的に遅延評価される場合があるので、その条件を調べた時のメモです。 動作を確認した環境 環境 情報 Xcode 6.1.1 (6A2008a) iOS 8.1 Swift 1.1 Date 2015/3/9 ソースコード テストに使ったソースコードはこんな…

AutoLayoutでViewの最大値を指定する方法

スクリーンのサイズにあわせてサイズが変更になるけど、指定されたサイズ以上にはならないViewの設定方法のメモ。 動作を確認した環境 環境 情報 Xcode 6.1.1 (6A2008a) iOS 8.1 Swift 1.1 Date 2015/1/10 スクリーンショット 左右のエッジとの距離は16で、V…

Xcodeでworkspaceを使って複数のprojectをまとめて扱う方法

細かいところをよく忘れるので、全体の流れをメモ。 動作を確認した環境 環境 情報 Xcode 6.0.1 (6A317) Swift 1.0 Date 2014/10/13 概要 基本的な流れはこんな感じ。 取りまとめるprojectを作成 workspaceを作成 workspaceにprojectを登録 参照や依存関係を…

アプリ側のファイルをテスト側で参照する2つの方法

Swiftで開発してる時、普通にテストを書くとエラーになる。 では、どう対応するべきか? 動作を確認した環境 環境 情報 Xcode 6.0.1 (6A317) Swift 1.0 Date 2014/10/12 テストに使うソースコードを、両方のターゲットに含める方法 File Inspectorから設定を…

Xcode 6.0とSwift 1.0で気になったところ その2

Xcode 6でSwiftをまじめに使ってみて、その間に気になった事のまとめシリーズ、第2弾。相変わらず、細かすぎて伝わらなくても気にしない。Xcode 6.1で、いろいろ、直ってるといいな。 問題を確認した環境 環境 情報 Xcode 6.0.1 (6A317) Swift 1.0 Date 2014…

【iOS8対応】UIViewControllerの角を丸める処理のまとめ

開発環境 環境 情報 Xcode 6.0.1 (6A317) Swift 1.0 iOS 7.0 - Date 2014/09/30 概要 iOS7までの方法で角を丸めて、iOS8で実行するとこんな感じになる。 iOS8対応の処理をするとこうなる。 ※影が全体に回って目立たなくなっただけとも言う 実際の処理 Rounde…

TableViewのCellをスワイプしてコマンドを実行する方法のメモ

開発環境 環境 情報 Xcode 6.0.1 (6A317) Swift 1.0 iOS 8.0 Date 2014/09/28 ※iOS8以降専用 概要 通常の編集画面はこんな感じ。 この画面も普通に使える上で、Cellをスワイプするとこんな感じになるようにする。 実際の処理 Main.storyboard 自力でUITableV…

Master側の選択に応じてDetail側のViewControllerを切り替える

開発環境 環境 情報 Xcode 6.0.1 (6A317) Swift 1.0 iOS 8.0 Date 2014/09/27 概要 Master - Detail形式のアプリで、Master側の選択に応じてDetail側のViewControllerを切り替える実験をしたメモ。iOS8でUISplitViewControllerが改良されてて、意外と簡単に…

Xcode 6.0とSwift 1.0で気になったところ

Xcode 6でSwiftを一週間ほどまじめに使ってみて、その間に気になった事のまとめ。細かすぎて伝わらなくても気にしない。 問題を確認した環境 環境 情報 Xcode 6.0.1 (6A317) Swift 1.0 Date 2014/09/25 条件式の『()』はオプションのはずだけど、付けるとエ…

MPMusicPlayerController::playbackStateがおかしくなる問題

具体的に説明すると、実際には音楽が再生されてないのにplaybackStateがMPMusicPlaybackStatePlayingになる現象。普通に『MPMusicPlayerController iPodMusicPlayer』を使うアプリならどれでも再現するかと。 Appleのサンプルプログラムの『AddMusic』はもち…

Swift関係のメモのまとめ

資料を読んだメモが思ってたより増えたので、メモのまとめのまとめを作成。気になったところを抜粋。 『The Swift Programming Language』のメモ 『Welcome to Swift』 Swiftの基本的な話。 A Swift Tour / Simple Values / Control Flow The Swift Programm…

Using Swift with Cocoa and Objective-Cのメモ(その2)

はじめに これは、『Using Swift with Cocoa and Objective-C』を読んだ時の個人的なメモです。なので、引用はすべて『Using Swift with Cocoa and Objective-C』から。 iTunes - ブック - Apple Inc.「Using Swift with Cocoa and Objective-C」 https://it…

Using Swift with Cocoa and Objective-Cのメモ(その1)

はじめに これは、『Using Swift with Cocoa and Objective-C』を読んだ時の個人的なメモです。なので、引用はすべて『Using Swift with Cocoa and Objective-C』から。 iTunes - ブック - Apple Inc.「Using Swift with Cocoa and Objective-C」 https://it…

UIKit徹底解説

iOSユーザーインターフェイスの開発 種類 情報 著者 西方夏子 発行日 2014年6月11日 初版第1刷発行 発行 インプレスジャパン 感想 UIKitの機能の中で、最近のiOSで追加になったものを中心にいろいろ解説した本。 対象となってるバージョンは・・・ よくわか…

EclipseでRubyの開発環境を構築した時のメモ

Rubyそのものは、rbenvで用意したものを使用。 Javaの環境を構築 EclipseでJavaが必要になるのでJavaの環境を構築。せっかくなので、最新のJDKを使うことにしてみた。 まずは、JDKを以下のサイトでダウンロード。 Java SE - Downloads | Oracle Technology N…

MacのRuby環境をupdate

しばらく放置してたので、真面目に環境を更新した時のメモ。 Homebrewをアップデート とりあえず、Homebrewの状況を確認。 $ brew doctor 警告がいろいろ。エラーが1つ。 Error: Mac OS X '10.9' is invalid 使ってるのはMavericksだけど、じゃぁどうすれば…

Swiftの問題点

とりあえず、『The Swift Programming Language』を一通り読んだので、その中で気になったことのまとめ。 External Parameter Namesって必要? 関数やメソッドの引数に対して、外で使われる名前と中で使われる名前を別々に付けることが出来る機能なんだけど…

The Swift Programming Languageのメモ(その11)

はじめに これは、『The Swift Programming Language』を読んだ時の個人的なメモです。なので、引用はすべて『The Swift Programming Language』から。 iTunes - ブック - Apple Inc.「The Swift Programming Language」 https://itunes.apple.com/jp/book/s…

The Swift Programming Languageのメモ(その10)

はじめに これは、『The Swift Programming Language』を読んだ時の個人的なメモです。なので、引用はすべて『The Swift Programming Language』から。 iTunes - ブック - Apple Inc.「The Swift Programming Language」 https://itunes.apple.com/jp/book/s…

The Swift Programming Languageのメモ(その9)

はじめに これは、『The Swift Programming Language』を読んだ時の個人的なメモです。なので、引用はすべて『The Swift Programming Language』から。 iTunes - ブック - Apple Inc.「The Swift Programming Language」 https://itunes.apple.com/jp/book/s…

The Swift Programming Languageのメモ(その8)

はじめに これは、『The Swift Programming Language』を読んだ時の個人的なメモです。なので、引用はすべて『The Swift Programming Language』から。 iTunes - ブック - Apple Inc.「The Swift Programming Language」 https://itunes.apple.com/jp/book/s…

The Swift Programming Languageのメモ(その7)

はじめに これは、『The Swift Programming Language』を読んだ時の個人的なメモです。なので、引用はすべて『The Swift Programming Language』から。 iTunes - ブック - Apple Inc.「The Swift Programming Language」 https://itunes.apple.com/jp/book/s…

The Swift Programming Languageのメモ(その6)

はじめに これは、『The Swift Programming Language』を読んだ時の個人的なメモです。なので、引用はすべて『The Swift Programming Language』から。 iTunes - ブック - Apple Inc.「The Swift Programming Language」 https://itunes.apple.com/jp/book/s…

The Swift Programming Languageのメモ(その5)

はじめに これは、『The Swift Programming Language』を読んだ時の個人的なメモです。なので、引用はすべて『The Swift Programming Language』から。 iTunes - ブック - Apple Inc.「The Swift Programming Language」 https://itunes.apple.com/jp/book/s…

The Swift Programming Languageのメモ(その4)

はじめに これは、『The Swift Programming Language』を読んだ時の個人的なメモです。なので、引用はすべて『The Swift Programming Language』から。 iTunes - ブック - Apple Inc.「The Swift Programming Language」 https://itunes.apple.com/jp/book/s…