ヘルパーアプリ使用時のValidationエラー Invalid Code Signing Entitlements.

先日のアプリケーションの自動起動の件は一件落着したように見えたのだが、これをMac App Storeにサブミットするときに、はまりまくってしまった。

サブミット時は素直に行った事がないのだが、いくつかのエラーを一つずつ潰していた結果下記のエラーがどうしてもクリアできなくなった。

全然エラーの見当がつかず、再度証明書を作ってみたり悪あがきをしてみたが、まったく改善せず。もう一度、はじめに戻ってヘルパーアプリをターゲットから外してみるとあっさり通過した。

プロビジョニングファイルは次の通り。これをそれぞれのターゲットのCodesign Identityにセットした。

  1. Main.app開発用
  2. Main.app運用用
  3. Helper.app開発用
  4. Helpeer.app運用用

また、Main/Helperともにサンドボックスを有効にしている。

以上で再度アーカイブするが、やはり同エラーで先に進めない。う〜ん。困った。どうしよう。
そうこうしているうちにまた、下記のような情報に出会った。

Submit an OSX App with helper App in its bundle

理由はよくわからないのだが、一旦作成した、アーカイブの中のHelper.appを再度コードサインしなさい、ということだ。(と思う)もう一歩も前に進めないので、書かれている通りにヘルパーアプリを再度コードサインして、embedded.provisionprofileを削除してみた。結果はあっさりValidationを通過したのだが、喜んだのもつかの間、直ぐにiTunesConnectからInvalid Binaryとして突き返されてしまった。

こうなったら最後まで悪あがきをしようと、決めて、今度はHelper.app側のみをDon’t Codesignとして、アーカイブ。そして、ターミナルでコードサインしてみた。これでValidationも通り現在、Waiting for reviewになっている。
しかし、本当にこれで正解なのかはいまだにわからない。何日かすれば判定だけはくだされるんですけどね。

あと、調べている最中にもう一つの解決策として、ワイルドカードを使用したというのも見かけた。これで解決できるのかは試していないので不明。

 

[2012.8.11 追記]
上記設定で無事審査を通過しました。しかし、毎度この設定は面倒なので、はやく改善していただきたいものだ。
それにしても、審査待ち時間長過ぎる。 10.8リリースと重なったので仕方ないのでしょうね。

開発環境の移行とCodeSignエラー

Macの入れ替えなどで開発環境を移行すると、Xcodeでのビルド時にCodeSignのエラーが起こる。その対処法。

移行元のMacで、Xcode: Organizerを起動。Deviceタブ: TeamリストをExportして、ファイルに保存。

移行先のMacでは、 同じTeamから、Importを行う。

サンドボックス使用時のログイン項目のアプリケーション自動起動

サンドボックスに対応させたMac OSX用のアプリケーションですが、よく環境設定などで見かけるログイン時の自動起動が全然機能していないことに気づいた。
早速調べてみると、別途ヘルパーアプリを用意して、それが自動起動してそのアプリがメインのアプリを起動させるというなんとも手間な方法になっている。

Daemons and Services Programming Guide

そして、ここにはそのものズバリを解説してくれているひとがいる。

http://blog.timschroeder.net/2012/07/03/the-launch-at-login-sandbox-project/

おかげさまで、うまく起動までたどりついた。

一応、10.6.8のサンドボックスに対応しないCoreDuo iMacでも動作を確認できた。

追記

調べていると、LSRegisterURL()でヘルパーのURLを登録の必要があるとの記載もあるが、Appleのエンジニアから使用しない方が良いという発言があったようだ。

http://blog.mcohen.me/2012/01/12/login-items-in-the-sandbox/

現在の位置情報を利用しますか?

IB上でMapViewを使用していて、上記のアラートが出てしまう。しばらく悩んでしまったけど、IB上で”Shows User Location”のチェックが入っていただけだった。IBをあまりつかっていなかった弊害ですね。SBを機に使っていくようにしよう。

MobileMeのメールが受信できない

MobileMeからiCloudに移行した知り合いの、標準のMail.app(Snow Leopard)でメールが送受信できなくなった。

検索すると、このような症状が起こっている人は多くいるようで、そのほとんどがパスワード認証が通らなくなったというもの。

移行後のMobileMeのメールアカウント(mac.com/me.com)は、Apple IDにひも付けされているそうで、Apple IDのパスワードを変更するとメールアカウントのパスワードも同様に変更されるそうだ。(Apple IDのパスワード忘れてリセットたときに、通知メールを取得したくても忘れて取得できないのはどうすればいいのだろう、代替えメールアドレスで解決できるんだろうな...というのは置いておこう。)

ひととおりネットなどで書いてある方法をためすが、どれも効果なし。最終手段でApple IDのパスワードを変更することで解決した。このときなぜかサポートで、パスワードを8文字にするように勧められた。現在そのようになっている。う〜ん。

return top