2010/11/16

iphone iosをダウングレード

iphone 3Gにうっかりios4を入れて電話としての機能が調子悪くなったのでios3にダウンする事にした。ios4.1にすれば重たい状態がなくなるかと思いアップグレードしたが、ios4.0よりは軽く動くようになったものの電話としての機能が最低レベルに。

電話がかけられない、電波状態が良いのに電話が取れないなど。
あとSMSメッセージがたまに送れないなど。

まずする事は

iPhone OS 3.1.3 のファームウェアを探す


mac上のファームウェアの在処は「/ユーザー/ライブラリ/iTunes/iPhone Software Updates」のフォルダの中に、「iPhone1,2_3.1.3_7E18_Restore.ipsw」とか「iPhone1,1_3.1.3_7E18_Restore.ipsw」があるはず。
自分の場合は3GなのでこいつをDL!
3.1.3 (3G): iPhone1,2_3.1.3_7E18_Restore.ipsw

無ければiClarified - iPhone - Where To Download iPhone Firmware Files Fromにリリースされた iPhoneのすべてのファームウェアがあるので、そこからダウンロードする。
*ダウンロードするファイルに機種(3Gか3GS)の種類があるので間違えないように。

ついでにRecBootもダウンロードしておきます。iPhone OS 3.1.3にダウングレード後、
最後の起動の時に使います。

iPhoneをDFUモードにする


ファームウエアとRecBootを用意したらiPhoneをDFUモードに。
  • iPhoneをmacに接続する
  • スリープ/ロックボタンを数秒押して、iponeの電源を切る
  • スリープ/ロックボタンとホームボタン両方を10秒ほど押す
  • スリープ/ロックボタンから指を離し、ホームボタンだけそのまま押し続ける


「iTunesはリカバリモードのiPhoneを見つけました。」
というメッセージが表示されれば成功です。

表示されない場合は、接続するところからからやり直し。
※DFUモードに入ってるiPhoneを元に戻すには、
スリープ/ロックボタンとホームボタンの両方をしばらく押すと解除されます

iPhone OS 3.1.3にダウングレードする


復元しますか?みたいなメッセージのOKボタンをクリックし、
iTunesの「デバイス」の下にあるiPhoneを選択。
そして、alt/optionキーを押しながら復元ボタンをクリック
*alt/optionキーを押していないと普通にios4のソフトに復元される。

ituneのバージョンが古いと復元する際に『出来ません』となるので
ituneは最新版にアップデートしておきます。



復元が終わったら、エラーメッセージ(error 1015)が表示され(error 1015)、
iPhoneが「iTunesと接続」というスクリーンを表示して、立ち上がる。

ここでRecBootを使う


DLしたRecBootを開くと、2種類のappがあるので Exit Recovery Modeをクリックすると、
数秒でダウングレードした『3.1.3』で、iPhoneが立ち上がる。

これで工場出荷時の状態に戻ったので、あとはデータのバックアップからの復元
ios4以前のバックアップを探してバックアップ。無ければちーん。

詳しくはライフハッカーのページを参照のこと。

2010/10/21

IO Error アップローダー

先日テストしたアップローダー、ぐんぐんアップロード出来ていたはずが、
組み込みに使う為にセッティングを変えてテストしようとするとアップロードできない。
その時4つほど作ったけどどれも同じ反応。

1. アップロードできた風だがフォルダにデータは上がっていない。
2. もしくはキュー状態のまま。
3. とにかく即IO ERRORを返してくる。

フォルダのパーミッションか?変えてみたが効果なし。
それともサーバー側で拒否の呪文を入れられているか?

htaccessでの呪文。あまり入れたくないけど。

SecFilterEngine Off
SecFilterScanPOST Off


書き換えようとした際に思い出した!
いろいろアップロードされると困るので、
上層ディレクトリからhtaccessでBASIC認証入れてた!

解除したら元のように動いた。

2010/10/19

Rails環境をMAMPのhtdocs以下に作成

sampleというフォルダを作ってこれをRailsのフォルダとします。
MAMP以下に指定するばやい。長いけど忘れないように全て書いておきます。

$ rails new /Applications/MAMP/htdocs/sample
create
create README
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/views/layouts/application.html.erb
create app/mailers
create app/models
create config
create config/routes.rb
create config/application.rb
create config/environment.rb
create config/environments
create config/environments/development.rb
create config/environments/production.rb
create config/environments/test.rb
create config/initializers
create config/initializers/backtrace_silencers.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/secret_token.rb
create config/initializers/session_store.rb
create config/locales
create config/locales/en.yml
create config/boot.rb
create config/database.yml
create db
create db/seeds.rb
create doc
create doc/README_FOR_APP
create lib
create lib/tasks
create lib/tasks/.gitkeep
create log
create log/server.log
create log/production.log
create log/development.log
create log/test.log
create public
create public/404.html
create public/422.html
create public/500.html
create public/favicon.ico
create public/index.html
create public/robots.txt
create public/images
create public/images/rails.png
create public/stylesheets
create public/stylesheets/.gitkeep
create public/javascripts
create public/javascripts/application.js
create public/javascripts/controls.js
create public/javascripts/dragdrop.js
create public/javascripts/effects.js
create public/javascripts/prototype.js
create public/javascripts/rails.js
create script
create script/rails
create test
create test/performance/browsing_test.rb
create test/test_helper.rb
create test/fixtures
create test/functional
create test/integration
create test/unit
create tmp
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create vendor/plugins
create vendor/plugins/.gitkeep
で作成されました。

