iphone

Provisioning更新

開発用のProvisioningProfileの有効期限のアラートが少し前から出ていたんだけど実害ないからと放置していたわけですが、いざアプリの更新作業が発生して手続きを行う事に。通常ならRenewボタン押して再ダウンロード、Profileの上書きで対応できるはずだった…

アプリからUstreamを開く

アプリの中のボタンなどから直接Ustreamアプリで番組を再生する方向で調べていたんだけど、結局、チャンネルのページを標準ブラウザで開くのが一番簡単でわかりやすい(そしてUstreamアプリ未インストールユーザーにも優しい)ということがわかった。http://…

Ustreamアプリの直接呼び出し

通常、UstreamのチャンネルURLのリンクを呼んだだけでは、AndroidもiPhoneもUstreamアプリは反応せず、普通にブラウザでUstreamのチャンネルページが開く。アプリ内からUstreamの生放送の再生画面へ直接移行するための調査をしていたところ、下記のURLをブラ…

safariの位置情報

WebアプリでgeolocationAPIを使用すると、たいていのブラウザでは確認のダイアログが表示され、ユーザーが許可すると位置情報が利用できる。 PCのブラウザやAndroidの標準ブラウザなどでは許可の際に「保存/記憶する」的な機能があり、一度許可したドメイン…

twitter_api.jsに悩まされる(続)

先日同タイトルで書いてた問題について、どうやら解決できた感じ。いろいろな場所で「http://」を「https://」にすれば解決、と言われていて、this.account_verify_credentials の部分は自分もhttps化していたんだけど、肝心な statuses_update をhttps化し…

twitter_api.jsに悩まされる

アプリにツイッターへの投稿機能を埋め込んでいるが、認証失敗になってツイートできない現象が発生。 調べまわったところ、同じ症状の人達がいるらしい。Twitter API statuses/update.jsonでツイートできない場合の注意点上記ブログや各所BBSの記事を参考に…

APNs-PHPを試す

各所の説明を読み、zipをダウンロードし、必要なca関連ファイルも用意したものの、いざ送信しようとするとAbstract.phpの348行目のソケットオープンに失敗。 既に検証済みのサンプルコードと見比べていたら、SSL周りの設定を埋め込む$streamContextに原因が…

APNsのテスト

Titaniumでサクッと作ったアプリを使い、特定ターゲットに通知送るだけの単純なテストをやってみた。 デバイストークンの管理がなければ、通知自体は簡単。実装はほとんどWeb上のサンプルコードのコピペだけだったが、あっけなく動いてくれた。一点だけ引っ…

アプリへのプッシュ通知機能の下調べ中

iOSにはAppleのAPNs(Apple Push Notification Service)、AndroidにはgoogleのC2DM(Android Cloud to Device Messaging)という機能がそれぞれ準備されている。名前や実装、手続きは異なるものの、概念的には全く同じといっていい仕組みになっている。要は、 …

突然出現するSystemExit: 65

Titaniumアプリに純正admobモジュールを追加する作業をしていたら、突然こちらとまったく同じエラーが発生。ハッとして探してみたところ、「新規テキストドキュメント.txt」が。 おまえか!もうそろそろ2バイト文字に対応してくれないかなぁ・・・。 まあ、…

Titaniumのモジュール組み込みは丁寧に

アプリ内項目モジュールを作って組み込み中、AndroidとiPhoneの両方でビルドしていたら見慣れないエラーが発生。 調べてみたら、tiapp.xmlへのモジュール記述に問題があったみたい。まさにこちらと同じ状況だった。 Titanium mobile へのモジュールの読み込…

TitaniumのRunConfigurationsでProjectが選べない

Browseボタンを押しても何も反応がない。 1.7.3を導入してからのような気もするが、正確なタイミングは把握していない。少なくとも1.7.2でモリモリ作業してた時点では特に問題が起きた記憶はない。コーディングは行えるけど、新規プロジェクトのデバッガが設…

Titaniumでのリソース配置についてのメモ

TitaniumでiPhone版アプリを作る場合、retina用に倍の解像度の画像を準備して使用する。hiresフラグを立てておけば、retina機で高解像度で表示(非retina機では半分の解像度に縮小表示)される。Androidの場合、複数の解像度(ldpi/mdpi/hdpi)毎の画像を準…

画面Viewのスクショを画像として取得する

Titaniumは画像を直接加工するAPIが無い代わりに、各主要な画面パーツにtoImage()という、見たままを画像に取り込む機能がある。 実際にどういう風になるか確認してみた。viewに背景画像を指定し、その上に文字をlabelで配置。 iPhoneの場合は、viewを生成し…

スマホアプリとメニューボタン

アプリの画面や動きを考えていたが、iPhoneとAndroidではそもそものベースが異なるので、全く同じ画面で制作するのは辞めておいたほうがいい気がしてきた。iPhoneはハードキーがホームボタンしか用意されておらず(ボリュームやスリープボタンはアプリ操作で…

Titaniumからメールを送らせる時

ボタンイベントで Ti.UI.createEmailDialog してメール送信画面を開くことは問題なくできるんだけど、送信をキャンセルしたとき、本来なら「下書きを削除」「下書きを保存」「キャンセル」の3択ボタンがでるのだけど、そこが英語になってしまう。「Delete D…

iOSの動画再生イベントについて

自分用メモ的な何か。creativeMoviePlayerで生成したプレイヤーの、再生時イベント。 あくまでも動作をモニタしながら類推したもの。どこかに公式ドキュメントはあると思うけど。「playbackState」イベント e.playbackState = 0 :再生前、もしくは再生終了…

WebViewのインジケータ

WebViewを生成する際、width:300, height:200 などと実数指定していたら、初回ページ読み込み時のインジケータ(くるくる回るアレ)が左上の隅っこに表示されてかっこわるい感じに。くるくるの中央がWebViewの(0,0)に相当する位置に固定され、くるくるの右下…