タグ別アーカイブ: iPod touch

iPhoneアプリのメニュー・ラベルの文字列を変更する方法

iPhoneアプリでメニューのラベル文字列を変更したいと思ったことはないでしょうか?たとえば、ツイッター・クライアントの1つである”Twittelator”ではタイムラインのことを英語で”Friends”、日本語で”フレンド”と表記していますが、個人的には違和感があります。これを”タイムライン”と修正することができます。

注意喚起情報
この方法はいわゆる脱獄(JailBreak)は不要ですが、操作方法を誤ると当該アプリのデータまたは設定内容が失われる可能性がありますので注意してください。
脱獄と違ってシステム領域には影響しないので文鎮化することはまずないでしょう。

始める前に母艦に準備するソフトウェア
iPhone Explorer(フリーウェア)を http://www.macroplant.com/iphoneexplorer/ からダウンロードし母艦にインストールします。

Property List Editorをインストールします。TwittelatorのLocalizable.stringsはバイナリフォーマットのためテキストエディタだと編集できませんので専用エディタが必要になります。テキストエディタで編集できる場合もありますが、plistを修正する場合はこの専用エディタを使った方がよいでしょう。

Mac版 – Apple: PlistEdit Pro 1.5
Windows版 – plist Editor for Windows (Freeware)

  1. iPhoneを母艦に接続します
    iPod touch、iPadでは確認していませんが同じ方法で変更できると思います。

  2. iPhoneからLocalizable.stringsを母艦側にコピーします
    iPhone Explorerを起動し、Apps>Twittelator.app>Japanese.lprojから”Localizable.strings”をドラッグ&ドロップで母艦にコピーします。iPhone側のLocalizable.stringsはファイル名を変更し、”Localizable_org.strings”のように元に戻せるようにバックアップを置いておきます。

  3. Property List Editorで編集します
    母艦にコピーした”Localizable.strings”を開きます。ファイルの拡張子は”.strings”ですが中身はplistと同じなのでそのままで問題ありません。Win版もMac版のいずれのProperty List Editorも検索機能を実装しているので、変更したい文字列を簡単に探すことができます。今回の例では「フレンド」という文字列で検索し「タイムライン」に変更し、保存します。

    MacのProperty List Editor

    Windows7のProperty List Editor

  4. iPhone ExplorerでiPhone側に戻します
    母艦で編集した”Localizable.strings”をiPhone Explorerを使ってiPhone側の同じ場所に戻します。

  5. アプリを起動します
    修正が反映されていない場合は、iOSのマルチタスキング機能によりバックグラウンドでサスペンド状態になっている可能性がありますので、プルプル削除で完全に終了させてからアプリを起動します。

    修正前

    修正後

    デフォルト状態への復元する場合は…
    iPhone Explorerを使って、該当するアプリの”Localizable.strings”を削除し、バックアップしていた”Localizable_org.strings”をファイル名を変更して”Localizable.strings”に戻して、アプリを再起動します。元に戻らない場合はバックグラウンドでサスペンド状態になっている可能性がありますので完全に終了してから起動します。
    ※アプリを削除して再インストールしても復元できますが、アプリの設定内容やデータが初期化されますので注意してください。

    留意事項
    アプリのアップデートを適用した場合は上記内容は初期化されます。
    参考:代助のブログ「iPhoneアプリの言語メニューを個別に英語表記にする方法」

[UPDATE4]iOS4.2.1の仮脱獄(tethered jailbreak)てどんなもの?

Appleから待望のiOS4.2.1がリリースされ、ほぼ同時にDev-Teamからはredsn0w 0.9.6b4の脱獄ツールがリリースされました。iPod touch 3GをiOS4.2.1にアップデートして、仮脱獄(tethered JailBreak)を試してみました。

注意喚起情報
JailBreakされたiPhone/iPad/iPod touchはメーカー保証対象外となるため動作不良や故障に陥ってもサポートを受けることができません。万一の際には保証期間内であっても有償となってしまいます。また、JailBreakはアップル社のセキュアな環境を無効化することになるため、外部からの侵入によってウィルスに感染し動作が不安定になったり、個人情報等が流出してしまう可能性(危険)を伴うものです。これらのリスクを理解出来ない、または自ら当該リスクに対処することができない場合はJailBreakしないようにしてください。

