タグ

ブックマーク / selfkleptomaniac.org (12)

  • Selfkleptomaniac — SwiftとTitanium

    Objective-Cと並んでiOS用アプリの開発に利用できる言語、Swiftが発表されました。私たち歌と踊りが大好きな陽気で愉快なTitaniumユーザーとしても注目すべきニュースです。 Titaniumとは、ご存知の通り、アプリの上にJavaScript実行環境を用意して、JavaScriptを通じてアプリを実際に動かすネイティブのAPIを叩いてしまうツールです、というとわかりにくいですが、ようするにネイティブのAPIで動作するアプリがJavaScriptで書けてしまう素敵なツールです。インストールガイドを辿るくらいの手間をかけるだけで簡単にセットアップできる上に、Node.jsなどモダンなJavaScriptの知識を活かして大規模なプログラムを作成することも可能です。ややこしい設定もなくiOSやAndroidなどに対応し、慣れたユーザーなら複数のプラットフォームで動作するアプリを短期

  • Selfkleptomaniac — Titanium + VMware(Android x86)でAndroidアプリ開発

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key そう、さっきのエントリを読んでお気づきの方もいらっしゃるでしょうが、実はほぼ同じやり方でVMware上のAndroid x86を動作させることも可能です。インストールについてはこちらの記事なんかが参考になるでしょうか。ネットワークの設定はブリッジで追加のデバイスとすれば $ adb connect 192.168.1.5 #VMware上のAndroidIPアドレス(例) $ adb devices List of devices attached emulator-5554 device 192.168.1.5:5555 device こんな感じで認識します。CLIからのビルドとインストールはこんな感じ(デバイスの指定は

  • Selfkleptomaniac — Titanium Mobile Meetup Tokyo

    参加してきました。初めて行く場所なので案の定迷って遅刻しましたが、プレゼンかましてきたのでこちらにも晒します。フォントが置き換わってしまうのは仕方がないんですが、実際のやつの方は音も出てました。 というわけで、ちょっと日語のリソースをちゃんと集めないといけないなと思ったので、言い出しっぺとして出来ることからやっていくことにします。いきなり挑発に乗ってdoc-jaの@donayamaさんがGithubにドキュメントをドンと公開されたので、まずはそれを見直していこうかなと思います。またサーバも@ryugoo_さんにご提案頂いたので申し込みしてみました。その際、団体の名称が必要だったので「死ね死ね団Titanium Mobileユーザー会」という無難な名前でとりあえず出しました。 VPSの申請が通ったら(通らなかったらHerokuとかでやる)、とりあえずウェブサイトを用意します。ソースはGit

  • Selfkleptomaniac — Android 4でPicker(Titanium.UI.PICKER_TYPE_TIME)

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key またまたAndroid BK通信です。 Titanium Mobileは正式にはAndroid 4に対応していません。しかし、Androidもさすがにアホじゃないので下位互換性はほぼ保たれているため、ほとんどの場合は問題なく動作します。 という書き方をすればお気付きかもしれませんが、当然動かない場合もあります。今日はそのような問題のひとつ、Pickerについて報告します。 Android 4からTimerPicker.javaにupdateInputStateという関数が追加されています。Titanium MobileでcreatePickerした際にtypeプロパティをTitanium.UI.PICKER_TYPE_TIM

  • Selfkleptomaniac — Android開発でハマッたところを徒然なるままに

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key imageプロパティのパスがおかしい imageViewとかのimageプロパティはiOSと違って「/path/to/image.png」みたいに先頭をスラッシュにしてあげないと何も表示されない。ただしbackgroundImageは「path/to/image.png」で通じる。 難易度:1 Android 4には対応していない ドキュメントにあるように、Titanium Mobileは1.8.2時点ではまだAndroid 4には対応していない。意味不明のエラーになることがある。例えばcreatePickerでtypeプロパティにTitanium.UI.PICKER_TYPE_TIMEを指定すると落ちる。 難易度:2 Ac

  • Selfkleptomaniac — AndroidのDistribute用ビルドでコンパイルエラー

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key Titanium MobileでAndroidアプリを作成し、実機テストも終わってさあいよいよだとDistribute用ビルドを作成したときのこと。1.8にはJSファイルを読めないようにコンパイルする処理があります。Distribute用ビルド以外はこのコンパイル作業は実行されないのですが、実機での動作確認まで終わった開発用のビルドでは問題なかったソースコードがこのコンパイル時にエラーでビルドに失敗するではありませんか。いくつかのエラーは、例えば同じプロパティが複数回同時に宣言されているだとか、エラーメッセージを読めばわかるものだったのですが、最後に残ったエラーはただの例外でしかないので何が起きているのかさっぱりわかりません

  • Selfkleptomaniac — Titanium MobileのGeocodingで日本語を扱う

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key Titanium Mobileにも住所から緯度経度を取得(Geocoding)したり、その逆に緯度経度から住所番地を取得(Reverse Geocoding)する機能があります。しかし日語やその他言語でローカライズされた住所を扱うことができません。 これはGeocodingのプロバイダにGoogleなど他のサービスを利用すれば解決できます。割と簡単にできるのでさくっとコードを書いていたのですが、@k0sukeyさんがcommonJSのモジュールにしてくれていますので紹介します。使い方は簡単、READMEにある通りです。 引数のlanguageプロパティで戻り値の言語を設定できます。Google MapsのAPIなのでサポー

  • Selfkleptomaniac — Titaniumもvimで

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key vimで作業する方が何かと楽なので、Titaniumでも基的にはターミナル上で作業しています。その際、エミュレータ上で動かすのにいちいちあちこちをクリックしたくないので、/usr/loca/bin/tiとして下のようなものを置いています。 #!/usr/bin/env ruby android_sdk = " #{ENV['HOME']}/android-sdk" sdk = ARGV[2] if ARGV[2] sdk = Dir.entries("/Library/Application Support/Titanium/mobilesdk/osx/").sort.last unless ARGV[2] platfor

  • Selfkleptomaniac — Titanium MobileではAnalyticsを切っておきましょう

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key 2年前の記事ですが、AppStoreのトップ無料や人気上位のアプリの68%がUDID(Universal Device Identifier)を送信しているという報告がありました(関連の日語記事)。 利用状況などを収集してアプリの改善に利用するのはよくあることだとは思います。行動分析のためにデータを収集する場合、端末の識別のために何らかのIDが必要となるわけですが、スマートフォンでは最も簡単に利用できるのがこのUDIDです。このようなIDは以前から日の携帯電話のサービスプロバイダでは広く利用されており、中にはウェブサービスの認証にまで使われているケースもありましたので、ある意味われわれにとっては非常に身近なものでもありま

  • Selfkleptomaniac — どうしてTitanium Mobileなの?

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key ウェブ開発者がiOSやAndroid向けアプリを作ろうと思い立った場合、今なら大きく分けて2つの選択肢があります。ひとつは他の人たちと同じようにObjective-CやJavaで素直にアプリを作ることです。まあ、当たり前ですね。もうひとつの方は、PhoneGapやTitanium Mobileのようなサードパーティーのツールを利用してJavascriptなどウェブ開発者の慣れ親しんだ言語で開発するやり方です。それぞれ一長一短があります。先のやり方では、ネイティブな開発用言語だけあって全ての機能を最大限に活かすことができます。AppleGoogleも最大限の開発支援を提供してくれることでしょう。しかし、Objective-C

    vaccho
    vaccho 2012/01/28
  • Selfkleptomaniac — 【Titanium Advent Calendar 2011:18日目】Titanium MobileでAndroid

    そこで、リリースの際はTitanium Mobileのソースコードに手を入れて、直接動画プレーヤが起動するように変更して対応していたのですが、その後モジュールが書けることがわかったので、今ではMIMEタイプを渡すと適当なIntentが起動するこちらのモジュールを使って回避しています。とっても簡単なものなので、PDFビューワなどにも応用できると思います。 いずれにせよ、Android案件ではこんな苦労はしょっちゅうです。また、特に困るのがUI設計の問題です。例えばiOSでは上の画像みたいにナビゲーションバーが表示されて、その左側には何もしなくても戻るボタンがあり、また必要に応じて画面下部にタブを表示する、みたいな画面設計になるのが一般的なのですが、Androidだとナビゲーションバーというものは存在せず、タブも画面上部に並んでしまうので、どう転んでもiOSと同じものにはなりません。Andro

  • Selfkleptomaniac — Titaniumでリジェクト・iCloud関連

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key Titanium Mobileで作ったアプリがリジェクトされたので記念に。 今回リジェクトされた理由は、iCloud対応でデータの格納場所が厳密に定められ、チェック内容が変更になったからです。これからのアプリは生成されたデータを格納する際には以下のルールに従う必要があります。 (1) アプリが再生成できないファイルは/Documentsに保存 例えば、メモ帳アプリでユーザが書いたメモなんかはこちらに保存しないといけません。iCloudで自動的にバックアップされます。 (2) 再生成可能なファイルは/Library/Cachesに データベースのキャッシュも含む、とありますが、ダウンロードされたファイルなどもここに置くのが正し

  • 1