Ruby on Rails に必要

インストールしたサーバーが10.4(Tiger)なので、付属するXCodeのバージョンは2.1
Rubyのgemsをインストールする際に警告される。

Warning: The installed version of Xcode (2.1) is known to cause problems. Version 2.5 or later is recommended on Mac OS X 10.4.

そのままインストールは続行されるが途中zlibの解凍作業でエラーが出る。
On Mac OS X 10.4, zlib 1.2.5 requires Xcode 2.4.1 or later but you have Xcode 2.1.
Error: Target org.macports.extract returned: incompatible Xcode version
Log for zlib is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_archivers_zlib/main.log
Error: The following dependencies failed to build: ruby openssl zlib readline
Error: Status 1 encountered during processing.
To report a bug, see

結局のところXcode2.5以上のバージョンを用意せよとのこと。
アップルのデブ専に行ってみるしか無い。

あった!
Apple Developer の Downloads & ADC Program Assets
以下の developer toolsのページ。
コマンドFで 『Xcode』を探すと
Xcode 2.5 Developer Tools

Xcode 2.5 is an update release of Xcode developer tools, providing bug fixes over Xcode 2.4.1. Xcode 2.5 can be installed on Tiger (Mac OS X 10.4) or on Leopard (Mac OS X 10.5). Xcode 2.5 may be used on Leopard along side the Xcode 3.0 tools, providing a smoother migration path to Leopard for those projects not immediately ready to move to the Xcode 3 tools. See the release notes for Leopard support details and related packaging changes.
Download Name File Size Date Posted
Xcode 2.5 - Release Notes (PDF) 222 KB 02 Nov 2007
Xcode 2.5 Developer Tools (Disk Image) 902.9 MB 30 Oct 2007

発見。3.0よりも後に出ている。
Xcode3.0は10.5のインテル用なので無視。

Mac OS 10.4にRuby on Rail

まずはMacPortを入手。
これは開発に必要なパッケージをインストールするのに便利なモノ。
必要なバージョンはこちらから探して入手=>Mac Port

.dmgでパッケージが出てくるのでインストール。
インストールしたら、最新版にアップデート。
ターミナルからアップデートのコマンドをウツ。
$ sudo port -v selfupdate

インストール後、以下のコマンドを入力して
$ echo $PATH
『/opt/local/bin』が行頭に入っていれば成功。
/opt/local 以下にインストールしたパッケージが格納されます。

次にRubyGemのインストール
Rubyのライブラリを管理する便利なツールです。
先ほどインストールしたMacPortを利用してインストール。
$ sudo port install rb-rubygems

Tigerに標準装備のRubyは古いバージョンなので
以下のコマンドで最新バージョンになっているか確認。
$ ruby -v

RubyGemsが入ったので、あとはRailsのインストール。
Gemコマンドを使ってインストール。
$ sudo gem install rails --include-dependencies

以上でRailsのインストールは完了。

2010/10/17

MAMPの設定

あまり使わないローカルサーバーの設定。
使いたいときにアクセスすると、スタートページにはこんな表示。
Error: Could not connect to MySQL server!

MySqlと接続できていないとのことなので、設定ファイルを確認。
場所は以下の通りで、『$link = @mysql_connect』の行を探す。
/Applications/MAMP/bin/mamp/index.php

ルートパスワードを設定していないと駄目なので、先にそちらを設定して
設定したパスワードをこちらに入力してホゾン。
修正前
$link = @mysql_connect(':/Applications/MAMP/tmp/mysql/mysql.sock', 'root', 'root');

修正後
$link = @mysql_connect(':/Applications/MAMP/tmp/mysql/mysql.sock', 'root', 'パスワード');

関連するデータベースユーティリティーにも同じ設定をする。
/Applications/MAMP/bin/phpMyAdmin/config.inc.php

修正前
$cfg['Servers'][$i]['password'] = 'root';

修正後
$cfg['Servers'][$i]['password'] = 'パスワード';

これでMAMP再起動してつながればオッケ。

2010/07/27

htmlメール作成

個人的には無くてよいと思ってる。
しかし要求される事が比較的多いので、注意点を纏めておく。

  1. 文字コードはiso-2022-jpで作成する(メールの文字コードはiso-2022-jp)
  2. HTML 4.01 Transitionalで書く
  3. テーブルレイアウトで作成する
  4. デザイン幅は800px以下
  5. cssはインラインで書く(内部外部問わずJavaScriptなどは使わない方が良い)
  6. センタリングは、tableの入れ子で寄せる
  7. イメージはすべて絶対アドレス(http://~)で指定する
  8. <base></base>の指定を行う

で、ページを作ったらsafariでそのページを見てメールで送信