JailBreakとその危険性についてはこちらのサイトで詳細に説明されていますので是非確認してください。
をぢの日記【iPhone_JB】Jailbreakによるリスクと問題について

仮脱獄(tethered JailBreak)は、完全に脱獄した状態ではないために、その状態と区別され、リブートするたびに母艦側のredsn0wの助けを借りてカスタムブートローダーをiPod touchのメモリにアップロードする必要があることから「紐付き(tethered)」という意味でそう呼ばれています。iPod touch 3GとiPhone4、iPad WIFI+3G(US版)で確認していますが、未確認ですがおそらくiPod touch 4G、iPhone4も同様のはずです。

実は、今回は、前回のiPod touch 3GやiPhone3GSの新ROMであった「仮脱獄」とは異なります。前回の仮脱獄はリブートまたは電源オフの状態から起動するとスクリーン上にiTunesのアイコンとUSBケーブルが表示され、母艦からexploitを送り込むまでは起動自体ができない状態でした。今回はリブートまたは電源オフからでも母艦なしに正常に起動しますが、非JailBreak状態となります。JailBreak状態にするために母艦に接続してredsn0wを使う必要があります。そのため仮脱獄であることには変わりありません。

ただし、不意にリブートしたり、させてしまっても非JailBreak状態にて起動させることができるので、前回の仮脱獄とは精神的な負担がずいぶんと違う気がします。前回と同じ「仮脱獄」という言葉が適当ではないような気がしますが、それらしい単語が思い浮かばないので、とりあえず「仮脱獄」と呼ぶことにします。
参考:仮脱獄ってなんぞ? iPod touch第3世代編【動画あり】

—2010年11月24日追記—
Dev-Team BlogにUpdate #2として追記された箇所が非常に重要なので注意してください。つまり、起動時の重要なプログラム(SpringBoadやCommCenter等)をフックするようなTweaksをインストールした場合に、非JB環境ではそれらが正しく動作せず起動できない(りんごループ)可能性があります。 もちろん母艦側からredsn0wで”Just boot tethered right now”すれば起動するようですが。明確に影響のないアプリやtweaksを見分けられるユーザにとっては回避できる事象ですが、そうでないユーザは注意が必要です。

—2010年11月25日追記—
SBSettingsをインストールした状態でリブートし非JB環境での起動を試みましたが、MobileSubstrate.dylibやCydiaSubstrate.framework以下のファイルがロード出来ずに起動できませんでした(りんごマークの状態)。この状態から起動するには母艦からのアシストが必要になります。

—2010年11月27日追記—
tethered jailbreakのiPhone/iPod touchを再起動すると非JB状態になりJBアプリやtweakは動作しませんが、母艦からDiskAidなどのファイルエクスプローラ系アプリで全root領域を確認する(読み書き可)ことが可能でした。OpenSSHはさすがに立ち上がってないのでアクセスできませんでした。

MobileSubstrate系のアプリやtweakを入れていると再起動してもりんごマークの状態でうんともすんとも言わない状態になりますが、この状態では母艦からのアクセス(DiskAid、OpenSSH)もできませんでした。

準備するもの
・iOS4.2.1にアップデートしたiPod touch 3G、iPhone4
・redsn0w 0.9.6b4
・iPod3,1_4.2.1_8C148_Restore.ipsw、iPhone3,1_4.2.1_8C148_Restore.ipsw

JailBreak手順
iPod touch 3Gを母艦に接続し、redsn0wを起動します。

“Browse”ボタンをクリックして、”iPod3,1_4.2.1_8C148_Restore.ipsw”を読み込みます。redsn0wが正しいfirmwareかどうかを確認し、問題なければ”IPSW successfully identified.”と表示しますので、”Next>”ボタンをクリックします。

iPod touch 3Gに送り込むJailBreakデータを作っています。

初回にJailBreakする場合は、”Install Cydia”をチェックし、バッテリー残量を%表示させたい場合は”Enable battery percentage”にもチェックして、”Next>”ボタンをクリックします。 iPhone4、iPadは標準で表示可能なため”Enable battery percentage”の項目はありません。

