google mapをiPhoneアプリで使う


Google Maps SDK for iOSを使えるようにするまでの記録。

Maps SDK for iOSに使用制限はあるのか

まずgoogle mapは自由に使っていいのかライセンス的にはどうなっているのかが気になったので調べてみた。
気になったところだけピックアップする。
(間違っているかもしれないので、利用するときには必ず公式のドキュメントで確認してください)
続きを読む

cocos2d ローカル変数のアンダースコアの位置


cocos2d-xを使ってゲームのアプリを作ろうとしていたのですが、ネットで検索した情報やサンプルコードがcocos2d-iPhoneのものばかりで心が折れてしまい、cocos2d-iPhoneに乗り換えてしまいました。

さて、cocos2dのサンプルコードをそのままコンパイルすると大量のエラーが出ました。
調べてみると cocos2d V2.1からローカル変数の アンダースコア’_’の位置が前に変更になっているのですね。

Objects uses the ‘_’ prefix for ivars. It is no longer used as a suffix.

cocos2d v2.1 release notes · cocos2d/cocos2d-iphone Wiki · GitHub

手作業で全て変更すると無事コンパイル成功。

renaming ivars_ to _ivars | cocos2d for iPhone
この辺を読むと、「Appleが ‘_’prefixを許可しただけでなく推奨しているから、sufixからprefixに変更しよう」みたいな話し合いがされたのかな。
英語が理解できなくてどういう方向に話が進んだのかイマイチ分からないのですが、変更するという結論になったということか。

楽天の行動ターゲッティング広告を消す方法


最近いつも見ているサイトのサイドメニューにある google adsenseの広告欄に楽天の広告が表示されるようになりました。
楽天ブックスの広告のようで縦長の枠で3つの商品を紹介しているのですが、1つ目は確かに私が検索した本が表示されていたのですが、残り2つの商品はまったく身に覚えのないもので、エロ系の雑誌っぽいものとマッチョな男性がビキニパンツでポーズをとっているものの広告が出ていました。
エロ系の雑誌の方はもしかしたら何かのリンクを踏んじゃって履歴に残ってしまったのかとも思ったのですが、ビキニパンツ野郎の方はどんなやり方で私にマッチングさせたのか想像もつきません。。。

家族もいますしなるべくそんな広告は表示されないようにしたくないので、消す方法を調べました。
続きを読む

iphone 5.1 SimulatorのUIImagePickerControllerでエラー


iPhone 5.1 Simulator(not retina)でテストしていたアプリがiPhone 5.1 Simulator(retina 3.5 inch)ではエラーが出て止まってしまいました。

UIImagePickerControllerを呼び出す辺りで止まっていて、出たエラーはこのようなもの。

Named service 'com.apple.PersistentURLTranslator.Gatekeeper' not found. assetsd is down or misconfigured. Things will not work the way you expect them to

グーグルで調べたりしていたのですが、これって昔も遭遇したことがあるような。。。
iPad 5.1 simulator で UIImagePickerController が正常に動かない
これと同じ現象でした。

今回は、シミュレータを再起動してもダメで、一旦 iPhone 6.0 Simulatorを動かしてから、再び iPhone 5.1 Simulatorを動かすとエラーも出ず動いてくれました。

cocos2d-x勉強中


息子からもっと面白いゲームを作ってくれと言われ cocos2d を勉強中。
cocos2d for iPhoneをダウンロードしてきてサンプルプログラムを眺めたりウェブから情報を集めたりしていたんだけど、イマイチ効率が上がらない。
phpなんかはウェブの初心者講座的なページを見ながら勉強したんだけど、これだと基本的な事柄が理解できていないことに後から気付いたりすることがある。
どうやらウェブで新しいプログラミング言語を習得するというのは私には向いていないようだ。

そこでAmazonで探して買ったのがこちらの本。
cocos2dはどんどん開発が進んでいるようで、少し古い本だと既に情報が古くなってしまっている可能性があるので、なるべく新しい本を選んだ。
この本は2013年6月に出版されたもの。

