2013年5月21日火曜日

AndroidでListViewのOnItemClickListenerが反応しない

久しぶりの更新です。

最近ちょいちょいとAndroidの方の開発もしています。
その中で、3日ほど詰まってしまったので備忘録を残しておきます。

内容としては、ListViewの各行を押したときに反応しないというものです。
ListViewでは上記の様な問題は結構発生するようで、様々な原因が考えられ、
そのおかげで解決まで時間がかかってしまいました。

で、自分の原因は、カスタムアダプタークラスの継承したisEnableメソッドで、falseを返しているという、とても単純なものでした。
他のクラスで選択されては困るとfalseにしていたものを、
すっかり失念したままコピペしていました。


折角なので、詰まっている間に調べた他の原因を残しておきます。

【ListView内のアイテムに、onClickLisnerが反応する物が含まれる】
多くはコレになります。
そちらにonClickイベントが渡されてしまい、onItemClickが反応しなくなるようです。
解決法は、それぞれのアイテムに
  android:focusableInTouchMode=”false” android:focusable=”false”を設定

【アイテムの中にTextViewが含まれる】
 android:inputType=”textMultiLine”があると反応しません。
 android:minLines/android:maxLinesを使用すると回避できます。
 android:autoLinkもテキストの内容によっては反応しなくなります。

【ランダムに発生】
 原因は不明ですが、ListViewにadaptorをセットする前にonItemClickListnerを設定すると回避できる場合があるようです。

参考:
http://xjaphx.wordpress.com/2011/07/14/listview-doesnt-respond-to-onitemclicklistener/

2013年4月15日月曜日

self.parentViewControllerとself.presentingViewControllerについて

self.parentViewControllerとself.presentingViewControllerについてちょっと調べてみた。

実験した環境は下記の通り。
・タブビュー
 ↓
 ・タブに表示されたビュー1
  ↓
  ・上記ビューからpresentViewControllerで表示したビュー2

つまり、ビューコントローラとしては、
UITabBarController
↓タブ表示
UIViewController(1)
↓前部に表示
UIViewController(2)

この状態で、(2)からself.parentViewControllerを取得してみると、nilが返ってきた。
次に、(1)からself.parentViewControllerを指定すると、UITabBarControllerが返ってきた。

つまり、self.parentViewControllerは、タブなどを使用している際に使用するものらしい。

続いて、(2)からself.presentingViewControllerを指定してみたところ、UITabBarControllerが返ってきた。
(2)は(1)から呼び出したので、てっきり(1)が返ってくると思っていたが、
タブビューが返ってきたのは予想外だった。

2013年4月10日水曜日

iTunes Connectで、いつまでたってもアップルから振り込まれない

久しぶりの投稿です。

表題、そういえばアップルからの振り込みがないなと思い、
数ヶ月放置していましたが、いよいよないので問い合せを送ってみました。

I have never received your payment since I register iOS developer (2012/08~)

I have set up contracts, "tax, and banking information" at that time(2012/08), and "Amounts Owed" have been over $150 from several months ago.

Is there any more settings I need or requirements?

その返答が今朝ありました。

Your payments are being held because your bank account holder name is in Latin characters.

Apple is no longer sending international wire payments to banks in Japan.  Your payments are now sent by the **zengin system** / local clearing system.  Local remittance requires your bank account holder name to be in Katakana. We contacted all iTunes Japanese business partners 3 times over the last year requesting that you check the banking details to ensure they are correct for the zengin system.

Please log into iTunes Connect and edit your bank account by changing your bank account holder name to Katakana.

Your payments will remain on hold until you update your bank account holder name in iTunes Connect to Katakana.


つまり、銀行情報のところの名義人を、アルファベットで登録していたことが原因でした。
カタカナに登録しなおして待ちます。

エラーとかなにか連絡をくれていれば嬉しかったのですが・・・

2013年3月5日火曜日

Game Centerに表示されるタイトル(アプリ名)が更新されない

あるアプリが、アプリ名が原因でリジェクトされたときの話です。

当然iTunes ConnectのMetadataのアプリ名を変更し、再度テストをしていました。

そうすると、アプリ内でGame Centerを開くと、表示されるタイトルが前のアプリ名のままになっていました。

Game Centerのタイトルの設定画面なんかあったかなと思いつつ、
もう一度iTunes Connectを開き、Game Centerの設定画面を確認しましたが、
特にそのような項目はありません。