iPod touch 3GをDFUモードにしてJailBreakに必要なexploitを送り込むための準備をします。iPod touch 3Gを母艦に接続した状態で電源をオフにします。”Next>”をクリックすると、DFUモードにするためのインストラクションが開始しますので、次からの手順を覚えてから先に進んだほうがスムーズに成功できると思います。

電源ボタンを3秒間押し、電源ボタンはそのまま押し続けホームボタンも同時に10秒間押します。そして電源ボタンから手を離します。インストラクションでは15秒ですが、自動的にその先に進めばホームボタンからも手を離して大丈夫です。あとは、iPod touch側の作業のみのため”Finish”ボタンを押しても問題ありません。

DFUモードに入れなかった場合は次のようなメッセージが出て、もう一度やり直すことができます。

JailBreakのためのプログラムをiPod touch 3Gに送り込んだ後のiPod touch 3Gの様子です。

初回のJailBreak作業が完了するとホームスクリーンにCydiaのアイコンが表示されますが、タップしても反応しません。もう一度、redsn0wで、今度は”Just boot tethered right now”を選択して、DFUモードからexploitを送り込む必要があります(最後の画面のインストラクションのとおり)。

無事完了すると以下のとおりCydiaのアイコンが正しく表示され、Cydiaにアクセスすることができるようになります。

JailBreak状態からリブートすると非JailBreak状態となり、その後、redsn0wを使ってJailBreak状態に戻すところの動画です。

iPad WIFI+3G(US版)のJailBreakもiPod touchやiPhoneと同様です。CydiaがiPad用にカスタマイズされていましたので何枚かスクリーンショットをご紹介します。

1回目のredsn0wではCydiaアイコンは白い状態

2回目のredsn0wで”Just boot tethered right now”を実行すると完了

最初のCydiaアイコンをタップするとfilesystemをイニシャライズして終了

次のCydia実行でユーザレベルを選択。選択ウィンドウがiPad専用のUIに変更されている

US版ユーザお待ちかねの例のもの

続きを読む [UPDATE4]iOS4.2.1の仮脱獄(tethered jailbreak)てどんなもの?

[UPDATE8]iBooksのルックアップ辞書を英和・和英/国語辞典にする

iPadの目玉アプリのひとつがiBooks。まだiBookStoreには日本語書籍はなく洋書が並んでいるだけなのでiPad User Guideをダウンロードして使ってみていたところ、Kindleのように辞書をルックアップして意味を表示する機能があることに気がついた。英和辞書なら便利だなと思っていたところJailbreakしていればカンタンにできることがわかったのでその備忘録。

[Updated on August 5, 2010]
JailBreakせずに辞書を切り替える方法が紹介されたブログがありますので、まずはそちらをおすすめします。
iBooks (iPad 電子書籍) で英和辞書を表示させる裏技

[Updated on November 30, 2010]
JailBreakをせずに設定する方法がありましたので当ブログの別エントリ”iBooksのルックアップ辞書を英和・和英にする方法”にまとめました。

注意喚起情報[Updated on August 5, 2010]
以下に紹介する方法はJailBreakが必要になります。JailBreakされたiPhone/iPad/iPod touchはメーカー保証対象外となるため動作不良や故障に陥ってもサポートを受けることができません。万一の際には保証期間内であっても有償となってしまいます。また、JailBreakはアップル社の施したセキュアな枠組みを無効化することになるため、外部からの侵入によってウィルスに感染し動作が不安定になったり、個人情報等が流出してしまう可能性(危険)を伴うものです。さらに、JailBreakされたiPhone/iPad/iPod touchにAppStore以外で配信されるアップル社が承認していないサードパーティー製のアプリケーションをインストールする行為は、その安全性が保証されておらず悪意のあるプログラムが混入している可能性もあり、未知なる危険を伴うものです。これらのリスクを理解出来ない、または自ら当該リスクに対処することができない場合はJailBreakしないようにしてください。

JailBreakとその危険性についてはこちらのサイトで詳細に説明されていますので是非確認してください。
をぢの日記【iPhone_JB】Jailbreakによるリスクと問題について

普通は英英辞書データが表示されるが英和辞書データをルックアップ
IMG_0049

