忍者ブログ

Home

Born Neet

[PR]

  • 2025-02-24 (Mon)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

  • Comments (Close):
  • TrackBack (Close):

自作iPhoneアプリをiPad実機で動かすところまで

ついに出ましたね、iPad。
ぼーっとしてる間に予約をし損ねたのですっかり諦めてたんですが、
当日に入手することができました。
※ softbank wifiスポットが2年間ただで使えるんですね、知りませんでした。
 (3Gを売るためにあまり宣伝してなかった??)

どうやらかなり在庫があったようで、ビックカメラでは当日完売店舗が0だったと日経で報じられていました。

予約数をあえて制限し人気の過熱っぷりをアピールするマーケティング、さすがアップルと言ったところですか。
(日本企業なら予約者のことを考えて、とてもできなさそうです)

まだ少ししか触ってないですが、これはかなり使い易いです。
確かに機能的にはiPod Touchが大きくなっただけですが、
キーボードの打ちやすさとか、ネットの見やすさとか、大きいだけで断然違います。
これはますますPCを使う時間が減りそうだ…。

さて、そんなiPadですが、入手した自分のアプリがどう動くか気になります。
で、早速試してみたところ、iPhoneエミュレータが起動してその中で動くという残念な形に。

というわけでiPadの実機で動かすところまでをやってみました。
(iPhoneアプリを動かすところまではできてる前提にした殴り書きです。)

参考サイト

3.2 SDK導入

まずは、iPhone SDK 3.2をインストールします。
iPhone Dev Centerからどうぞ。
ダウンロード&インストールで1時間以上かかるので注意です。
インストーラは全部デフォルトのまま次に行っちゃって問題なしです。

シミュレータで動かす

Upgrade Current Target for iPad

Xcodeで既存iPhoneアプリのプロジェクトを開きます。
左ペインの「グループとファイル」から「ターゲット」を開きます。
その中にあるターゲット(プロジェクト名のもの)を右クリックして、
「現在のターゲットをiPad用にアップグレード…」をクリックするとポップアップが出てくるので、
「One Universal application」を選んで進みます。
「Resouces-iPad」グループ(中身は空)ができればOKです。

次に、メニューの「プロジェクト」→「プロジェクト設定を編集」を選びます。
Targeted Device FamilyをiPhone/iPadに変えておきます。

これで下準備はOKです。

Create iPad Version

次にiPad用のリソースを作り、シミュレータで動かします。

「Resouces」の「MainWindow.xib」をダブルクリックで開きます。
開いたInterface Builderのメニューから、
「File」→「Create iPad Version Using Autosizing Masks」を選択します。

すると、iPad用の画面が出てくるので、保存します。
場所はプロジェクトの「Resouces-iPad」内に、名前は「MainWindow-iPad.xib」で良いです。
※ このファイル名は「*-info.plist」の「Main nib file base name (iPad)」で指定する必要がありますが、
 デフォルトで上記の名前になっています。

保存を押すとポップアップが出てくるので、プロジェクト名のターゲットをチェックしてAddします。

「*ViewController.xib」も同じ手順で「-iPad」付きのファイルを作ります。

こうすると、「グループとファイル」の中に「-iPad」付きの.xibファイルができるので、
「Resouces-iPad」にドラッグ&ドロップします。

最後に「MainWindow-iPad.xib」を開き、
「Attributes」の「NIB Name」を「-iPad」付きのControllerに変更します。

これで、「Simulator - 3.2 | Debug」等で実行すればiPadシミュレータで動くはずです。
※ 部品の大きさなどは調整する必要が有ります。

実機で動かす

iPhone Provisioning Portalの左メニューから「Devices」を選択します。
「Add Devices」を選択して、左列の名前は適当に(iPad等)、右列のDevice IDには、
iPadを繋いで、「Xcode」→「ウィンドウ」→「オーガナイザ」から表示される「identifier」をコピペします。

次に、左メニューから「Provisioning」を選択します。
iPhoneアプリ用に既に作っているものを使いまわす為、
「Edit」→「Modify」を選びます。そして「Devices」を「Select All」してsubmitします。

するとPending状態になるので、画面を更新しActiveにし、downloadします。