Game Centerにリーダーボードとかのリセットボタンがあったので押してみましたが、
変更されませんでした。

最後の手段、ということで、一度Game Centerをdisabledにしてみました。
設定全部消えたらやだなーとおもいつつ、もう一度enabledに戻したところ、
設定した内容はすぐに復活して一安心。

再度アプリからGame Centerを開いてみると、表示されるタイトルが更新されていました!

まとめると、アプリ名を変更したときは、一度Game Centerを無効・有効にする必要があるということでした。

※上記、SandBoxテストでの話なので、一旦無効にしなくても、
実際に公開されたときはその時のアプリ名が表示されるはずです。

2013年2月25日月曜日

iTunes ConnectでYour membership(s) have expired

本日、急にiPhoneアプリがストアから削除されていました。
iTunes Connectを開いたところ、Sales and Trendが消えていて、
Manage Your Applicationsを開いたところ、全てのアプリがPending Contractになっていました。

Contracts, Tax, and Bankingを開くと、メンバーシップが期限切れになっているので、
Developer Centerで再度登録しろと書かれていました。
しかし、メンバーシップはまだ来年まで大丈夫なはず。

アップルの日本語サポートに問い合せたところ、
向こうのシステムで更新をした際になんらかの障害が発生した可能性があるとのこと。
手動で更新してもらって、サインアウト・サインインしたところSales and Trendが復活しました。

ただ、Contractsのところで再度requestをしてBankingとかTaxの設定が必要で、
その影響で有料アプリの方は再公開まで24時間かかるかもとのことでした。

また、今後はiTunes Connectの問い合せは専用のメールアドレス(英語)にお願いしますとのこと。

アップルは結構こういうトラブル多い気がします。

2013年2月14日木曜日

Macで確定申告(e-tax)作業中の不具合

今年はmacで確定申告をしようと思っています。

住基カードやICカードリーダーを揃え、
e-taxはSnow Leopardしか対応していないとのことなので、
眠っていた古いMac Bookを引っ張り出して、さあ準備完了!

とりあえず申告書作成までやってみようと思い、まずは
http://www.nta.go.jp/tetsuzuki/shinkoku/shotoku/tokushu/jyunbi.htm
を確認。

ルート証明書をダウンロードし、KeyChain Accessのシステムのところに登録しろとのこと。

早速やってみたが、ファイル→読み込むでダウンロードしたファイルを選択したところで、下記エラー。


エラーが起きました。“APCAroot.der”を読み込めません。
エラー:100013

解決法がわからず、途方にくれるも、試しにログインのほうに登録してみる。
すると素直に登録されたので、それをドラッグ・ドロップでシステムに移す。

なんとか成功!
しかしこれで大丈夫なのだろうか・・・。

とりあえず様子を見てみる。

追記:その後、特に問題なく申告できました。

2013年1月28日月曜日

iOS Provisioning PortalのCertificates登録でステータス「Submitted」

久しぶりの更新になります。

今回は、お客様からお借りしているアカウントで、
iOS Provisining Portalに新規アプリを登録しようとした際に発生した問題について。

流れとしては、
・Appleのデヴェロッパーアカウントをお借りする形で開発。

・iOS Provisioning Portalにログイン

・なんかいつもと違うような気が・・・

・とりあえず、Certificatesのとこからやろうか

・KeyChainAccessで証明書作成

・ファイルをアップロード

・statusが「Submitted」になった・・・・・・「Submitted」!?

これまで、何回か上記手順を行いましたが、
いつもpendingの後すぐにissuedになっていました。

pendingの前の段階があるのかと思い、しばらく放置しましたが状況変わらず。

お客様のアカウントなので、結構焦りながらいろいろ確認していく。

そして今更気付くと、CertificateのタブにDistributionがなかったり、
App IDやデバイスの新規登録ボタンが表示されていない。

頂戴したアカウントの権限が足りないのでは・・・と気付き、
お客様に確認したところ、その通りだったようだ。

新しいユーザー情報を頂き、ログインし直したところ、
Certificatesのところに、先ほどアップロードした内容をpendingしますか?と表示されていた。

つまり、権限がない人がアップロードした場合、権限を持つユーザーで承認しなければならないということがわかった。
その承認までの間、submittedのステータスになるようだ。

根が深い問題でなくて良かったです。

2013年1月4日金曜日

あけおめ

ちょっと遅いですが、あけましておめでとうございます。

・・・・・
・・・・
・・・
・・

以上!