iBooksのルックアップ辞書の英英辞書データを探したところ、/Library/Dictionaries/に各種辞書が格納されていた。なんと英和・和英辞書データも格納されており、他にも類語辞書や国語辞書も入っている様子。これは話が早い(Kindleでは英和辞書を英辞郎データから作る必要があった)。
/Library/Dictionaries/Apple Dictionary.dictionary
/Library/Dictionaries/New Oxford American Dictionary.dictionary
/Library/Dictionaries/Oxford American’s Thesaurus.dictionary
/Library/Dictionaries/Shogakukan Daijisen.dictionary
/Library/Dictionaries/Shogakukan Progressive English-Japanese Japanese-English Dictionary.dictionary
/Library/Dictionaries/Shogakukan Ruigo Reikai Jiten.dictionary

ルックアップさせる辞書データをどこかで制御しているはずなので探したところ、iBooks.app下のサブディレクトリ(/var/mobile/Applications/iBooks/iBooks.app/Japanese.lproj/DefaultDictionaries.plist)に発見した。標準ではオックスフォード辞書2つが設定されているのでこれを変更する。英語の類語辞書は引けても英語から日本語の類語は引けないので設定しても無駄かもしれない。念のためplistは編集前にバックアップを取っておく。

デフォルト設定
<key>DCSDefaultActiveDictionaries</key>
<array>
 <string>/Library/Dictionaries/New Oxford American Dictionary.dictionary</string>
 <string>/Library/Dictionaries/Oxford American Writer’s Thesaurus.dictionary</string>
 <string>/Library/Dictionaries/Apple Dictionary.dictionary</string>
</array>

赤字部分をそれぞれShogakukan Progressive English-Japanese Japanese-English Dictionary.dictionary、Shogakukan Ruigo Reikai Jiten.dictionaryに変更して保存。ホームスクリーンからiBooksを起動するだけ。RespringやRebootは不要。

plistにはデフォルトの辞書も設定されており、DCSDefaultActiveDictionariesで指定された辞書データが何らかの理由で参照できない場合に使用される感じ。オックスフォード辞書と英和・和英辞書、類語辞書などあるだけ指定してみたところ、オックスフォード辞書しか表示されなかった。並び順などもひょっとすると優先順位などを意味するのかもしれない。

電子ブックリーダーとして、辞書のルックアップ機能というのは非常に魅力である。読んでいる時に英単語や語彙をすぐ確認できるのだから。Kindleも同じ機能があるものの英和辞書データは入っていないため自力で入れる必要があったし苦労したが、このiPadはなんだろ?すごすぎる。国語辞典、類語辞典まで搭載している。和書データであれば日本語の意味や類語を表示できるかもしれない。

日本語のePubサンプル( ePub変換”>青空文庫 (XHTML) -> ePub変換)をiBooksに入れて試してみたところ、ちゃんと大辞泉から引っ張ってきた。いろいろと夢が膨らんだ感じ。

IMG_0051

実はちょっと面倒。DefaultDictionaries.plistのDCSDefaultActiveDictionariesセクションの辞書データは参照優先順位に並んでいるらしく、上位データがヒットすると下位辞書データは参照しない。そのため国語辞典、英和・和英辞典のどちらを上位にするかで表示される内容が異なってしまう。たとえば国語辞典を下位にすると日本語の意味を知りたいのに英訳が表示されたり、国語辞典を上位にして洋書でルックアップするとカタカナ英語などは国語辞典から引っ張ってきてしまう等の不都合が生じる。

現在のところiBooksで読める日本語書籍データが普及していないため支障はないように思う。iBookStoreでダウンロード出来る頃には、ルックアップで参照する辞書を自分で選択できるような機能が追加されていると想像する。

–Updated on June 4, 2010
ツイッターでお世話になっている @hitoriblogさんが設定画面から最優先する辞書を手動で選択できるtweakを作ってくださっています。これは便利です。iBooks、Pagesのほか、KeynoteやNumbersでも辞書対応しているようです。

iPadのポップアップ辞書環境を少し改善するDicSelector

いろいろと

  • 辞書データ格納場所がiBooks.app下ではないので他のアプリでも共用できるんだと思う。
  • iBooksに限らず範囲選択したときに出てくるメニューに”辞書”みたいな機能も出てきたらこれはスゴイ。

