El Capitan では ディスクユーティリティ
から CD/DVD を作成することはできなくなっているようです。
ディスクドライブへメディアを入れた後に、 Finder
上で iso ファイルを右クリックして、 ディスクイメージ"XXXXX.iso"をディスクに書き込む
を選択すれば OK。
El Capitan では ディスクユーティリティ
から CD/DVD を作成することはできなくなっているようです。
ディスクドライブへメディアを入れた後に、 Finder
上で iso ファイルを右クリックして、 ディスクイメージ"XXXXX.iso"をディスクに書き込む
を選択すれば OK。
Unity をちょっと触ってみようと思い、公式のチュートリアルの中の「ROLL-A-BALL」という簡単そうなゲームを作ってみることに。
Unity 5 をインストールするところからスタートし、普段使っている Xcode と比べながらツールの使い方を理解していきました。
作っていく中で GameObject や Rigidbody、Collider などの役割がなんとなくわかった気がします。
「ROLL-A-BALL」の次に「Survival shooter」チュートリアルをやってみたんですが、説明通りにやっても上手く動かなかったです。Survival shooter は4系じゃないとちゃんと動かないのでしょうか。
気が向いたら、また触ってみます。
ナビゲーションバーの下から出てくる簡易的なメニューUIを作ってみました。
ナビゲーションバー上の「Menu」ボタンをタップすると、メニュー画面が出てきます。メニュー上のボタンを押すとメインのView(青のView)上のテキストが変わります。
Single View Application テンプレートを元に作成しました。
UIViewを継承した”MenuView”クラスを作成してメニュー画面を実現しました。
メニューのレイアウトは.xibファイルで定義し、ボタンを押した際の動きなどは実装ファイルに記述しています。
例えば、メニューを開く時に呼ばれるメソッドは、以下のようになっていて(MenuView.m)、アニメーションさせながらViewの座標をずらしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
- (void)openMenuView { // Set new origin of menu CGRect menuFrame = self.frame; menuFrame.origin.y = menuFrame.origin.y + 60.0; [UIView animateWithDuration:0.3f delay:0.05f options:UIViewAnimationOptionCurveEaseInOut animations:^{ self.frame = menuFrame; } completion:^(BOOL finished){ self.isMenuOpen = YES; }]; [UIView commitAnimations]; } |
また、メニュー内のボタンが押されたことをメインのViewControllerに伝達するためにDelegateを使っています。
MenuView.hファイル内で、以下のように”MenuViewDelegate”プロトコルを定義しています。
1 2 3 4 5 |
@protocol MenuViewDelegate <NSObject> - (void)menuViewDidSelectedItem:(MenuView *)menuView type:(MenuViewSelectedItemType)type; @end |
Single View Application テンプレート作成時に生成されるViewControllerに少しだけ手を加えています。
作成したプロジェクトファイルはGitHubで公開しています。
nmattissonさんのDropdownMenuというライブラリを参考に作成しました。
プロジェクト作成時にローカルリポジトリを作成し、GitHubのリポジトリにPushしました。今回、GitHubのリポジトリへのPushを初めて行ったのですが、以下のページを参考にしながら作業しました。
ちなみに、この記事とGitHubのReadmeに貼り付けているGifアニメはLICEcapというアプリで作成しました。
また、ソースコードのハイライトは”Crayon Syntax Highlighter”というプラグインを使用しています。
・位置情報とマッププログラミングガイド
“新しい Core Location iBeacon に関する情報を追加しました。”
https://developer.apple.com/jp/devcenter/ios/library/documentation/LocationAwarenessPG.pdf
・iTunes Connect デベロッパガイド
“「Made for Kids」設定に関する情報を追加し、全体を通して細かな変更を行いました。”
https://developer.apple.com/jp/devcenter/ios/library/documentation/iTunesConnect_Guide.pdf
昨日、iPhone5sを購入し、iPhone5の時に使っていたプレイリストを5sにも転送しようとしたのですが、うまくいきませんでした。
その時にやったことをメモとして残しておきます。
最近までiPhone5をメインに使っていて、昨日、iPhone5sに機種変更しました。
機種変更自体は20分程度で終わり、iCloudでバックアップしておいたiPhone5のデータを復元したかったので、家に持ち帰った後に「iOSデバイスをiCloudから復元する」を参考にしてiCloudから復元しました。
以前から、MacのiTunesにiPhoneに転送する用のプレイリストを作り、特定の曲だけiPhoneに転送するようにしていました(iPhoneに転送しきれないくらいの曲数があるので)。
5sでも同じように特定の曲だけを転送しようと思っていたのですが、iTunesで5sの項目を開いて「同期」を押してもiPhone5sに反映されません。。。
1日くらい悩んでいたのですが、Apple サポートコミュニティの以下のスレッドを参考に、同期の設定を何度か試してみると、曲が正常に同期されるようになりました。
「音楽を同期」のチェックを一度外して、同期します。
すると、デバイス側のデータが一度削除されます。その後、「音楽を同期」にチェックを入れて同期します。
それで、解決です。
TS3044 iTunesのミュージックが正常に同期しない
今回は音楽制作関連の話です。
新しい機材を買いました。
先月、Focusrite Scarlett 2i2 オーディオインターフェイス
というオーディオインターフェイスを購入しました。
それほど高いものでもないので、
ネット上での評価や外観で決めました。
(外観が9割くらいです…かっこいいですよね。)
Focusriteはマイク・プリアンプなどで有名な英国のメーカーのようです。
製品のウラには
Designed in England
Made in China
と書いてあります。
プラグインが付いてきます
この製品には
SCARLETT PLUGIN SUITEというプラグイン(VST/AU/RTAS)が付属していて
コンプレッサー
EQ
リバーブ
ゲート
という4種類のエフェクトが使えるようになります。
インストール完了、しかし…
MacのGarageBandで使おうと思いまして、インストールしました。
製品に付属するCDからのインストールは普通にできました。
その先なのですが、
実際に使うにはアクティベーションが必要でした。
画面の指示の通りに、
登録作業/ライセンスファイルダウンロードと
ライセンスファイルの読み込みをやってみたのですが、
focusrite scarlett plugin suite activation
problem installing license file
と表示されてうまくいきませんでした。
解決法発見!
googleで
“focusrite scarlett plugin suite activation problem installing license file”
(エラーメッセージそのまま)
と検索すると、公式のFAQっぽいものが出てきたのでそれを試してみました。
If you are experiencing problems unlocking your Focusrite, Scarlett or Midnight plug-in suite on a Mac please follow these steps:
– Ensure that you have the latest version of the plug-ins from our downloads page.
– Generate a new license file and then load it into the plug-in.If you continue to experience problems please try the following:
– Repair disk permissions for your hard drive using disk utility.
– Create a folder with the following path:
Mac HD/Library/Application Support/Focusrite/ActivationIf you still can’t activate your plug-ins please contact support here.
翻訳してみると、
Focusriteのロック解除で問題が発生している場合は、以下の手順に従ってください
– プラグインのバージョンが最新であることを確認してください。
– 新しいライセンスファイルを生成してから、プラグインにロードします。
もし問題が引き続き発生する場合は…
みたいなことが書いてあります。
プラグインのバージョンが古い可能性があったので
focusriteのダウンロードページから最新版をダウンロードしました。
古いバージョンを削除、新しいバージョンをインストールします。
その次は「新しいライセンスファイルを生成してから」という作業なのですが、
新しいライセンスファイルの作り方が解りません。。。
GarageBandを開いて、プラグインを表示させて、
ダメ元で、一番初めにダウンロードしたライセンスファイルを読み込んでみると、
上手く行きました!!
(プラグインもオシャレですね。)
結論
はじめから新しいバージョンのプラグインを入手し、
インストール・アクティベーション作業を行えば
躓かないのではないかと思われます。
以上、メモでした。
前回の「今さらですが、ARC超入門 」(1) に引き続きiOSアプリ開発のネタです。
今後どういった形でコーディングしていくのかというルールを決めてみました。
hファイル
hファイルについてです。
1 2 3 4 5 6 7 8 9 10 |
// (1)括弧は使わない @interface MyClass : NSObject // (2)プロパティ @property (strong) NSString *string; // (3)publicなメソッド -(void) hoge; @end |
(1)プロパティとpublicなメソッドのみ記載し、{}は使わないようにします。
(2)ARCがない頃は、@propertyの部分にassign/retain/copyパラメータを指定することで、メモリ管理の仕方をコンパイラに指示していました。ARCでは、weakとstrongパラメータを指定し、コンパイラに指示します。
(3)publicなメソッドはここに書きます。
mファイル
mファイルについてです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
@implementation MyClass { // (4)プロパティ以外のインスタンス変数はここで宣言 __strong NSMutableArray *myMutableArray } // (5)セッターゲッターを作成 @synthesize string = _string; -(void) hoge { // …… } @end |
(4)
@imprementation にインスタンス変数を書けるようになったので、外部との連携を必要としないインスタンス変数は@implementation部に記述します。
(5)セッター・ゲッターは@synthesizeで実装します。
インスタンス変数名は、プロパティ名の前にアンダースコアをつけたものにします。
参考ページ
Xcode ARC時代のマイルール
今回はiOSアプリ開発ネタです。
iOS5で導入されてしばらくたってしまったARCですが、
今まで使ってきませんでした。
最近、ARCを使う機会があったので、
調べてみました。
ARCの基本
ARC (Automatic Reference Counting) とは、
「自動リファレンスカウンタ」のことです。
コンパイルの際に「retain」や「release」などのメソッドをコンパイラが挿入してくれるもので、書かなければならないコードが減るという便利なものです。
しかし、「一定のルール」に従う必要があります。
retain, release, autoreleaseは書かない
・retain, release, autoreleaseはコンパイラが挿入してくれるので、コンパイラに任せます。(自分で呼んではいけません)
・deallocもコンパイラに任せます。(直接deallocを呼び出していけません。deallocのオーバーライドは可能ですが、[super dealloc]は呼び出してはいけません)
メモリ管理の基本的な仕組みは、手動メモリ管理と同じです。
「retain, release, autorelease」を使う代わりに、
「強い参照」と「弱い参照」という概念を導入して、
コンパイラに自動挿入してもらいます。
強い参照と弱い参照
「強い参照」と「弱い参照」を使い分けてオブジェクトを利用します。
強参照 :
参照先のオブジェクトを自分で保持します。
強参照されているオブジェクトは常に利用可能で、
強参照されなくなったり、スコープ外に出た場合は破棄されます。弱参照 :
参照先のオブジェクトを自分で保持しません。
参照先のオブジェクトが誰からも強参照されなくなったとき、自動的にnilが代入されます(Zeroing)
という考え方が基本になります。
あるオブジェクトを保持したい場合は強参照します。保持しない場合は弱参照します。
「循環参照」を避けるために、二種類の参照が存在します。
「 __strong」や「__weak」などの修飾子を使って「強い参照」と「弱い参照」のどちらなのかを示します
強い参照 : __strong
デフォルトは強い参照ですので、通常は指定する必要はありません。
alloc/initで生成されたオブジェクトは、現在のスコープ(多くの場合、変数が宣言された中括弧内)のライフタイムの間、維持されます。
nilで初期化されます。弱い参照 : __weak
delegateパターンを使うときなどは、相互循環を防ぐために弱い参照を使います。
nilで初期化されます。
iOS4では使えません。その他 :
__unsafe_unretaind :
__weekが使えないiOS4ではこれをつかいます。nil初期化やZeroingが行われません。__autoreleasing :
手動メモリ管理の時にautoreleseメッセージを送信していたのと同様の働きになります。
nilで初期化されます。
強参照されているオブジェクトも、変数スコープ外に出れば破棄されるので、あえてこれを使うことは稀です。
その他
ARCで使えないものに以下のものがあります。
・NSAllocateObject, NSDeallocateObject
・C構造体の中でのオブジェクトポインタ
・NSAutoReleasePool (@autoreleasepoolブロックの使用は可能。)
・メモリゾーン
・“new”から始まるプロパティ名
その他に、CとObjective-C間のキャストには特定の方法を利用する必要があります。
まとめ
ARCを利用する際の基本的なルールを掴むことができました。
次回は、これらを踏まえて、どういった形でコーディングしていくのかというマイルールをまとめたいと思います。
参考ページ
[iOS5] ARC (Automatic Reference Counting) : Overview
Objective-C ARCによるメモリ管理
今自分が所属しているバンドでCDを作ることになりまして、
一昨日までCDジャケットのデザインを行なっていました。
そのとき調べたことなどを書いてみます。
制作物の種類や制作の環境など
今回作るCDはプラスチックのケースではなく、
紙のケースを採用しました。
紙のジャケットケースを展開したものをMacでデザインして、
プリント後に組み立てて、そのなかCDを入れます。
iPhoneで撮影した写真をメインに持ってきて、
補正や変換にはPhotoshopを使いました。
加工後の写真をIllustratorに取り込み、
ジャケットを制作しました。
今までアプリ用のアイコン制作などでIllustratorを使うことはありました。
しかし、今回は作るものが印刷物なので、
「画像解像度」などの、「アイコン制作」とは異なってくる部分が勉強になりました。
[制作環境]
Macbook Pro 2009 13inch + 20inch Cinema Display
Core 2 Duo 2.26GHz
メモリ8GB
Photoshop CS5
Illustrator CS5
画像解像度について
画像解像度とは、画像の精細さをあらわす数値で、
dpi(dot per inch)や、ppi(pixel per inch)という単位が使用されます。
Photoshopではppiで表記されますが、呼び方はdpiが一般的です。
ピクセル(ドット)が1インチ(=25.4mm)にいくつ並んでいるかを示していて、
数値が大きいほど、画素の密度が高くなり、高精細になります。
参考: 配置画像の解像度
画像解像度は用途によって異なります。
パソコンの画面などで見るもの(Webページなど)は72〜96dpi程度で、
印刷用の解像度は350〜400dpi程度のようです。
・参考: Apple製品のppi値
name ppi(dpi) iPhone 5/4S/4 326 iPad Retina 264 MacBook Pro Retina 13 227 MacBook Pro Retina 15 220 iPad mini 163 MacBook Pro 13 113
今回はiPhoneで撮影した写真を使います。
iPhoneで撮影した写真の画像解像度は72dpiですが、
今回は印刷物をつくるので、画像解像度を350dpi程度に変換します。
そこでPhotoshopで画像解像度を変換しました。
・Photoshopで画像解像度を確認する
「イメージ」メニュー→「画像解像度」
「画像の再サンプル」のチェックを外して「ドキュメントのサイズ」欄の「幅」か「高さ」に使用サイズを入力すると、その使用サイズにおける解像度を確認することができます。
また「解像度」を印刷用適正解像度に変更すると、その解像度における使用サイズを確認することができます。
レイアウトについて
画像の用意ができたのでIllustratorでジャケットを作っていきます。
まずジャケットの展開図をGoogle画像検索で探しました。
検索ワードを試行錯誤して、”cd sleeve design”のワードで期待通りの検索結果が得られました。
googleで検索 “cd sleeve design”
その検索結果の中から見つけたページに載っている展開図を参考にして、
デザインを進めていくことにしました。
下記のページなのですが
紙ジャケットやプラケース用などたくさんの展開図が載っています。
寸法: DVD and CD disc replication paper parts and templates
フォントについて
今回のジャケット制作では、
オモテ面にバンド名とアルバム名
ウラ面に曲の歌詞を入れることになっていました。
それらの文字に使うフォントは、
Macbookに元から入っているものを使いました。
文字のレイアウトは「ノンデザイナーズ・デザインブック」という本で学んだ、
「近接、整列、反復、コントラスト」
という4原則を基本にして、
バンドメンバーやりとりしながら決めていきました。
・ノンデザイナーズ・デザインブック
“デザインを正式には学んだことがないけれど、ページをデザインする必要がある人々”を対象として書かれた本で、例を示しながら基本的な原則を解説しています。これを読んだら即プロになれるわけではありませんが、ページのデザインを見る目は確実に変わりました。おすすめの本です。
その他の参考にしたもの
自宅にある紙ジャケットCDやプラケースCDのブックレットを参考にしました。
文字のレイアウトや色などに着目して、
参考になりそうなCDをピックアップしていきました。
歌詞の背景は写真ではなく単色の背景が多かったり、
紙ジャケットのケースを良く見ると、厚紙の上に薄い紙が貼りあわせてあったりと、
今回初めて気づくことも多かったです。
いざ、入稿
ジャケットのデータが完成したので、
入稿に関してのフォーマット指定をチェックしていきました。
トンボについて、罫線の太さ、色の指定、塗り足しについて、レイヤー設定などをチェックしていき、修正を加えて入稿しました。
現在、データチェックや製版が終わっていて、
印刷/発送を待っている状態です。
出来上がるのが楽しみです。
それでは。