本をパラパラめくって最初に思ったのは「作者は猫好き」。
一応一通り読み終えたんだけど説明にカラー画像が多く使われていて、説明も丁寧で分かり易い反面、全体のボリュームは少な目な印象。
初心者向けにcocos2dと一緒に使用すると便利なソフトがいくつも紹介されてて(ほぼ有料ソフトなんだけど)、そこら辺の知識もなかったので助かった。
そして cocos2d for iPhone を習得するつもりだったのだが、この本はcocos2d-xについて書かれた本だった。cocos2d for iphoneとcocos2d-xが違うものだったなんて、この本が届くまで考えもしなかった。cocos2d-xはマルチプラットフォーム向けに開発している人向けでC++なのね。
でもまぁしばらくは cocos2d-x を学んでいこうと思う。
cocos2d-xでiPhoneアプリを作るものそれほど不便でもなさそうだし、いつかandroid版のゲームを作る可能性もあるかもしれないからね。

本に最初に載っているサンプルプログラムは「さめがめ」。
名前だけは聞いたことがあったけど、こんなゲームなのかぁ。
一度に多くのコマを消すと高得点。いかにコマをまとめて消すかを考えるゲームなのね。

サポートサイトに置いてあるサンプルプログラムをそのまま動かしていても、理解したつもりになっていたがまったく身に付いていないなんてことになりそうなので、今回は本を傍らに実際に手を動かして作ってみた。

そして、、、もっとつまずくかと思ったけど、本にはコードを省略せず一から十まで細かく丁寧に説明してあるのであっさり動いた。
ただこれだけだと面白くないので、少しでも息子に遊んでもらおうと、息子が大好きなマインクラフトのキャラクターを組み込んでみた。

効果音もマインクラフトから持ってきた。
羊とスケルトンが白っぽくて見辛い。
スティーブの声は昔のバージョンの「うおっ」ってやつを採用。

息子が喜んだら背景画像とか、メニューボタンとかもminecraft風にしようかと思ってたけど、あんまり食いつかないので改造はこの辺で終了。
さぁ次のサンプルアプリにとりかかるか。

twitter埋め込みタイムラインが動作しなかった件


カイトランカーの方にtwitterへの投稿と、投稿したツイートの表示を載せようとしています。
そこでローカルのテストサイトでtwitterの埋め込みタイムラインと呼ばれるウィジェットを設定して表示させてみると、あれ?表示されない!?

Firefoxのエラーコンソールで確認すると、

uncaught exception:[Exception…”Not enough arguments” nsresult:”0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)” location:”JS frame::http://platform.twitter.com/widgets.js::z::line28″ data:no]

というようなエラーが出ている。
さっぱり意味が分からない。

悩みに悩んでしばらく放置していたのだが、今日解決しました。
どうやら使用しているFireFoxのバージョンが古かった(5.0.1)ようなのです。
他のブラウザから見ると普通に表示されていました。

そしてFireFoxを12.0にアップデートするとFireFoxでも無事に表示されました。
こんなことで悩んでいたとは。。。まぁ解決してよかった。

ItemSearch取得ページ数の上限回避策(Amazon Product Advertising API)


Amazon Product Advertising API

Amazonのアソシエイトプログラムにメンバー登録すると、Product Advertising APIを通じてAmazonデータベースから商品の情報を取得できる。
私が作ったカイトランカーというサイトでは、このProduct Advertising APIでアマゾンからゲームの新品、中古価格や買取価格を取得して、ランキング化している。

先日カイトランカーの更新ログを眺めていたら、Playstation 2のゲームの情報が更新されていないことに気付いた。
どうやら1円で売られているゲームが多すぎて、ItemSearchというリクエストの返り値が上限を超えており、うまく取得できていないようだ。
今回はItemSearchでの返り値の制限をどう回避したかをメモしておく。
続きを読む

日本語訳 iOS7 beta for Developers


iOS7 beta for Developersに書かれているiOS7での開発者向けの変更点、新機能の概要ページを日本語訳してみました。
とは言っても英語力不足と最後の方は気力も不足しており、かなりかなーり怪しい訳になっています。
間違い等コメントでご指摘いただけると助かります。
続きを読む

XIBファイルでUIViewController の見た目を作る


UIViewControllerを使いたかったのだが、載せる部品が多くなりそうだったのでコードで書くのではなくxibファイルで見た目を作成することにした。
問題はXIBを使うのが初めてで、まったくやり方が分からないこと。
よく分からないので、まずXIBファイルを作成してから.m .hファイルを作成するという手順でやっていたのだが、かなりハマって遠回りしてしまった。

今のところ分かったことをメモ。