先程開いた「オーガナイザ」でiPadを選択し、「Use for development」をクリックすると出てくる、
「Provisioning」にダウンロードしたファイルをドラッグ&ドロップします。
「プロジェクト設定を編集」から「コード署名ID」も今ダウンロードしたものに変更します。

そして、「Device - 3.2 | Debug」等で動かせば…

動きました!!


まとめ


とりあえず実機テストまでは行けました。

このままApp Storeに申請…といきたいところなのですが、
どうやらiPadアプリはportrait/landscape両対応が必須らしいので、
頑張りたいと思います。

PR

ruby1.9をcoreserverとmacのホームディレクトリにインストール

  • 2010-05-24 (Mon)
  • Ruby

久々のブログ。
大したネタはないけど、たまには書かないと文章の書き方忘れちゃいそうなので。

ということで、rubyに関するちょっとしたメモ。

開発環境であるmacと本番環境であるcoreserverを統一したくて、
rubygemsをホームディレクトリに入れようとするも失敗。

諦めかけたけど、1.9にはgemが同梱されているということで、
いっそのこと1.9をインストールしちゃえばいいんじゃないかとやってみた。

結果、すんなりうまく行ったので手順を残しておく。

参考

Ruby1.8系とRuby1.9系を共存させてみる。 - 名もないテクノ手

手順

# 作業ディレクトリの作成
mkdir src
cd src

# ダウンロード・展開
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p378.tar.gz
tar zxf ruby-1.9.1-p378.tar.gz
cd ruby-1.9.1-p378

# パス設定
vim .profile
export PATH=$HOME/local/bin:$PATH
:wq
source .profile

# coreserverは.bashrcで
vim .bashrc
source .bashrc

# インストール
# 場所は~/local以下、コマンド名はruby19(gemはgem19)
./configure --prefix=$HOME/local --program-suffix=19
make
make install

# coreserverでは以下のエラーが出た
make[1]: Entering directory `/virtual/core/src/ruby-1.9.1-p378/ext/dl'
gcc -I. -I../../.ext/include/i686-linux -I../.././include -I../.././ext/dl -DRUBY_EXTCONF_H=\"extconf.h\"  -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -fno-defer-pop -fno-omit-frame-pointer  -o callback-4.o -c callback-4.c
gcc: Internal error: Killed (program cc1)
Please submit a full bug report.
See  for instructions.
make[1]: *** [callback-4.o] Error 1
make[1]: Leaving directory `/virtual/core/src/ruby-1.9.1-p378/ext/dl'
make: *** [mkmain.sh] Error 1

# 手動で失敗したコマンドを叩いた後、makeすれば通った
cd /virtual/core/src/ruby-1.9.1-p378/ext/dl
gcc -I. -I../../.ext/include/i686-linux -I../.././include -I../.././ext/dl -DRUBY_EXTCONF_H=\"extconf.h\"  -D_FILE_OFFSET_BITS=64  -fPIC  -O2 -g -Wall -Wno-parentheses -fno-defer-pop -fno-omit-frame-pointer  -o callback-4.o -c callback-4.c
make

# インストール確認
ruby19 -v
gem19 -v

~/.profile, ~/.bashrcとmakeでこけるとこ以外は、mac, coreserver共通でいけました。
貴重な日曜日のかなりの時間を費やしたのに、1.9ならこんなにすんなりいけるとは。
やっぱ言語に標準で組み込まれているってのはいいですねー。

rubyでCMS(blogツール)を作ってみようかと思う

  • 2010-05-06 (Thu)
  • Ruby

ようやく本腰をいれてサーバサイドスクリプト(ruby)を勉強しています。

で、レベルアップのためにはオープンソースのコード読むのがいいかな、
と思ってCMSを漁ってみました。(CMSとかWikiクローンとか昔から好きなんです)

興味を持ったのは以下のもの。

  • sakura
    かなり古いblosxomクローン
  • lily
    こちらもかなり前のblosxomクローン
    昔聞いたことがあるし、わりと有名だったはず。
  • The Bilbo Diary
    2009年製、新しい。1.8.7、1.9対応。DB不要。
    コンセプトは大好きだけどSinatraにコミットする気にまだなれないんだよなぁ。
  • stream-of-consciousness
    2010年製。生のRubyで1ファイル。1.8.7&1.91対応でDB不要。
    これはかなり好き。名前長いけど。
  • bliki
    これもいいんだけど、Sinatraベース。
    rubyをある程度マスターした後、フレームワークを手を出す時には是非パクリたい。