–Updated on July 5, 2010
iBooksのバージョンアップにより上記方法ではルックアップ辞書を変更不可になっていました。確認したところiBooks.appのディレクトリ直下に “BKDictionaryManager_LanguageToOrder.plist” というファイルがあり、ルックアップ辞書をコントロールしている様子。DefaultDictionaries.plistの役割がどのように変わったかは不明。BKDictionaryManager_LanguageToOrder.plistを次のとおり変更する。辞書の並びは自分の参照したい順番に変更する。作業前にバックアップ推奨。

<dict>
<key>en</key>
 <array>
  <string>com.apple.dictionary.PEJ-PJE</string>
  <string>com.apple.dictionary.NOAD</string>
  <string>com.aplple.dictionary.OAWT</string>
  <string>com.apple.dictionary.AppleDictionary</string>
 </array>
<key>ja</key>
 <array>
  <string>com.apple.dictionary.Daijisen</string>
  <string>com.aplple.dictionary.ruig</string>
  <string>com.apple.dictionary.PEJ-PJE</string>
 </array>
</dict>

書籍データの言語に基づき呼び出す辞書を決定しているので、英語書籍データの場合に優先辞書を英和和英になるよう追加する(赤字部分)だけ。前バージョンでは書籍データの言語に応じて英和辞書と国語辞書の優先順位を変更しなければならない場面もあったが、今回のバージョンアップでその手間はほぼ不要になった。

なお、Pages、Keynote、Numbersはバージョン改訂されていないので、まだDefaultDictionaries.plistが有効に機能している。

moyashiさん(@hitoriblog)が公開してくださったDicSelectorはiBooks1.1では機能しないため現在レポジトリでは公開停止になっています。 (2010年7月20日修正)iBoks1.1対応バージョンがリリースされております。

–Updated on July 20, 2010
iBooksがバージョンアップして1.1から1.1.1になりましたが、辞書をルックアップする機能に変更はないようです。BKDictionaryManager_LanguageToOrder.plistに辞書の優先順位を追加・変更する方法が使用できます。

なお、moyashi(@hitoriblog)さんが設定画面から辞書の優先順位を切り替えるDicSelectorも対応してくださっています。直接plistを編集する手間が省けて非常に便利です。
iBooks等のポップアップ辞書で使う辞書を選択可能にするDicSelector

–Updated on July 24, 2010
iBooksがバージョンアップして1.1.2になった。BKDictionaryManager_LanguageToOrder.plistに辞書の優先順位を追加・変更する方法は健在。DicSelectorも問題なく動作することを確認した。

動作環境
iPad WIFI+3G 16GB-USA iOS3.2 Spirit Jailbreak済み

アプリごとにロックをかけるiProtect【要JB】

[2014年1月14日追記]iProtectは追記時点でiOS7に対応しておりませんのでご注意ください。

iPhoneて日本のフィーチャーフォンでは当たり前の各機能にロックをかけるという発想がないようです。いわゆるガラケーから乗り換える際に違和感を覚える点のひとつではないでしょうか。わたし自身iPhoneを使い始めてた当時はガラケーのあたり前である各種ロック機能がないため、メールやドキュメントなどより多くの情報を蓄積するデバイスとしては不安な要素でした。そんな不安を解消するためのJBアプリがiProtectです。またMultiIconMoverとIconoclasmでカスタマイズしたところあわせ技で文鎮化しかけましたのでその解消方法を備忘録として付記しました。
続きを読む アプリごとにロックをかけるiProtect【要JB】

【要Jailbreak】嗚呼、iPad、アイパッド、愛発奴なの?

今月、米Apple社から発売予定とされているiPad。もう少しの辛抱なのだが待ちきれずにいる。このままでは何かいらんモノまで買ってしまいそうというほどの欲求不満な状態である。ここまで来ると病気かもと自分で思ったりするが、iPhone/iPod touchをiPadにカスタマイズして自分を落ち着かせようと試みた。その手順とかモロモロの備忘録。

R0010164
続きを読む 【要Jailbreak】嗚呼、iPad、アイパッド、愛発奴なの?

[UPDATE3]仮脱獄ってなんぞ? iPod touch第3世代編【動画あり】

