SI CAPTCHA Anti-SpamプラグインはGDが必要

CAPTCHA anti-spamはWordPressにコメント入力画面やログイン画面に画像認証を付記するプラグインなのですが、GDが必要な事に気づきました。しかもインストール後。

エラー: si-captcha.phpプラグインによると、PHPにGD image supportが見当たりません!
PHPにGD image supportが有効になっていない理由については、サーバ管理者にお問合せください。
エラー: si-captcha.phpプラグインによると、PHPにimagepng機能が見当たりません!
PHPにimagepng機能が有効になっていない理由については、サーバ管理者にお問合せください。

エラーメッセージがちゃんと日本語で表示されます。素晴らしい。

と、関心してる場合ではなく、慌ててyumでGDをインストールしました。

# yum -y install gd php-gd

GDインストール後はhttpdのリロードが必要になります。再起動(restart)する必要はありません。

# /etc/rc.d/init.d/httpd reload

iPhone(iOS)日本語ドキュメント

iOS Developer Library
http://developer.apple.com/jp/devcenter/ios/library/japanese.html

先日「iPhone開発者向けドキュメントがiBooksで無償公開中」という記事を書いたのですが、実は私はこちらのPDF形式のドキュメントを多用しています。

iPadを持っていればiBooksという選択肢があったのかもしれませんが、PDF版ドキュメントの更新頻度が特別遅いわけでもないですし、iBooksにあってPDFに存在しないドキュメントがあるわけでもない(逆はあります)ので。

むしろPDFファイルだとDropboxに格納することでMacからもiPhoneからも閲覧できますし、加えて最近購入したAndroidタブレット(Readerが利用できる)を加えた「Mac + Android Tab + iPhone」という環境が、PDF形式をより選ばせる結果になっています。(アップルは喜ばないと思いますが)

ちなみにiOS関連のドキュメントは、iOSのバージョン更新に続く形で頻繁に更新されているので、RSS購読しておくと便利だと思います。

iOS Developer Library RSS
http://developer.apple.com/jp/rss/adcjapan.rss

b-mobile wifiにAT&TのAPNを設定する

アメリカ短期滞在中に、外出先でちょくちょくインターネット環境が必要になるので色々調べてみたのですが、AT&Tのプリペイド携帯(GoPhone)のデータ定額サービスを利用するのが一番手軽だという結論に達したので、近くのAT&Tに行って、アクティベートしたSIMカードを貰ってきました。プリペイドカードを一緒に購入すればSIMは原則無料とのことで、出費は$25のプリペイド分のみでした。

ちなみにAT&T GoPhoneのsimカードのアクティベートに関しては下記のサイトを参考にさせていただきました。ありがとうございます。

【iPhone】 アメリカのGophoneプリペイドSIMを使う方法 【まとめ】

このsimを、日本から持ってきた日本通信のb-mobile WiFi端末に入れて使っています。初期状態だとb-mobile WiFiのAPN設定しか有りませんが、AT&TのAPN設定を追加することであっさり使えるようになりました。simフリー端末って便利ですね。

APN設定を備忘録的に貼り付けておきます。

プロファイル名: (お好きな名前を。私は「atandt」にしました)
APN: wap.cingular
ダイヤル番号: *9***1#
DNS: 自動
認証方法: CHAP
ユーザー名 wav@cingulargprs.com
パスワード cingular1
ユーザー名 wap@cingulargprs.com
パスワード CINGULAR1 (アルファベット全て大文字)

AT&T APN設定

ちなみにGoPhoneのデータプランは、10ドルで100MBまでと、25ドルで500MBまでの2プランがあります(昔はもう少しあったんですが)と、5ドル10MBまでの3プランがあります。私は25ドルで500MBまで使えるというプランを選択したのですが、未だに20MB位しか使っていません(涙)。利用期限は30日間なのでこのペースだと確実に使い切れなさそう。100MBのプランにしておけばよかったかも・・・

(追記 2011-07-15)
「通りすがり」さんの指摘を受けてAPN設定を修正しました。
通りすがりさん、ありがとうございました。

(追記 2011-08-01)
AT&T GoPhoneのアカウント画面から「Buy Feature Packages」を選択した場合「Data 10MB $5.00」というプランが選択できます。容量が小さいので単発ではあまり意味がありませんが、自動更新に設定しておけば緊急用として使えそうです。アカウント維持費用と考えても年間60ドルで済みます。

