Home > 仕事

仕事 Archive

【漢のダイエット】リリースしました

悩める漢のダイエットアプリ「漢のダイエット」(無料)をリリースしました。

自分が太りすぎてしまったため、文字通り苦肉の策として作成したアプリです。

開発環境にtitanium studioを使用した初めてのアプリ(というかリリースまで行ったのは初)ですが、やはり良いですねtitanium。
かなりWEBの技術に近い感じで作成できました。

本当はアプリ内課金とかやりたかったんですが、TiStoreKitが上手く動かず…
(SDKのバージョンが問題なのかなと思っています。ちなみに、1.7.2です)

マネタイズが目的のアプリではないですが、実験的にアプリ内課金などもやっていきたいので、拡張案やダメ出しをしていただけると嬉しいです。(レート5をつけて貰えるともっと嬉しいですw)

ダイエットアプリとしてはカナリ異色だし、演出も面白いと思うので是非一度触ってみてください。

iTunes storeへのリンクはこちら

CSS Nite LP, Disk 17「HTML5による電子書籍」

9月17日(土)に久しぶりのCSS Niteに参加してきました。
LP17で「HTML5による電子書籍」、LP18で「その先にあるjQuery」という内容を聞いてきたんですが、とりあえずLP17について。(LP18については後日)

Continue reading

【titanium】【TiStoreKit】モジュールを追加する方法

titaniumでモジュールを追加する際に、ちょっと手間取ったのでメモ。
ちなみに、TiStoreKitというアプリ内課金用のモジュールを設定する流れを例にします。

開発環境はtitaniumSDKのバージョン1.7.2でMacOS Xは10.6.8です。

Continue reading

【titanium】iPhoneへの実機転送が出来ないエラーについて

titanium studioでアプリをせせこましく開発し、シミュレータでもテストし、さあ実機転送だ!というところで、以下のエラーに悩まされました。

[ERROR][BEROR]Code Sign error: The identity ‘iPhone Developer: ‘ doesn’t match any valid certificate/private key pair in the default
[ERROR]
[ERROR] Error: Traceback (most recent call last):
File “/Users/watalucky(ユーザー名)/Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/builder.py”, line 1305, in main
execute_xcode(“iphoneos%s” % iphone_version,args,False)
File “/Users/watalucky(ユーザー名)/Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/builder.py”, line 1066, in execute_xcode
output = run.run(args,False,False,o)
File “/Users/watalucky(ユーザー名)/Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/run.py”, line 39, in run
sys.exit(rc)
SystemExit: 65

しかも、このエラーが出た後は何故かシミュレータでも動かなくなるという悲劇。
これ、結果だけ言うとprovisioning profileの問題でした。

iOS Provisioning Portalでprofileを作成する時に、テストだからとDistributionで作成していたのですが、これが原因だったようです。
Developmentで作成し、それをtitanium studioで再度uploadしたら実機転送できるようになりました。
(シミュレータも問題なく動くようになりました)

実はDevelopmentとDistributionの違いってよくわからないんですが、とりあえずまぁ、解決して良かった。。。
…あ、もしかしたらDevelopment用の証明書しか設定してなかったってオチもあったり・・・するかも。ま、いいや。

 

【androidSDK】【titanium】XPERIA(SO-01B)がデバイスとして認識されない問題

windows7環境でtitaniumをいじっていると稀にエミュレータ上で画像が表示されないという問題が発生します。
これについては原因はわからないのですが、どうもエミュレータ側に原因があるようです。
(リモート画像は表示される)

自分の場合、実機では問題なく表示されるため、特に問題はない(エミュレータ起動するより実機転送の方が早いw)のですが、その時にテスト機として使ったXPERIA(SO-01B)をデバイスとして認識させる時に少し詰まったのでメモ。

XPERIA(SO-01B)のドライバは本体に内蔵されているので
Xperia Android 開発環境SDKインストール: Android Xperia/X10 adb devices で認識されない 表示されない
を参考にまずはドライバをインストールしてください。

その後、titanium studioで実機転送を行うと、

[TRACE] adb devices returned 0 devices/emulators

のようにコンソールに表示され、デバイスとして認識されないことがわかります。

この状況に陥ったら、まずwindows updateを試してみてください。
SONYなんちゃらというプログラムがあったら、それをインストールすれば解決します。
(自分は面倒なので、アップデートプログラム全てをインストールしました)

【MySQL】inner joinの指定ミスによる「Not unique table/alias:」エラー

MySQLで

FROM `テーブルA`
INNER JOIN `テーブルA` ON ~~

と書いたら、Not unique table/alias: ‘テーブルA’なんていうエラーが発生しました。
ググっても、これといった解決策が見つからなかったんですが、よくよく冷静に見てみれば単にinner joinの指定をミスしているだけだったという。

正しくは、

FROM `テーブルA`
INNER JOIN `テーブルB` ON ~~

ですね。たまに、こういうアホミスで時間を取られるのを減らしたいもんです。

【drupal】作成・更新したnodeが表示されない

ユーザーテーブル周りを変更した後から作成・更新したnodeが表示されない現象が発生しました。

原因は、uidが0のユーザーを削除してしまったためでした。
このユーザーはdrupalをインストールした時点で自動的に作成されるようです。全てのフィールドにNULLまたは初期値の0が入っています。

CSVからユーザーを登録するシステムを組んでいたので 、そちら側のバグでこのユーザーが作成されてしまったと勘違いし消してしまったため、このようなことになってしまいました。

このuidが0のユーザーを削除した状態でnodeを作成するとnodeテーブルのuidフィールドに全て0が入ってしまうので、似たような現象に遭遇した場合、確認してみてください。

なお、uidが0のユーザーをDBに直接作成すれば、この問題は解決します。
その場合、既に作成・更新してしまったnodeのuidは手作業でadminユーザーのIDに変更する必要があります。

uidが0のユーザーはそれ単体は特に何に使うわけでもないのですが、今回のようにcore機能のキーになっていることがあるようです。

【drupal】ユーザー変数一覧

drupalで使用されているユーザー変数($user)の中身をprint_rで確認してみると以下のようになっている。

Continue reading

【drupal】ユーザーの追加登録画面にフィールドを追加

本当はユーザー登録画面に「signature(署名)」フィールドを追加したかったのだけど、その方法がわからなかったので代替案として、新規フィールドを追加することにしました。

その方法は簡単で、メニューから

管理セクション
∟ユーザの管理
∟プロフィール

を選ぶだけ。

(画像はgarlandテーマのものです)

【drupal】独立したPHPファイルを作る場合

プロジェクトの内容によっては独立したPHPファイルを作成する必要が出てくる場合もありえます。

例えば、ユーザー管理などを効率的に行うために直接DBを編集するスクリプトを用意したいとします。
もちろん、管理者以外は実行出来ないように。

その場合、

if( $user->uid == 1){
~~PHPスクリプト~~
}

else{
exit();
}

と書きたいわけです。

ただ、drupalとは独立したPHPファイルであるため、$user変数は使用できません。

そんな時はincludes/bootstrap.incをincludeし、drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL)と記述することによってdrupalの機能にフルアクセスすることが可能になります。

↓こんな感じのが出来るわけです。これはセキュリティの面からも非常に有効ですのでオススメです。

include_once ‘includes/bootstrap.inc’;
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

if( $user->uid == 1){
~~PHPスクリプト~~
}

else{
exit();
}

ホーム > 仕事

Search
Feeds
Meta
ad

Return to page top