Updated on June 27, 2010
更新日現在、OSバージョンはiOS4になっており新ROMを搭載しているiPod touch 3G、iPhone3GSではSpirit Jailbreakできません。仮脱獄もできませんのでOSのバージョンアップには注意してください。

Redsn0w0.9.2で新ブートROMを搭載しているiPod touch第3世代のOS3.12をTethered Jailbreak(仮脱獄)してみた。対策ROM前のiPod touch2G/iPhone3GSはuntethered Jailbreakなのでtethered jailbreakはこれが初めて。rebootの都度、母艦のJBツールを使ってカスタムブートローダーをメモリにアップロードする必要があるし、不便極まりないとわかっている。でもuntethered jailbreakが可能なツールが出るまで待ちきれず。。。

Updated on April 5, 2010: OS3.13についての若干の補足

Updated on May 3, 2010: SpiritJBのuntethered jailbreakに関する追記:SpiritというJailbreakツールがリリースされ新ROM搭載機種も旧ROM同様にuntethered jailbreakが可能になった。iPod touch第3世代で検証しました。

Redsn0w0.92はiPod touch第3世代(モデル番号MC)のOS3.13に対してJailbreakすることはできない。OS3.13に上げてしまうとtethered jailbreakもできなくなるので注意。なおこの作業はJailbreakを伴ないメーカーの保証対象外となるばかりでなく、復元できなくなるリスクがあるので自己責任でどうぞ。

Redsn0wや仮脱獄(Tethered Jailbreak)はいろんなサイトで取り上げられているので詳細はそちらを参考に。
Redsn0wについて
仮脱獄(Tethered Jailbreak)とは
仮脱獄(Tethered Jailbreak)が完了したiPod touch 3G。システム領域は750MBみたい。

IMG_0049

リブートすると母艦に接続せよと。iTunesがリカバリーモードのiPodを見つけて復元するか聞いてくるが、このまま復元しないように。Redsn0wを起動し、OS3.1.2のファームウエア(”iPod3,1_3.1.2_7D11_Restore.ipsw”)を選択する。すると仮脱獄(”Tethered Jailbreak”)になるよとアラートが出る。

tethered

OKをクリックして次に進むとカスタムブートローダーを構築しはじめ、完了すると次のような画面になるので”Just boot tethered right now“を選択する。カスタムブートローダーのデバイス側へのアップロードが完了し、ほどなくiPod touchの画面がリカバリー画面から通常のロックスクリーンに復帰する。この後はいつもどおりに使用可能になる。この作業は復元とは異なるのでiTunesとの同期データやインストール済みのCydiaアプリが消えることはない。

tethered boot

自宅であれば簡単な操作だが、外出先の場合はバッテリ切れや不意にリブート状態に陥ればノートPCは必要になる。iPod touchならまだしも、これがiPhoneだと自分は許容できない。わざわざノートPCを持ち歩くのは面倒だし、バッテリーチャージャーは必携となり、外出先では不用意なCydiaアプリのインストールを避ける等、いろいろと注意が必要になる。こんな窮屈な使い方は嫌だし、絶対にオススメできない。特に初めてJailbreakするというユーザには。

その他気がついたこと:

  • boot tetheredするときはUSBハブ経由は厳禁(デバイスを認識しない)
  • リカバリーモードの画面からロック画面に復帰しないことがある。何度かUSB外したり、接続し直したりしてみるとよい。自分の操作がおかしいのかも。
  • タイミングよく?わるいのか新OSのリリースによりAppleの認証サーバーがOS3.13以外のファームウェアへの署名を止めたようなのでCydia Homeには見慣れた”SHSH on File”ではなく、”This device has a pending TSS request.”と表示されている。3.13 SHSH on fileされた。iPod touchだが”This device has SHSHs on file for iPhone OS: 3.1.3″とiPhoneと表示される。なんか不思議。

仮脱獄のリブートから復帰する様子を動画にしてみた(1分44秒)。

環境
 iPod touch第3世代64GB(モデル番号MC)OS3.12
 Mac OS X 10.6.2
 iTunes 9.0.3

繰り返して注意喚起:Redsn0w0.92はiPod touch第3世代のOS3.13をJailbreakできない。tetheredも未対応なので注意

続きを読む [UPDATE3]仮脱獄ってなんぞ? iPod touch第3世代編【動画あり】