FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ファイル破損エラー? [Xcode]

アプリの日本語語対応をやっていたら、ビルド時に下記のエラーが発生しました。

/Volumes/~中略~/ja.lproj/Localizable.strings:0: error: read failed: The data couldn’t be read because it has been corrupted.

Localizable.stringsファイルが破損してるだって〜?
慌ててファイルを一度削除して作り直したりしても、やはりエラーが出ます。


で、結局の原因は単なるタイプミスでした。

誤:"Title" = "タイトル"
正:"Title" = "タイトル";

という感じで、行末のセミコロンが抜けてるだけでした。
トホホな原因ですが、ファイル破損というエラーメッセージだったんで焦りました。
関連記事
スポンサーサイト

アプリ「ベロシティ ピアノ」公開 [App]

アプリ第6弾、「ベロシティ ピアノ」が App Storeで公開されました!

タップの強さで音量が自由に変化!
表情豊かにピアノを演奏しましょう!



アプリについて:
・このピアノアプリは鍵盤をタップする強さ(ベロシティ)で
 ピアノ音量が変化します。
 フォルテシモからピアニシモまでタップの強さで
 自由にコントロールでき、
 表情豊かに演奏をすることができます。
・強さ検出の感度は設定で変更可能。
 強さ検出をOFFにして、常に一定の音量で演奏することも出来ます。
・鍵盤の表示は2オクターブまたは3オクターブに切り替え可能。
 2オクターブ表示では、鍵盤が大きく表示されるのでタップしやすくなります。
 3オクターブ表示では、音域の広い曲でも切り替え操作無しに弾くことが出来ます。
・設定は記憶され、再起動時に再現されます。



アプリ動画:


よろしければぜひダウンロードをお試しください。


-2013/06/14-
以下のアップデートを行いました。
Ver 1.1
・アドオン機能の追加


App Storeへのリンクはこちらです。無料アプリです。
Velocity Piano - K App Design←日本語版 英語版→Velocity Piano - K App Design
関連記事

Objective-Cで正規表現 [Xcode]

Objective-Cで正規表現を使って検索・置換するのに手間取りましたので、メモです。

Objective-Cでは他の言語のように1行で正規表現を書けるのではなく、
NSRegularExpressionと NSTextCheckingResultと言うのを使わなければなりません。

検索


文字列に特定のパターンがあるかどうかを検索します。
パターンがマッチしたら、match.numberOfRangesが1以上になります。

NSString *str = @"ABCABCD";
NSString *pattern = @"[BCD]";

// 正規表現検索を実行
NSRegularExpression *regex =
[NSRegularExpression regularExpressionWithPattern:pattern options:0 error:nil];
NSTextCheckingResult *match =
[regex firstMatchInString:str options:0 range:NSMakeRange(0, str.length)];

// マッチした場合
if(match.numberOfRanges) {
NSLog(@"Match!!");
}



抜出し


正規表現の()を使い、マッチした内容を抜出します。
抜出す箇所は、matchの rangeAtIndex:で指定します。
なお、正規表現のエスケープシーケンスにはバックスラッシュ2個 "\\" が必要なようです。

NSString *str = @"1234-ABCD-2345";
NSString *pattern = @"-([A-D]*)-(\\d+)";

// 正規表現検索を実行
NSRegularExpression *regex =
[NSRegularExpression regularExpressionWithPattern:pattern options:0 error:nil];
NSTextCheckingResult *match =
[regex firstMatchInString:str options:0 range:NSMakeRange(0, str.length)];

// マッチした場合
if(match.numberOfRanges) {
NSString *resultAll = [str substringWithRange:[match rangeAtIndex:0]];
NSLog(@"%@", resultAll); // マッチ全体  @"-ABCD-2345"
NSString *result1 = [str substringWithRange:[match rangeAtIndex:1]];
NSLog(@"%@", result1); // 最初の括弧内 @"ABCD"
NSString *result2 = [str substringWithRange:[match rangeAtIndex:2]];
NSLog(@"%@", result2); // 次の括弧内  @"2345"
}


置換


置換は fromと toの2つのパターン文字列を用意し、
NSRegularExpressionの後に stringByReplacingMatchesInStringを実行します。
()を使えば、to内でそれを$1,$2として使用できます。

NSString *str = @"1234-ABCD-2345";
NSString *from = @"(\\d+)-(\\w+)-";
NSString *to = @"$2-$1-";

// 正規表現置換を実行
NSRegularExpression *regex =
[NSRegularExpression regularExpressionWithPattern:from options:0 error:nil];
NSString *result =
[regex stringByReplacingMatchesInString:str options:0
range:NSMakeRange(0,str.length) withTemplate:to];
NSLog(@"%@", result); // 1234とABCDを入換え @"ABCD-1234-2345"
関連記事
Appご紹介
K app designのAppをご紹介します

ねこわけ

画面中央の猫を次々に仕分けるゲームです。

あまり計算機

あまりを計算できる割算専用の計算機です。

6オクターブ ピアノ

6オクターブ鍵盤のピアノアプリです。iPad専用。

Dynamic Drum

様々な演奏法が楽しめるドラム演奏アプリです。

クイズボタン

早押しクイズのサポートをするアプリです。

クイズボタン Pro

クイズボタンに点数表示機能が付きました。

クイズボタン HD

クイズボタンのiPad専用版。回答者ボタンが8つに増量。

ベロシティ ピアノ

タップの強弱で音量が変わるピアノアプリです。

TIMERx4

4つのキッチンタイマーを同時に動作できるアプリです。

アナデジClock

アナログとデジタルが融合した時計です。
検索フォーム
最新記事
最新コメント
カテゴリ
人気ページ
月別アーカイブ
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。