iOS8.4にアップデート iPhone iTunes 曲をシャッフルできなくなった?(ToT)

iOS8.4にアップデート iPhone iTunes 曲をシャッフルできなくなった?(ToT)な時

みなさんこんにちは。
先日、iOS8.4のアップデートがありましたが、
いかがお過ごしでしょうか。

今回からApple Musicが始まったみたいですが、
こいつのせいでiTunesアプリの使い勝手がガラリと変わってしまいました。

前回までの使い勝手に慣れきっていたし、Apple Musicは使わないから邪魔でしょうがありません:(
一番腹が立ったのは、探せども探せどもシャッフルボタンが見つからないことでした…!

同じ思いをする人が絶対いると思ったのでシャッフルボタンがどこにあるのかの記事を書きました。

以下、手順です。

①何でもいいので曲を再生します
②すると下の方に再生中の曲が表示されます
③その再生中の曲の欄をタップし、指を離さず、ずむむっと上に引っ張り上げます
④そうすると馴染みのある画面がおでましします
⑤この画面の最下部に→が絡み合ってるボタンがあります
⑥こいつがシャッフルボタンです

アルバム毎、アーティスト毎、曲毎でシャッフルしたいと思いますが、
iTunesアプリを立ち上げた一番最初の画面の真ん中のアーティストというボタンがあります。
そこをタップすると曲毎、アルバム毎等変更することができます。

それでは皆さん、良いシャッフルライフを。

by 芦野輝明
twitter→https://twitter.com/teriyakiegg

iPhone

  • アーティストを選んでもアルバム内でしかシャッフルされません。しかも勝手にアルバム内をリピートされている模様・・・ — あああ {2015-07-11 (土) 00:04:26}
  • 画面中心にあるアーティストの赤い文字を押すと選べるんですねこれは気付きにくいので本当助かりました! — 助かりました {2015-07-14 (火) 08:46:37}
  • 本当に助かりました。ありがとうございます。 — {2015-08-10 (月) 23:02:15}

iOS7にするとナビゲーションバーに下のビューが被ってしまう!

iPhone

iPhoneアプリ開発者の方は、iOS7にして作ったアプリを確認してみたら・・・

なんとナビゲーションバーの下にビューがかぶってしまっているのです。
iOS6までなら、ビューのy軸0はナビゲーションバーの下から始まっていたのですが・・・。
でもご安心ください。
以下のコードを書けば、あなたも安心です。

 float systemVersion = [UIDevice currentDevice] systemVersionfloatValue];
 if (systemVersion >= 7.0)
 {
     navigationBar.translucent = NO;
 }

これをviewDidLoad内のトップに書いてあげれば、ナビゲーションバーの下からちゃんとビューが表示されます!

これで、iOS7でもiOS6でもナビゲーションバーの下からビューが表示されます!

iOS5での顔検証

iPhone

iOS 5 になって CIDetector というクラスを使って画像の顔認識ができるようになりました。
ということで、顔の上にUIViewを表示してみよう!

まず、をインポートします。

※注意として、CoreImageは左下の座標が(0,0)になります。(通常UIKitは、左上が(0,0))

 CIImage* image = [CIImage imageWithCGImage:【顔の写った写真を表示するUIImageView】.image.CGImage];

※精度がhighの顔認識(CIDetectorTypeFace)を生成

 CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:[NSDictionary dictionaryWithObject:
 CIDetectorAccuracyHigh forKey:CIDetectorAccuracy]];

※認識された顔のパーツを配列に入れます
 NSArray* features = [detector featuresInImage:image];

※CoreImageは、左下の座標が (0,0) となるので、顔認証された画像を描画する前に、
UIKitと同じ座標関係にしましょう!
この時、そのまま逆さまにしただけだと、他のオブジェクトも逆さまになってしまうので、
わけがわからなくなる!

 CGAffineTransform transform = CGAffineTransformMakeScale(1, -1);
 transform = CGAffineTransformTranslate(transform, 0, -facePicture.bounds.size.height);

※この処理を顔の各パーツごとに繰り返します。
 CIFaceFeature は目、鼻、口が検出されたかをBOOlで返してくれ、
それぞれのサイズも教えてくれるので便利です!
 今回は顔全体と鼻だけを例にとります。