まずは簡単に動いた方法から。
続きを読む

英語のながら勉強 podcastをテレビで視聴


最近やっている「英語のながら勉強」を紹介。

簡単に言うと、podcastの英語ビデオをテレビで流しているだけなのですが、、、。

必要なのは、パソコンとLANに繋がったDLNA対応テレビです。
テレビがDLNAに対応していなければ代わりにPlaystation3のDLNA機能でも代用できます。

やり方は、

iTunesで好みのpodcastを選ぶ

podcast

ポッドキャスト(英: Podcast)とは、インターネット上で音声や動画のデータファイルを公開する方法の1つであり、オーディオやビデオでのウェブログ(ブログ)として位置付けられている。

(ポッドキャスト – Wikipedia)
iTunesで、iTunesStoreを開くとPodcastという項目があります。
その項目を開くと、大量のオーディオ・ビデオのファイルが公開されています。
ここから好きなpodcastを選びます。

ダウンロードする

podcast2
好きなpodcastが見つかったら、必要なだけダウンロードします。
iTunesで各エピソードの右側にある矢印をクリックするとダウンロードが始まります。
私は新しい動画をどんどん見たいので大量にダウンロードしていますが、同じ動画を繰り返し見たい人は少しでいいでしょう。

PS3 Media Serverを使用

psm
こちらからPS3 Media Serverをダウンロードして起動します。
PS3 Media Server

PS3 Media Serverを使うとPCを動画サーバーにすることができ、DLNAに対応した機器でサーバー上の動画を見ることができるようになります。
WindowsでもMacでもLinuxでも使用できます。
使用方法は、以下のサイトが詳しいです。
PS3 Media Server (PMS) まとめwiki – トップページ
PS3 でPC内のメディアファイルを配信再生 PS3 Media Server v1.81.0 が公開!|DS PSP初心者用講座

あとは見るだけ

私はDLNA対応のテレビで見ています。
同じフォルダに入れた全ての動画を連続再生するオプションがあるので、その設定をONにしてずーっと動画を流しています。
Playstation3にも同じような設定があるのかは分かりませんが、個々の動画が短い場合には何度も再生ボタンを押すのは面倒なので複数の動画を結合させるなどの手段を考えなければいけないかもしれません。
私は使ったことはありませんが、以下のようなツールがあるそうです。
UniteMovie 動画(rm,mpg,avi,asf,wmv,mov,flv,3gp,3g2,mp4,m4v,amc)、音声(mp3,wma,wav,m4a)結合ツール v2.11

どんな動画が適しているのか

ted
私が今回選んだのは、
TED Talksのpodcastです。
http://itunes.com/ted

TED Talksを選んだポイント

面白い

TED Talksの動画は様々な分野の専門家の講演を録画したものなのですが、それぞれそこそこ面白いです。
例えばTEDTalksビジネス(http://feeds.feedburner.com/JapanesePodcastBusiness)の
 2012/10/01「ボディランゲージが人を作る」
 2011/11/25「アパートの菜園」
や、TEDTalksアート(http://feeds.feedburner.com/JapanesePodcastArt)の
 2012/08/18 「迫真の映像の作り方」
などはかなり面白かったです。
面白くなければ続かないので、これはかなり重要なポイントだと思います。

大量の動画が公開されていること

ずっと流していても見切れないほどの動画が公開されています。
同じ動画を何度も見て勉強する人は、この点は気にしなくてもいいでしょう。

長さがちょうどよい

それぞれの動画が5分〜20分程度の長さでまとめられています。
途中を見逃しても惜しくありません。しばらくすると別の動画が始まりますので。

日本語字幕がつけられていること

私にとってはとても重要な点です。
日本語字幕がないととても意味が分からないので、まったく面白くなくなって続かなくなってしまいますので。

しゃべり続けてくれる

TED Talksは講演会のビデオなので、とにかく英語をしゃべり続けてくれます。
さらに、みんなに聴かせるために話しているわけで、とても聞き取りやすいです。
これが例えば映画なんかだと、ドンパチしていたりカーチェイスしていたりして意外としゃべっていない時間が長いです。さらに、映画のセリフは声が小さかったりして聞き取り辛かったりします。

私もまだ始めたばかりですが、楽しいしなんとなく英語の勉強になっているような気もするし、今まで知らなかった分野の知識を仕入れることもできるしお薦めです。