Appのアップデートが「インストール中・・・」のまま終わらない

instagramのアップデート中に発現したのですが、恐らくほかのアプリでも同じような現象に遭遇する可能性はあると思います。結論から言いますとロックボタン長押し→電源を切る→再度電源ONで直ったのですが、途中で母艦macに繋いだために余計におかしな事になってしまいました。 以下私の顛末。

  • iphoneからapp storeに接続して、instagramのアップデートを実行
  • 「インストール中」のままステータスバー動かなくなる
  • ひとまずiphoneの電源オフ
  • バッテリが少なかったので、そのまあ母艦に接続(これが間違いの始まり)
  • 母艦に接続したとたん、iphone勝手に起動
  • Instagramがあった場所に、真っ白のアイコンと「待機中・・・」の文字
  • 母艦と同期すれば直るんじゃないかと安易に考えiTunesから「同期する」を実行
  • 同期完了。しかしiphoneの状態変わらず。というか母艦のApp画面にはInstagramに加えて「待機中・・・」という謎の真っ白なアイコン出現(この時点で結構焦りはじめてます)
  • iPhone上で白アイコンを長押し。しかし削除できない(というか反応しない)
  • iTunesを使ってiPhoneからInstagram削除。「アプリのデータが全て消えます」というメッセージに泣く泣く同意
  • iphoneと再同期。しかし依然として白アイコン消えず。
  • 思いつく対処法がなくなってしまいやや呆然
  • Googleで「app 待機中」で検索して、Apple サポートコミュニティで対処法を見つける
  • 待機中のアイコンが消せません
    https://discussionsjapan.apple.com/message/100558373#100558373

  • 電源再投入。(でもこんな簡単なことで直るとは思ってない)
  • 何事もなかったように白アイコンがInstagramアイコンになってる。あれ?
  • というわけで、焦らずiPhone単体のまま再起動すれば問題なかったというオチです。中途半端に知識があると色々試してしまい、物事を余計に混乱させてしまう。まずは必要最小限のステップで確認できる方法から、徐々に範囲を広げていくのが正しいやり方なんだと改めて考えさせられました。

    Googleが壊れた(404エラー)

    Googleのエラー画面って、個人的には割とレアだと思うんです。
    最近はそうでもないのかな?

    Google HTTP 404エラー

    redditのパクリっぽい気がするのは私だけでしょうか。
    その割にはあんまり可愛くない。(笑)

    ちなみにredditのエラー画面はこんな感じです。
    こっちの方が可愛い。

    you broke reddit

    iPhone開発者向けドキュメントがiBooksで無償公開中

    iPhoneの開発者向けドキュメントをiPhoneで読みたいとき、これまではPDF化されたものをDropboxに放り込んでおいて、必要に応じてGoodReaderで閲覧していたのですが、iBooksでも入手可能ということで早速ダウンロードしてみました。

    ちなみにiTunes Previewではこんな感じで紹介されていました。
    iOS Application Programming Guide

    「Published:Dec 06, 2010」となっているので、発表されたのは昨年の12月なのですね。
    全然知りませんでした。

    実際のダウンロードはiPhoneやiPadにインストールしたiBooksから行うことができます。
    iBooksを起動して、ライブラリ(本棚)の右上にある「Store」ボタンを選択し、検索タブ画面上部の検索ウィンドウに「apple develoepr publications」と入力すればダウンロード可能なブックが一覧で表示されます。

    現時点で下記6冊のブックが確認できました。もちろん全て無料です。

  • iOS Application Programming Guide
  • The Objective-C Programming Language
  • Object-Oriented Programming with Objective-C
  • iOS Technology Overview
  • iOS Human Interface Guidelines (※)
  • Cocoa Fundamentals Guide
  • 無料なので文句は言いませんけど、、、正直微妙なセレクション。(笑)
    iOS Dev Centerで「Featured Content」としてピックアップされているドキュメントをブック化してみた、という感じでしょうか。

    (※)上記ブックのうち「iOS Human Interface Guidelines」については日本国内のiTunesアカウントでは表示されません(2011/4/21日現在)。米国のiTunesアカウントでログインするとちゃんと表示されますし、ダウンロードまで正常にできます。iBooksはアカウントをまたいでブックの管理ができるようなので、私のようにどうしても読みたい!という方は米国のiTunesアカウントを取得するとよいかもしれません。

    今回は試しに「iOS Human Interface Guidelines」を読んでみました。
    PDFと比べると、やはり読みやすいですね。

    ガイドブックなので、先頭から順番に読み進めるというよりまず目次を眺めて、興味のある項目をタップ、ざっと流し読み、有用な項目にブックマーク、そしてまた目次へ・・・という作業が快適に行えます。項目をタップしてから実際に表示されるまで多少待たされますが、一度読み込みが完了すればあとはサクサク動いてくれます。

    ただ、iPhoneの画面だとはやり小ささが不便に感じてしまいますね。
    必然的にめくる頻度が多くなるので、少し前に読んだ箇所を再度確認するのに何ページもめくり返す作業を強いられることになります。一般書籍ならそれほどめくり返す事もないのかもしれませんが。
    iBookはやはりiPadで使ってこそ、真の実力が発揮されるのでしょう。

    今回実際にiBooksで開発者ドキュメントを読んでみて一番印象づけられたのは、その利便性よりもiBook+iPadの魅力かもしれません。さすがはアップルというところですね。(笑)

    ただこれをきっかけにiPadを購入に踏み切れるかといえば、正直なところ微妙です。
    ハードの魅力は確かに感じるのですが、やはりソフト(書籍)のラインナップがいまいちな気がします。今回ダウンロードしたブックにしても、全て開発者向けサイトからPDF形式で入手できるものばかりですし、PDFなら一部は日本語にローカライズされた状態で入手することもできますから。しかも私が高い頻度で使うのはガイドではなくクラスリファレンス。できればこちらをブック化して欲しかった・・・。

    あと、ブックの内容を複数の人間で共有しにくいという部分も気になります。
    有用な情報をブック内で見つけたとき、現状ではスクリーンショットを撮ってメールに添付するくらいしか思いつかないんですよね。画像だとテキスト検索ができないので、結局iBooksが持つ優位性がなくなってしまうわけで。だったらPDF化してPCに全部入れておいた方が、、、という話に戻ってしまうわけです。

    というわけで、今のところ空いた時間に英語の勉強もかねてiOSの技術を流し読みする程度にしか使えない感じのiBooks版iOS開発ドキュメント(私にとっては)ですが、しかしダウンロード数がもっと伸びれば、ひょっとしたら今後クラスリファレンスとかもブック化してくれるかもしれない、、、と勝手に期待して、結局全てダウンロードしてしまいました。
    もし私と同じ期待を抱いている方がいれば、これを機会にぜひ全冊ダウンロードしてください。(笑)

    iOS Developer Guides on iBooks

    kAMDReceiveMessageErrorでインストール失敗

    AdHocビルドした開発中のアプリを、iPhone 3Gのテスターさんに配布したときに発生したエラーです。

    こちらの記事を参考に実際にインストールしていただいたのですが、macユーザーは問題なく、Windowsユーザだけで発生しました。
    [iphone]iphoneアプリをAdhoc配信で貰った場合のインストール方法まとめ

    kAMDReceiveMessageErrorで検索すると、同じようなケースに遭遇されている方を見つけました

    kAMDReceiveMessageError

    WindowsでiPhone構成ユーティリティを利用したインストール、という環境も同じでした。
    info.plistのRequired device capabilitiesを削除すればOKだそうですが、この方も指摘されているように、削除してしまうとアップルの申請に通らなくなってしまう可能性が高いですね。テストの間だけ割り切って削除する手もありますけれど。
    iTunes経由でインストールする場合は発生しない(よく気づきましたね・・・)ので、iTunesを使うべきなのでしょうか。

    と思ったら、iPhone構成ユーティリティの最新版(3.3)がリリースされました
    iPhone 構成ユーティリティ 3.3 (Windows)
    これからちょっと試してみます。

    Required device capabilitiesはアップルへの申請時に「このアプリはこんなデバイスを利用しています」と申請するための記述なので、プログラムの動作そのものには影響ありません。また、デフォルトでは設定されていない項目なので、配布を目的としない実機テスト段階では発生しないエラーだと思います。
    言いかえれば、配布段階でいきなり発生するのでちょっとドキッとしますね(笑)

    追記(2011/04/23)

    顛末としては、エラーの出ていた端末が、プロビジョニングファイルの対象デバイスから漏れていたというオチでした。
    正確には実機とは異なるデバイスIDが登録されていました。単純な確認ミスですね。
    前向きにとらえると、該当しないデバイスにインストールしようとした場合もkAMDReceiveMessageErrorが返されると言うことが分かりましたね。(笑)