触るとしたらStream of consciousnesかなー。
ただある程度ソースいじらないと動かなかったんだよなぁ。

なんていろいろ悩んでたんだけど…だったら「自分で作ればいいじゃん!」
という結論にいたった。

そんで躓くことがあったらオープンソースを参考にすればいいと。

ってことでまずはコンセプト(?)を殴り書き。

  • cgi 1ファイル構成。置くだけで使える。
    ただ、設定ファイルは別ファイルで。
  • storageはまずファイル。日付はtimestampで。
    ゆくゆくはSQLiteに対応したい?
  • 記事はFTPアップじゃなく、GUIで。
    ただWYSIWYGは絶対やらん。
  • installが必要なライブラリは極力使用しない
  • テンプレートはVicunaベースで。
    ただ変更できるようにもしたい。
  • blogdataを置くディレクトリがなければ勝手に作る。
  • コメント機能ぐらいはつけたいなー(Twitter or はてぶで代替?)

カテゴリをどうやって管理するかがぱっと考えた感じ大変そう…。
※ ディレクトリで分けちゃうと、全記事を日付で取得するとき面倒?
  Dir.glob('*/.html')とか??

そんな感じでプロトタイプがこちら。
名前はLiary(Lightweight Diary)で決まり。
※ リンク先がlocalhostになってたので直しました。(2010/05/16 13:42)

Liary Test

まだ、「?p=ページ番号」で記事を表示する機能だけ。

よし、やるぞー!

「開発コンテスト XX」公開!

  • 2010-05-04 (Tue)
  • Ruby

一部の人達の間ではかなり評判だった「開発コンテスト 24」
非常に面白い試みで、毎週どこかでこんなコンテストが行われていれば、
この日本からでもイノベーションが生まれるんじゃないか、という気さえしました。

僕と同じく影響されまくった人達の為に、コンテスト開催サービスを作ってみました。

開発コンテスト「XX」

例えば、このサービスで#24contestをやるとこうなります。

朝起きてから学校や会社に行くまでの時間をより便利にするためには- 開発コンテスト「XX」

コンテストへの参加で浮き彫りになったサーバサイドスクリプトが書けないという弱点を克服すべく、
Rubyで書きました。
※ なんとか24時間以内でできましたが、(事前の勉強時間を除く)
 やっぱりレンタルサーバ対応とか、DBとか大変ですね…。

勉強の為にRailsは使用せず、生のCGI,SQLを叩いています。

また、とりあえずβ版ということでユーザ登録とかは実装してませんが、
必要そうであればOpenIDぐらいには対応したいです。

…というわけで、皆さん是非使ってみて下さい!

さて、早くも直したいとこだらけだなー。
もっと勉強しなきゃ!

開発コンテスト24に参加して落選した

  • 2010-04-26 (Mon)
  • Web

エンジニア向け「開発コンテスト 24」開催 | クックパッド株式会社
に参加しました。

結果は…落選でした。完敗です。

応募作品

乗車両案内(東京メトロ版)


メトロの「のりかえ・出口案内」に誘導するだけのリンク集です。
作品としてはあまりにもひどいですが、便利な人には便利かもしれません。

collects - COLor seLECT canvaS


服のカラーコーディネートをポチポチと選べます。
え?見た目?CanvasのlineTo()で地道に書いたので^^
決してセンスがないわけじゃありません。

反省

  1. 金曜日の夜寝てしまった(!)
    さらにいつも通り昼ごろまで起きなかったという失態。
  2. 自由に操れるサーバサイド言語がない。
    前々から漠然と思っていたけど今回痛感した。Ruby頑張ろう。
  3. ライバル達の気合いをなめていた。
    これにつきますね、うん。

まとめ

何はともあれとても楽しかったです。
クックパッドの皆さん、参加者の皆さん、ありがとうございました!

Home

Search
Loading
Feeds
Links
スポンサードリンク

Page Top