for(CIFaceFeature* faceFeature in features)
{
※顔のRectを取得し、UIKitの座標に合わせます
 const CGRect faceRect = CGRectApplyAffineTransform(faceFeature.bounds, transform);

※顔と同じ大きさのUIViewを生成します
 UIView* faceView = [[UIView alloc] initWithFrame:faceRect];
 faceView.layer.borderWidth = 1;
 faceView.layer.borderColor = [[UIColor yellowColor] CGColor];
 faceWidth = faceFeature.bounds.size.width;

※これで顔の周りにボーダーを表示され、顔が認証されたとわかります!

 [facePicture addSubview:faceView];

 

※口が検出されてたら・・・の処理
if(faceFeature.hasMouthPosition)
{
※口の座標をゲットして、UIKitの座標に変換!
 const CGPoint mouthPos = CGPointApplyAffineTransform(faceFeature.mouthPosition, transform);

※顔の大きさに応じて口の上に表示するUIViewの大きさを変えよう!

 UIView* mouth = [[UIView alloc] initWithFrame : CGRectMake(mouthPos.x – faceWidth*MOUTH_SIZE_RATE*0.5,
mouthPos.y – faceWidth*MOUTH_SIZE_RATE*0.5,
faceWidth*MOUTH_SIZE_RATE,
faceWidth*MOUTH_SIZE_RATE)];

 mouthPoint = CGPointMake(mouthPos.x – faceWidth*MOUTH_SIZE_RATE*0.5, mouthPos.y – faceWidth*MOUTH_SIZE_RATE*0.5);

 UIColor* pink = [UIColor colorWithRed:1 green: 0.6 blue:0.8 alpha:1];

 mouth.backgroundColor = [pink colorWithAlphaComponent:0.3];
 mouth.layer.cornerRadius = faceWidth*MOUTH_SIZE_RATE*0.5;

 [facePicture addSubview:mouth];

 }
}

これで、顔の周りにボーダー、口にピンクのUIViewが表示されるかと思います!
簡単に顔を認証できます!

iOS UIKeyboardTypeEmailAddressを指定しても日本語キーボードが表示される

iPhone

UITextFieldのkeyboardTypeにUIKeyboardTypeEmailAddressを指定しても日本語キーボードが表示されてしまいます。

ユーザーが手動で英語キーボードに切り替えれば、メールアドレス入力用キーボードが表示されますが、アプリ側で自動で切り替えることはできません。
標準アプリの電話→連絡先でメールを入力する場合でも、同じ挙動です。
人によってフリック入力するか英語キーボードで入力するか好みが分かれるので、このような仕様になっているのではないかと思います。

現時点(iOS 6.1)では、アプリ側でキーボードの言語を切り替えることは許されていないので、カスタムキーボードをつくるしか回避策はありません。

  • 他のサイトではUITextFieldのkeyboardTypeにUIKeyboardTypeEmailAddressを指定すれば出来ると書いてあるので、何故出来ないのか悩んでいました。ここを見つけてやっと納得しました。ありがとうございます。ただ、何故他では出来ると書いているのか?旧iOSなら出来たのかな? — at {2014-02-21 (金) 10:32:48}

httpd.conf での文字コード指定

Apache

自宅で検証用などにApacheを使っていて、ローカルのWebサーバーの文字コードをセットしたいとき、次のようにhttpd.conf ファイルを編集します。

 AddCharset
 AddCharset shift_jis .sjis
 AddCharset EUC-JP .euc-jp

という2行を先頭に持ってきます。なければ、追加をします。 (750行目辺り?)

 AddLanguage
 AddLanguage en .en、などのという記述の箇所で、
 AddLanguage ja .ja

を先頭行に持ってきます。なければ追加をします。 658行目辺り?

 LanguagePriority
 LanguagePriority ja en da nl et fr de el it kr no pl pt pt-br ltz ca es sv tw

という行で ja を先頭に持ってきます(なければ追加)。 690行目辺り?

AddDefaultCharsetとある箇所で(711行目辺り)

 AddDefaultCharset off

または、

 AddDefaultCharset shift_jis

と設定します(または AddDefaultCharset EUC-JP など)。
(↑みたいにすると、デフォルトがShift_jisになってしまうので、UTF-8などがデフォルトだと文字化けしてしまいます。なので、offの方がよいでしょうね。)

  • 残念ながら直りませんでした — {2015-12-10 (木) 23:23:48}
  • すみません、QAサイトではないので、質問にお答えすることはできないですし、もう一度内容を検証する時間もないのですが、ご指摘有難うございました。 — 管理者 {2015-12-11 (金) 18:01:47}
  • 残念ながら私の環境でも直りませんでした。ここで取上げているApacheのバージョンはいくつでしょうか? — konno {2016-10-18 (火) 22:11:15}
  • 追記:行数から察するに、とても古い環境なのでは? — konno {2016-10-18 (火) 22:14:13}
  • 追記:こちらの環境はServer: Apache/2.2.31です — konno {2016-10-18 (火) 22:23:20}
  • ジタバタ試行錯誤の結果、最終行にAddDefaultCharset UTF-8IndexOptions Charset=UTF-8の2つ併記で解決しました。やれやれ。デフォルトの文字コードは ISO-8859-1 です。 — konno {2016-10-18 (火) 23:10:06}