Showing posts with label multi-userアプリ. Show all posts
Showing posts with label multi-userアプリ. Show all posts

2014-03-02

MobileMultiUser for iOS - 家族で共有するiPadやiPhoneのユーザ環境を切り替え V4.2.3

1月にMobileMultiUserをiOS 7に対応した後、SBSettingsがiOS 7非対応に取り下げられてしまいました。
インストーラパッケージの依存関係にこれを入れていたので、今日までの間MobileMultiUserをインストールできない状態になっていました。
この対応と、iOS 7.0.6と6.1.6(goto fail SSLバグ対応版)での動作確認と、以下の変更を加えてV4.2.3として公開しました。

なお、インストールの方法はこちら使い方はこちらをご覧ください。

MobileMultiUser for iOS V4.2.3の変更点
  •  インストーラパッケージの依存関係からSBSettingsを削除。もともとはSBSettingsの機能を使ってrespringすることを想定していました。
  • MobileMultiUserの中でrespring出来るよう、defaultUserのUser Adminメニューの中にrespring機能を入れました。実体はrespringコマンドではなく、killall SpringBoardです。ユーザを追加した後、アイコンが表示されない場合は、respringしてください。それでもアイコンが表示されない場合はリブートしてください(またはsshでログインしてsbreload)。
  • ユーザ作成画面のユーザ名フィールドの UITextField に Keyboard=ASCII Capable を指定しました。これでユーザ名には漢字を入力できなくする目論見でしたが、フルキーボード(日本語ローマ字)では目論見通りですが、スワイプテンキー(日本語かな)を設定している場合は日本語入力出来てしまう抜け道が残ってしまいました。おそらくこれはiOSの問題で、スワイプテンキーを誤って英語キーボードとして扱っているためと思われます。いずれにしてもユーザ名には日本語は使用しないでください(ユーザ名は内部的にそのままファイル名になるので半角英数字のみでおねがいします)。
  • ユーザ作成画面のアイコンカラーのUIPikerViewに色をつけてみました。
iOS 6までは、OSで管理する外部アカウントはTwitterとFacebookの2つでしたが、iOS 7からはFlickrとVimeoが追加されていますね。
これらも対応・検証を引き続き行います。
疑問、不具合、要望等あれば、コメントやメールでご遠慮なく連絡いただけますでしょうか。

2014-01-19

MobileMultiUser for iOS - 家族で共有するiPadやiPhoneのユーザ環境を切り替え - iOS 7 対応 V4.2.1

MobileMultiUserをiOS 7に対応しました。
バージョンはV4.2.1です。
iOS 6でも問題なく動作します。
開発・テスト環境は、Xcode 5.0.2、iOS 7.0.4のiPad Air、iOS 6.1.5のiPod touch 4th genです。
jbが必要です。

iOS 7対応のために今回やったことは、Xcode 5での再コンパイルと、iOS 7ではボタンの枠がなくなったのでボタンのバックグラウンドカラーを90%グレーに変更しました(そのためiOS 6ではボタンの角に少し影が表示されてしまいます)。
それ以外は以前のままです(アイコンが光沢付きですがそれほど違和感ないと思います、起動イメージが古いままでiOS 7では色が合っていません)。

インストールの方法はこちら使い方はこちらをご覧ください。

現在MobileMultiUserを使用していて、環境を引き継いでバージョンアップするには3つの方法があります。
  1. iOSのバージョンアップも同時に行う場合
    defaultUserに切り替え、バックアップを取ってから、iOSのバージョンアップを行ってください。
    その後jbし、バックアップからリストアした後、MobileMultiUserをインストールしてください(必ずリストアの後MobileMultiUserをインストールしてください)。
    MobileMultiUserのインストール後、以前作っていたユーザを再度作成すれば、以前保存した環境が引き継がれます。
  2. MobileMultiUserを単独でバージョンアップする場合(コマンド操作なし)
    sshでコマンド操作を行いたくない場合は、一旦OSをリストアする必要があります。
    1の方法に沿ってiOSのバージョンアップの代わりにリストアを行ってください。
  3. MobileMultiUserを単独でバージョンアップする場合(コマンド操作あり)
    sshでのコマンド操作をいとわない場合は、
    defaultUserに切り替えた後、CydiaからMobileMultiUserをバージョンアップし、次のコマンドで作成済みの各ユーザを手作業でバージョンアップしてください。
    % cd /Applications/defaultUser.app
    % cp -pr MobileMultiUser  ../ユーザ名.app/
    % cp -pr en.lproj  ../ユーザ名.app/
    バージョンアップ後に作成したユーザにはこの操作は不要です。

2013-05-15

MobileMultiUser for iOS - 家族で共有するiPadやiPhoneのユーザ環境を切り替え − V4.1.0

[2014-01-19] iOS 7に対応しました。
MobileMultiUserは、iOSデバイス(iPhone、iPad、iPod touch)をMacのようにユーザ環境を切り替えて、ユーザが各自の設定・ユーザアカウントで使用できるようにするシステムツールです。
  • 標準アプリの設定内容 (Preferences)
  • アイコンの並び・壁紙 (SpringBoardの設定)、Webクリップアイコン
  • Safari、メール、メモ、連絡先、リマインダー、カレンダー、メッセージ (iMessages)、FaceTime の設定・データ・履歴
  • iCloudの設定 
  • Twitter、Facebook、Flipboard、mixi、LINE、Tumblrの設定・データ
jbが必要です。
インストール手順はこの記事(iOS 7での注記あり)を参照してください。

今回、iOS 6に対応しました。
以前のバージョンのMobileMultiUserからバージョンアップする場合は、ユーザをdefautUserに切り替えてからバージョンアップを行ってください。
バージョンアップはCydiaを起動すると自動的に導いてくれます。

なお、開発・テスト環境は、iOS 5.1.1のiPad 1st genと、iOS 6.1.3のiPod touch 4th genです。

もし、MobileMultiUserの本バージョンに併せて、iOSのバージョンアップを考えている場合には、ご自分のiOSでバイスが最新iOSバージョンでjbに対応しているかどうかにはくれぐれも注意してください。
6月以降にiOS 7が出れば、再びjbがやりやすくなる事が予想されていますので、誤ってjbできないiOSに上げてしまわないように我慢が必要かと思います(私のiPod touch 5th genも待ちです)。

[2013-05-21] 今日の日中はmyrepospaceが停止していたようですが、もう復旧しています。
[2013-10-25] iOS 6.1.3以降、iPhone 4/iPod touch 4th genより新しいiOSデバイスでのjbの道は閉ざされた状態です。
AppleのiOSのリリースペースが速まっているため、jbが開発されてもすぐに防がれてしまう恐れがあるため、jbの開発はiOSの安定バージョンのリリースを待っている状態とのことです。
[2014-01-11] iOS 7ではユーザ登録処理で問題が出ています。
暫定対処法をインストール編に書きましたが、まだあまりお勧めできません。

2013-05-13

MobileMultiUser for iOSのiOS 6対応の進捗状況その2

さらに日が経ってしまいました。
が、あとはCydiaパッケージにまとめる作業を残すのみとなりました。
今回、iOS 6対応(ただしjb可能なのは6.1.2以前の段階でjbした状態でキープしている場合か、6.1.3ではA4プロセッサ以下のデバイスの場合のみ)と併せて、以下のアプリもユーザ切り替え対象に加えました(選定は独断と偏見に基づいています)。
  • Flipboard(以前から対象)
  • Twitter(以前から対象)
  • Facebook
  • mixi
  • LINE
  • Tumblr
これらのアプリのうちいくつかは、初期設定ファイルがないと起動直後にクラッシュする問題がある(MobileMultiUser方式のユーザ切り替えを想定していない)ので、アプリのインストール後初めてのユーザ切り替えの際には、デフォルトユーザまたは直前のユーザから設定ファイルを引き継ぐようにしました。
また、iMessageのユーザ切り替えに問題があったのでこれも修正しました。

公開できるまで、あと少しです。
バージョン番号は4.1.0にするつもりです。

2013-04-30

MobileMultiUser for iOSのiOS 6対応が進捗

直前の記事を書き込んだ際には、実はTwitterのユーザ切り替えをあきらめかけていたのですが、なんとか解決の方法が見つかりました。

iOS内部の話ですが、書いておきたいと思います。
iOS 5までは、Twitterのユーザアカウントを保持する Library/Accounts/Accounts3.sqlite は単なるDBファイルだったので、単純にファイルを切り替えれさえすれば事足りていました。
iOS 6では(OS X 10.8 Mountain Lionでも同様に)、Twitterに加えてFacebookなど複数のアカウントをOSレベルでサポートするために、Accountsフレームワークが大幅に拡張され、新たに管理デーモン経由でアクセスする形になりました。
そのため、accountsd を再起動しないとずっとDBを握ったまま切り替わらない現象が出ていたのです。

Cydiaレポジトリの更新は近々に行う予定です。

MobileMultiUser for iOSのiOS 6対応は現在一部改修中ですが、そのまま使用可能

過去記事のコメントでも問い合わせいただいていましたが、MobileMultiUserのiOS 6でのテストを行っています。
一点だけですが問題が見つかっています。
  • Twitterアプリのアカウントが切り替わらない。MobileMultiUserアプリの修正が必要ですが、Twitter側の変更仕様の解析中です。
これ以外の問題は特になさそうなので、Twitterのユーザ切り替えが必要ない場合は、MobileMultiUserの現バージョン4.0.1をそのまま使っていただくことができます。

iOS 5からiOS 6にバージョンアップした場合の注意点を挙げておきます。
  • バージョンアップ前に、ユーザをdefaultUserに戻してから、iTunesでバックアップをとってから、iOSのバージョンアップを行ってください。
  • iOSをバージョンアップ後、バックアップから復元し、MobileMultiUserをCydiaからインストールする順になります。
  • この時、ユーザのアイコンがdefaultUserのみになりますが、作っていたユーザを再度MobileMultiUserで追加すると、以前のプロファイルを引き継いでユーザアイコンが作成されます。
  • バージョンアップ後、初めてユーザを切り替えると、iOSはユーザごとにプロファイルの変換処理を行います。ちょうど、バージョンアップ後初めて起動したときの一連の初期設定処理と同じステップです。この変換処理は初回だけです。
  • Flipboardは、アプリのプロファイルの互換性が内容で、設定内容が初期化されてしまいます。これに関しては今のところ回避策がありません。
インストールの方法使い方は以前の記事をご覧ください。

Twitterに関する改修に合わせて、今後、FacebookとLineとMixiのユーザ切り替えにも対応するつもりです。
乞うご期待です。

[追伸] iOS 6ではjb対応が非常に時間がかかりました。
その上、6.1.2が出た後、予告なしに6.1.3が出てしまったので、私の場合は iPod touch 5th genでのjb化をし損ねてしまいました。
現在は iPod touch 4th genで確認を行っています。
[2013-04-30] 解決方法が見つかりました。

2012-07-29

MobileMultiUser for iOS - 家族で共有するiPadやiPhoneのユーザ環境を切り替え − V4

個別にアカウントを切り替えられるマルチユーザ対応のブラウザやメーラーは他にもありますが、iCloudの環境も含めて切り替えられるのはMobileMultiUserだけだと思います(JB必要ですが)。
今回Version 4.0.0としました。
変更点は、
  •  iOS 5.1.1に対応しました。
    一部の内部コマンドのコード署名が抜けていました。
    そのため、iOS 4 では問題なかったものが、iOS 5.1.1ではユーザ追加機能が動きませんでした。
    この点を修正しました。
  • ユーザ切り替えの高速化。
    V3では1〜2分かかっていたユーザ切り替えが、15秒程度(そのうち10秒がSpringboardの再起動)になります。
    内部的にtarで退避・リストアしていたのを、mvに変えました。
    これに伴って、ユーザのプロファイルの保存のための内部構造が変更になっています。
    2回目以降の切り替えで高速化されます。
インストール方法(Cydia経由)と、使い方は以前の記事をご覧ください。
すでにV3をインストールされている方は、CydiaにChangesとして自動的に挙ってきます。
ここへのコメントメール、またはGoogle+で @MobileMultiUser 宛の投稿にて、ご感想をお待ちしております。

[2012-08-05] 必須パッケージの依存関係を修正して、 4.0.1で再度アップしました。
[2013-04-29] iOS 6でテストしたところ、Twitterの切り替え以外は問題なさそうなので、現バージョン4.0.1で使えます

2012-07-09

MobileMultiUser開発ノート その3

MobileMultiUserをCydia (MyRepospace)で公開してから半年弱でユーザ数が90を超えました。
ご愛顧本当にありがとうございます。

PCのOS (Mac OS XやWindows) に比べてiOSが一番良い点はクイック起動です。
現在のMobileMultiUserはユーザ切り替えにどうしても1〜2分かかってしまいます(もしかしたらiPad 3rd gen 2012だと何倍か早いのかもしれませんが)。
これだとちょっと切り替えて何かするというのには抵抗があると思います。

そこで現在MobileMultiUser V4を検討中です。
目標は30秒(iPod 1st genでやっていたことはrespringだけでも1分くらいかかっていたので隔世の感です)ですが、開発初期バージョンではインストールアプリ一覧ファイルが失われて何度もiOSのリストアが必要になる有様。
まあ、期待せずゆっくりお待ちいただけるとありがたいです(iOS 6リリースとどちらが早いかは謎?)。

なお、プロファイルストアはV3形式とV4形式のハイブリッドで行きます。

備考:開発ノートその1その2 
[2012-07-29] MobileMultiUser V4 出来ました

2012-02-05

MobileMultiUser開発ノート その2

MobileMultiUserの開発作業での気付き、備忘録です。
  • 現在のバージョンは3つ目の公開なので、思い切って3.0.0としました。パスワード保護、ユーザ作成GUIまで付けたので、一通りのことがCUIなしでできるようになったと思います。
  • 今回初めてCydiaからインストールできるようにしましたが、Cydiaのパッケージ対応は手順に従って行えば(例えばここ)、それほど難しくないと思いました。myrepospace.comなどのフリーのレポジトジサービスもあります。
  • V2までは、AddressBookの下にMMU-parasiteを置いていましたが、iCloud対応するにあたりAddressBookは切り替え対象にしたいので、Kyeboardの下に変えました。バージョンアップされる方がもしいれば、~/Library/AddressBook/MMU-parasite/userprofiles/ を ~/Library/Keyboard/MMU-parasite/userprofiles/ に移動してください。
  • 現在、tar コマンドで環境を保存・復帰しています。gzip 圧縮すると速くなるように思いますが、実際は2倍ほど遅くなります(A4プロセッサiPadにて)。近年のCPUとHDDの組み合わせだと確実に tar tzv が速いのですが、SSD/Flashではそうはいかないんですね。なので、tarでやっている限り画期的に速くすることは無理そうです。なんとかSafariやFlipboardのCache関連を除いて何割かの削減くらいはできそうなのですが焼け石に水ですね。
  • tarコマンドの代わりにmvで切り替えることも考えていますが、これだとコピーが作られないので、もしエラーしたときの回復が難しくなってしまいます(回復と言ってもCUIで手動になるので誰の役にも立ちませんが)。
  • Cydia対応してしまったので、次の公開の際、バージョンアップも自動化するように欲が出てしまいます(CUIを使えないユーザがほとんどになるので)。MMU-parasite と defaultUser.app は上書きインストールすれば良いのですが、ユーザ.app の下は post-script を実行してやるしかないですね(とは言っても createUserIcon をやり直す程度のことなのですが)。userprofileの形式を変えたい場合も同様です。
  • 現在、userprofileの削除機能がないので、userprofile削除用Cydiaパッケージを追加で作る方式が良いのでしょうか、それともGUIの中からユーザを削除できるようにすべきかな。
この開発メモは半年前2011-06-02「今後の拡張メモ」その1の続編として書きました。
[2012-07-09] 開発ノートその3を投稿しました。

MobileMultiUser for iOS 5 - 家族で共有するiPadやiPhoneのユーザ環境を切り替え - 使い方

MobileMultiUserの使い方編です。
  • インストール直後は、defaultUserのアイコンが作成されます。
  • defaultUserを起動して、下の [User Admin] タブからあなたのユーザ環境(新しいユーザ)を作成することができます。あなたのユーザ名(英数字のみ)を決めて入力し、アイコンの色を選んで [Create User] ボタンを押してください。
  • 新しいユーザを作成した直後はアイコンが表示されないので、リブートまたはRespringしてください。
  • あなたのユーザのアイコンをタップすると、あなたのユーザ環境に切り替わります。最初に壁紙を変えておくと、現在どのユーザ環境なのかが区別しやすくなります。
  • あなたのユーザ環境にパスワードを設定することができます。パスワード設定はあなたのアイコンをタップして、下の [Password] タブから行います。
  • 切り替えたユーザ自身のアイコンをタップして切り替えようとしても何もおこりません。また、ユーザ切り替えのためのパスワードを何度も試して破られるのを防ぐために3回以上間違えるとロックされるようになっています。
  • 他のユーザ環境を作成したい場合は、defaultUserに切り替えてから、defaultUserから行います。
インストール編はこちらです。

[2012-07-29] 大幅に高速化した MobileMultiUser V4 出来ました
[2014-01-19] iOS 7では、respringでアイコンが出ない場合は、sbreloadしてからrespringをすると良さそうです。
なお、iPad Airで、ユーザ追加後アイコンを表示させるために、SBSettingsの出し方が私には分からなくて、respringはコマンドで実行するか、リブートするしかない状況があります(iPad Airはめちゃくちゃ速くてリブートが1分以内ですね、すごい)。

2012-01-24

MobileMultiUser for iOS 5 - 家族で共有するiPadやiPhoneのユーザ環境を切り替え - インストール方法

MobileMultiUserをiOS 5対応にしました。
今回はCydiaからインストールできるようにしました。
切り替えができるのは以下の項目です。
  • 標準アプリの設定内容 (Preferences)
  • アイコンの並び・壁紙 (SpringBoardの設定)、Webクリップアイコン
  • Safari、メール、メモ、連絡先、リマインダー、カレンダー、メッセージ (iMessages)、FaceTime の設定・データ・履歴
  • iCloudの設定
  • Twitter、Facebookの設定・データ
  • Flipboard、mixi、LINE、Tumblrの設定・データ(V4.1.0で追加)
インストール手順は以下です(JBあるいはCydiaが必要です。この意味が分からない方は、これ以上進まないことをお勧めします)。
画面操作を文章に起こしているので、長く見えますが、ほぼ1ステップ1クリックですので、手順的には難しくないと思います。
  1. (iOS 5のCydiaでは、文字入力しようとすると日本語だと落ちてしまうようなので、設定の [一般] => [言語環境] => [言語] で English に設定しておきます。また後で日本語に戻してください。)
  2. Cydiaを起動します。
  3. 下の [Manage]タブを開き、[Sources] を選びます。(iOS 7までは、下の [Sources] タブを開きます。
  4. 右上の [Edit]ボタンを押します。
  5. 左上の [Add] ボタンを押します。
  6. http://cydia.myrepospace.com/taka8aru と入力し、[Add Source] ボタンを押します。
  7. Verifing URL の後、Refreshing Data と続き、Return to Cydia が出るまで待ちます(最近、いくつかのサーバの調子が悪いようで数分かかってしまいますが、辛抱強く待ってください。http://cydia.zodttd.com/repo/cydia (おもにテーマのレポジトリ) をあらかじめ削除しておくとかなり緩和されるようです)
  8. [Return to Cydia] ボタンを押します。taka8aru - MyRepoSapce.com が追加されているはずなので、次に右上の [Done] ボタンを押します(Cydiaのバージョンによっては [Done] ボタンがないのでそのまま何も押す必要はありません)。
  9. taka8aru - MyRepoSpace.com を選ぶと、MobileMultiUser が現れるので、選びます。
  10. 右上の [Install] を押し、[Confirm] を押すと、Downloading、Installing、Configuring と続き、[Return to Cydia] が出れば、インストール完了です。
  11. もし、Size mismatch のエラーが出る場合は、SBSettingsを先にインストールしてから、MobileMultiUserをインストールすると成功するようです。
  12. (iOS 5では、最後に、設定 (Settings => General => International (下の方) => Language) で、日本語に戻してください。)
今日はもう時間がないので、使い方は後日投稿させてください(基本的にはV2と同じです)。

[2012-02-05] 使い方編を書きました
[2012-07-29] 大幅に高速化した MobileMultiUser V4 出来ました
[2013-04-28] Cydiaが新しくなってボタンの配置が一部変わったので注記しました。
[2014-01-06] 待望のiOS 7がお正月中にjb対応しました。
iOS 7でのインストール手順を確認して、追記しました。
ユーザ作成がうまく行かないことがあるようです、動作確認はもう少しお待ちください。
[2014-01-11] やはりユーザ作成の処理のところがうまく動かないようです。
お急ぎの場合は、sshで入ってcloneUserとcreateUserIconの内部コマンドで大丈夫です(内部コマンドの説明)。
最初、iPad Air/iPhone 5sのA7 64 bit CPUのせいかとも思いましたが、iPad touch 5th gen A5 CPUでも問題は同様でした。
修正はもう少しお待ちください(新しいXcodeでやり直さないといけないのかな?)。
[2014-01-19] Xcode 5で再コンパイルして、iOS 7に対応しました。iOS 6にもそのまま対応しています。

2012-01-11

MobileMultiUser V3 for iOS 5 - 家族で共有するiPadのユーザ環境を切り替え - 準備中

MobileMultiUserがiOS 5に対応します。
iPad/iPhone/iPod touchで、ひとりずつの独立したiCloudアカウント(Apple ID)を切り替えて使えるようになります。

こんな使い方ができます。
  • iPadで、me.comのメールアドレスをひとりずつ別々に持ちたい(iOSデバイスとMacがあれば複数のApple IDの取得が自由にできます。MobileMultiUserで環境を切り替えれば、iPadからでも容易に複数のApple IDを利用できます)。
  • 持ち歩いているiPhoneに設定しているme.comアカウントを、自宅のiPadでも使いたい。
  • 一人一台、人数分のiPhone/iPod touch/iPad/Macがないので、アカウントを切り替えて共有デバイスとして使い回ししたい(Macはユーザ登録で切り替えできます)。
  • 個人的なアカウントと、人前で見せるアカウントを切り替えたい。
ただいま公開準備中です。
この投稿へのコメント、メール、またはGoogle+で +MobieMultiUser を付けてメッセージを送る、または +1 ボタンを押した後コメントを付けてください。
[2012-01-23] Cydiaで公開しました

2011-12-25

MobileMultiUser for iOS V2 - 家族で共有するiPadやiPhoneのユーザ環境を切り替え

家庭で一人一台のiPadをお持ちの場合は良いのですが、そうでない場合、iPadに個人設定を気軽に保存できなくて、せっかくの使いやすさが逆に仇になると思った事はないでしょうか?

MobileMultiUserは家族一人一人のアイコンを作成し、環境を別々に保存できるようにするツールです。
今回V2では、ユーザ毎にパスワードが設定できるようなりました。
ユーザ毎に環境保存できる内容は前バージョンと同様、下記となっています。
  • 標準アプリの設定内容 (Preferences)
  • アイコンの並び・壁紙 (SpringBoardの設定)、Webクリップアイコン
  • Safari・メール・メモの設定・データ・履歴
  • Flipboardの設定・データ
iTunesライブラリ、iBookライブラリ、写真ライブラリ、YouTube設定・履歴、アプリのインストール状態(他、上記以外のアプリの設定およびデータ)は、ユーザを切り替えても共有されます。
MobileMutiUser for iOS V2 (build #002 2011-12-25) [Download]
※本バージョンでも、JBしたiPad/iPhone/iPod touchと、若干のコマンド操作が必要になります。
インストール方法は、前バージョンと同じです。
使い方は、
  • 作成したユーザのアイコンをタップすると、パスワード入力画面になります。パスワードを入力すると、ユーザのデータ量にもよりますが15秒〜1分で環境が切り替わります。
  • 初期状態ではパスワードは設定されていないので、何も入力せずにOKを押してください。切り替わった後の初期状態は元のユーザの環境がコピーされているので、壁紙やメール、Flipboardの設定を変更してください。
  • 自分のユーザのアイコンをタップし、Settingsタブを開くと、パスワードの設定を行う事ができます。
  • 初期ユーザはdefaultUserという名前になっています。このユーザはパスワードを設定できなくしています。
前バージョンをお使いの場合は、defaultUserに切り替えた状態で、MMU-parasite フォルダに上書きインストールしてください。
既に作成しているユーザのアイコンは慎重に削除(rm -r /Applications/<ユーザ名>.app)し 、createUserIconコマンドで再作成すれば、OKです。
今回は、iOS 4.3.1のiPadとiPod touch 4th gen上で開発・テストしました。
iOS 5でのテストは順次行っていく予定です。
使ってみた感想、追加アイデア、ご意見等ありましたら、本投稿のコメント、またはメールでお伝えいただけると幸いです。
[追記] 前バージョンからバージョンアップの場合は MMU-parasite/user.app-template/ のDefault.pngとDefault-Portrait.pngが不要なので、上書きインストール前に削除願います。
なお、MMU-parasite/userprofiles/ の下にユーザ環境が保存されているので、MMU-parasite 全体を削除する事は避けてください。
[追記2] iPadでの画面キャプチャを追加しました。
[追記3] UIがあると断然使ったときの安心感が違いますね、我ながら。
なお、ユーザ名Taroはなぜかアプリが落ちてしまうようで、解析中です、Jiroは問題ないのですが。。。
[2012-01-11] V3 for iOS 5 の公開準備中です。
なお、Taro問題はデフォルト文字列をTaroにしないことで、ちょっと納得いきませんが回避できました。
今度は、日本語ユーザ名が変なところだけ落ちる(大体動くけれどパスワード変更のところだけ)問題に気付きましたが、これは後回しにしたいと思っています。
[2012-01-23] iOS 5対応版をCydiaで公開しました
[2012-07-29] 大幅に高速化した MobileMultiUser V4 出来ました

2011-12-19

MlbileMultiUserの画面モックアップを公開します

MobileMultiUserの以前の投稿(アプリ拡張メモ)からもう半年も経ってしまいました。
画面を作るのにこんなにも時間がかかってしまいました。

まずは共有させていただきます。
画面のみのモックアップで、中身は何も動作しません。
ご意見いただければと思います。

MobileMutiUser画面モックアップ tab-test006 [Download]

iPhone/iPod touch/iPadのuniversalアプリです。

ダウンロードしたzipファイルをscpなどでコピーして /Applications 配下に展開してください。
respringすれば薄緑色のアイコンが現れると思います。
(iPadではrespringしてもSpringBoardが再起動しない現象があるようです。)

2011-10-18

MobileMultiUserでiPadなどiOSのiCloudのApple IDアカウントの切り替え

iOS 5はiCloudを使うのにApple IDを使用します。
通常AppleIDを一度設定すると、自由に切り替えられません。
自宅で共有しているiPadでは、これはとても不便です。
メールやブックマークがひとりひとりのiPhoneやMacのアカウントなどと同期できなくなります。

謹製MobileMultiUserを使えば、この辺り解決できそうです。
現状SpringBoardのPreferenceを切り替えているので、それだけで対応できているか、さらに追加で切り替える必要があるかは検証が必要です。
まだ環境が整っていません、整い次第取りかかりたいと思います。

ご興味のある方は、コメント、またはメール、あるいはtweetしてください。

[2012-01-11] もうすぐ公開です。
[2012-01-23] 公開しました

2011-06-14

iCloudのバックアップはどうなっている? 課題が多そう

iCloudはiOSデバイスのバックアップも保存できます。
しかしながら、iCloundの容量は5GBに限られています。
私のiPod touchは16GBモデルですが、使用容量は10GBを優に超えています。
さて、これを、どうやってバックアップするのでしょうか?
  • iTunes StoreやiBook Storeで購入したもの、つまりアプリと音楽とブックは、iCloudにマスタがあるので、その部分は重複してバックアップしないでしょう。
  • iTunes Storeで購入したのではなく、CDから自分で読み込んだ音楽の一部も、iTunes Matchを利用すれば、バックアップ対象から除外できそうです。
  • iWorkや他のアプリの保存文書は、当然バックアップ対象。ただし、元々iCloudに保存した文書は、うまく除外できそうです。
  • もしかするとPodcastやVideo PodcastもiCloudでキャッシュして、バックアップ対象から外せるようになっているかもしれません。
  • 自分で撮影した写真は当然バックアップ対象。ただし、もしかすると3ヶ月の保存期間の範囲だけしかバックアップされないかもしれなません。
  • 問題は撮影したビデオ。簡単に1GB近くになります。これはいかんともしがたいはずです。ビデオは2GBまで、とかの容量制限を決められるようになるんでしょうか?
  • 複数のiOSデバイスを持っている場合は? 共通の写真やビデオは重複排除される?
  • そういえば、iTunes上の私のiPod touchのバックアップは1GB弱です。音楽や写真やPocastはiTunes Libraryから同期できるので、バックアップには含まれていないためです。ただし、iTunes Libraryの方は、購入した音楽を除いても数十GBあります。
考えてみるといろいろと課題がありそうです。
バックアップ(iTunes Libraryと合わせて)を5GBに収めるのはなかなか至難の業のように思えます。
このあたり、Appleは、いかにうまく解決してくるでしょうか、お手並み拝見させていただきたいと思います。

なお、バックアップはあくまでもバックアップなので、2台のiOSデバイスを同じ状態にするためには使えないと思います。
iOSデバイスの各アプリの中でデータをiCloudに保存し共有することで同じ状態にする、というのが使い方だと思います。
(謹製MobileMultiUserを使えば、ユーザ環境を共有して2台のiOSデバイスを同じ状態にすることも、将来的にはできるようになると思います)

[2011-10-19] iCloudのユーザ切り替えに関する考察を書きました。

2011-06-02

MobileMultiUser (iOSマルチユーザー機能) の今後の拡張メモ

先日公開したiPad/iPhone/iPod touchのマルチユーザー機能ですが、今後は、次のような拡張を考えています。
  • ユーザー切り替えパスワード
  • ユーザー追加GUI
  • ユーザー切り替えGUI
  • ユーザー環境アーカイブのパスワード・暗号化保護
    アーカイブをscpでコピーされても中身を見られないように。
    (自ユーザーから他ユーザーに切り替える時、環境アーカイブするタイミングでパスワードが必要になるので工夫が必要。)
  • 環境切り替えの対象アプリの増加
    ただし、無闇に全部のアプリ環境を保存してしまうとファイルサイズが大きくなり、切り替えに時間がかかる。
    またFlash容量をすぐに超えてしまう。
    iTunesライブラリをユーザー毎に切り替えるのは要注意。
  • 環境アーカイブをiOSデバイスの外 (Time MachineやNASなど) に保存
    Flash容量の心配がなくなる。
    複数のiOSデバイスで環境を移動できる(Windowsの移動Profileのように)。
    クラウドに保存すれば、他人のiOSデバイスを借りて自分の環境に切り替えられる。
  • 環境切り替えの対象アプリの選択GUI
  • 後でインストール・追加したアプリを切り替え対象に追加できるように
[2011-12-19] パスワード変更機能付き画面のモックアップを公開しました
[2012-02-05] 開発メモその2

2011-05-21

MobileMultiUser for iOS - 家族で共有するiPadやiPhoneでユーザ環境を切り替える、マルチユーザ機能

家庭に1台iPadの時代になりました。
ポストPCのデバイスとして日々の生活をとても便利にしてくれていると思います。
ただひとつ困るのは、iPadでメールやWebのブックマークを自分専用にできないことです。
Mac OS Xだとユーザアカウントをそれぞれの人ごとに登録すれば良いのですが、iPadにはそういう機能がありません。
iPhoneは携帯電話としての感覚があるので、ひとり1台がすんなり受け入れられますが、iPadはまだひとり1台にはなかなかなっていないと思います。

そこで、ユーザ環境を切り替えるツールを作ってみました。

注意:jbとLinux (Darwin) のコマンド操作が必要ですので、このバージョンはある程度コンピュータ知識のある方以外の使用はお勧めできません。
また、プロトタイプレベルのため、限られた機能しかありません。
シェルスクリプトで作成していますので、機能拡張やご指摘などありましたら、本投稿のコメント、メールでお伝えいただけると幸いです。

なお、利用の前にはiTunesでバックアップを取得し、バックアップフォルダのコピーを保存したうえで、お願いします、念のため。

MobileMultiUser for iOS プロトタイプ1 (build #001 2011-05-16) [Download]

MobileMultiUserの機能
  • ユーザごとに保存する内容:
    標準アプリの設定内容 (Preferences)、アイコンの並び・壁紙 (SpringBoardの設定)、Safari・メール・メモの設定・データ・履歴、Webクリップアイコン、Flipboardの設定・データ。
    ユーザを切り替えるとこれらの設定内容が切り替わります。
  • ユーザの間で共有される内容:
    iTunesライブラリ、iBookライブラリ・設定、写真ライブラリ、YouTube設定・履歴、アプリのインストール状態など、前記以外全て。
    ユーザを切り替えてもこれらの設定内容は切り替わりません。
  • ユーザのアプリアイコンがホーム画面に追加されます。
    切り替えたいユーザのアイコンを押すと、環境が切り替わります。
  • ユーザの作成は以下のコマンドを使って行います。
    ここでは他のコマンドも一緒に説明します。
    • cloneUser <username>
      指定した名前のユーザを新たに作成します。
      新しいユーザの設定内容は、現在のユーザからコピーされます。
      なお、コマンド群は、/var/mobile/Library/AddressBook/MMU-parasite/ の配下にあります。
      アドレス帳のライブラリに寄生することで、MobileMultiUser の保存データが iTunes にバックアップされることをねらっています。
    • createUserIcon <username> [-icon color]
      ユーザへ切り替えるためのアプリアイコンをホーム画面に作成します。
      いくつかの色のアイコンを用意しています。
      このコマンドを実行するには特権が必要なので、su してから、または sudo と一緒に使用してください。
      また逆に、createUserIcon 以外のコマンドは mobile ユーザで実行することが必須ですので、注意してください。
    • switchUser <username>
      現在のユーザの環境を保存し、指定したユーザに環境を切り替えます。
      ホーム画面のユーザアイコンを押すと、内部的にこのコマンドが実行されます。
    • saveCurUser
      switchUser の内部コマンドです。
      現在のユーザの環境を保存します。
      保存場所は /var/mobile/Library/AddressBook/MMU-parasite/userprofiles/username/ です。
      現在のユーザ名は currentusername ファイルに記録されています。
    • restoreUser <username>
      switchUser の内部コマンドです。
      指定したユーザの環境を復元します。
      現在のユーザの環境は上書きされます。
      SpringBoard に環境の切り替えを反映させるために、respring してください。
  • iPad、iPhone、iPod touchで使用できます。
    テストした環境は、iOS 4.3.1のiPadと、iOS 4.3.1のiPod touch 4genです。
    iPadを家族で共有する場合の他に、iPhoneを仕事用とプライベート用に切り替えたり、他の人にiPad/iPhoneを貸す時の環境退避にも使用できると思います。
インストールの方法
  1. MobileMultiUser が内部的に使用するために、必要となるCydiaパッケージは Eria Ulitities、Tape Archive、sed です。
    事前にインストールしておいてください。
  2. 上記から MobileMultiUser-001.tar.gz をiPadにコピーします。
    PC/Macにダウンロードした後、scp で iPad の mobile ユーザのホームディレクトリにコピーするのが良いでしょう。

    $ scp MobileMultiUser-001.tar.gz mobile@<ipadのipアドレス>
  3. 次のコマンドでダウンロードしたファイルを展開します。
    展開する先は、/var/mobile/Library/AddressBook/MMU-parasite/ です。

    $ ssh mobile@<ipadのipアドレス>
    ipad$ cd /var/mobile/Library/AddressBook/
    ipad$ tar xzvf ~/MobileMultiUser-001.tar.gz
  4. 現在の設定を元に、最初のユーザを作成します。
    最初のユーザは defaultUser という名前になります。
    次のコマンドを実行します。

    ipad$ cd /var/mobile/Library/AddressBook/MMU-parasite/
    ipad$ ./saveCurUser
    ipad$ su
    # ./createUserIcon defaultUser
    # exit
  5. 追加のユーザを作成します。
    ここでは例としてユーザ名を Taro とします。

    ipad$ cd /var/mobile/Library/AddressBook/MMU-parasite/
    ipad$ ./cloneUser Taro
    ipad$ su
    # ./createUserIcon Taro
    # exit
本バージョンの制限事項
  • 現在のユーザを表示する方法がないので、壁紙を変更するなどして区別できるようにしてください。
    現在のユーザのアイコンをタップして切り替えようとした場合は何もせずにすぐに終了します。
  • 現バージョンでは、ユーザ間で切り替えられる設定は、使い方のところに書いたアプリだけです。
  • ユーザの作成、アイコンの作成は、コマンド操作で行います。
  • 複数のユーザでメールやSafariで同じ外部アカウント(メールアカウントなど)を設定した状態の下、ひとつのユーザでアカウントを削除した場合、他のユーザのアカウント設定からパスワードが削除されてしまいます。
    例えば、最初に defaultUser を作成し、Taro ユーザを作成後、Taroのメールアカウントを設定するために、defaultUserからコピーされたメールアカウントを削除すると、それに引きずられて defaultUserのメールアカウントのパスワードだけが削除されてしまうことがおこります。
    これは、システムのKeychainがひとつしかないためにおこる制限です。
    ユーザ間で同じメールアカウントを設定しなければこのような問題は起こりません。
  • ユーザの切替操作に対してパスワード保護等がないので、現バージョンではセキュリティ対策としての使い方には向いていません。
    あくまでユーザ環境を切り替えることができることの評価が目的です。
[2011-06-02] 今後の拡張機能のアイデアを書きました。
[2011-10-19] iCloudのApple IDの切り替えに関する考察を書きました。
[2011-12-19] MobileMultiUserの新しい画面のモックアップを公開しました
[2011-12-25] V2、パスワード設定機能付きを公開しました。
[2012-01-11] V3、iOS 5対応版公開予定です。
[2012-01-23] iOS 5対応版をCydiaで公開しました
[2012-07-29] 大幅に高速化した MobileMultiUser V4 出来ました

2010-06-22

iOS 4に欠けているかもしれない機能 - 次のiPhone開発テーマのために

これは、自分のためのメモでもあります。
以下、現状(実機を手に入れられていない私が)考えられるiSO 4でまだ不足していると考えている機能です。
  • Safari Coverflow Historyの同期
    すべてのプラットフォームでの閲覧履歴を共有したい。
    いつ、どのデバイスで閲覧したWebページなのかを気にしないでいいようにしたい。
    そして、どのデバイスでもCoverflowでさかのぼって自分の思考をたどりたい(iPhone 4のパワーがあれば可能なはず)。
  • iBooks、iWork (Keynote、Numbers、Pages) の文書のワイヤレス同期
    現状はiTunesのAppタブでのやり取りしかできないようですが、AirSharingやGoodReaderのようなスタイルが使い勝手が良いと思います(iPhone側で共有開始してPC/Macからブラウザでコピーする、あるいはMobileMe上で共有)。
    iPhone用のOffice互換ソフトでそのような機能を提供しているものもあったはず。
    汎用的に作れるはずなので、CouldReaderなどにも同じ仕組みで対応できるはず。
  • メモのワイヤレス同期
    iOS 4で私の悲願の実現です(早く実機で試して裏を取りたい)。
    私の一大プロジェクト!?ははたして無事終焉を迎えられるのでしょうか?
  • iTunesのワイヤレス同期
    これは最終的にAppleの仕事だと思っているし、私はそれほど頻繁に音楽やビデオを入れ替えないので、まあ、こと足りています。
    でも、Home Sharingのような機能はすぐにでも実現できるはず。
  • iLifeのワイヤレス同期
    iMovie for iPhoneがいよいよ出てきました(Macでも最初に出たのは確かiMovie)。
    iPhoto写真もFacesまでiTunes同期できるので、ワイヤレス同期もほしいところ。
    Garagebandも携帯デバイスで実現できるときっと楽しいはず。
    (iWebは利点を出すのがちょっと難しくなってきましたね。)
  • マルチユーザ機能
    iPhoneは基本的に個人的なデバイスなので今まであまり気になりませんでしたが、特にiPadは家族みんなで触れるデバイスです。
    一人一台あればもちろん問題ないのですが、そこまで価格がこなれていません。
    メールやブックマーク、アドレス帳、カレンダー、メモ、YouTubeのお気に入りやゲームのスコアなどなど、個人毎に管理したい要件はいっぱいあると思います。
自分の次の開発テーマとして、このあたりを攻めたいと思います。

[2011-05-21] マルチユーザアプリを作ってみました。

2010-05-06

iPadを待ちながら

本当ならすでにこの手元にあったはずのiPad、USでは爆発的に売れているのは既報のとおり。

なかなか実物が見れない待ち遠しさの中、右のような大きさ比べを見つけました。iPhone/iPod touchのちょうど6個分なんですね。
MacBook Air 13"よりかなり小さいので、これなら電車の中でも問題なく使えるかも。KindleシリーズならKinle DXと似たり寄ったりなサイズ。

このiPad、Apple IIのキャラクターベースのパソコン時代に突如として現れたMacintosh以来のブレークスルーと多くの方から言われています。
私自身もWindows Tablet機は追っかけてきたつもりですが、真の革新的なタッチスクリーンガジェット(あえてここはコンピュータとは言わない)の完成と言ったところでしょうか。

さて、iPadについて私の気になっている点です。
  • マルチユーザ機能が欲しい
    iPhoneは携帯電話なので、一人一台が自然ですが、iPadは家族やチームで使い回すことが多くなると思います。もちろん一人一台購入すれば一番よいのですが、そこまでAppleに儲けさせることはないでしょう。メールやブラウザのブックマークやiTunes Store情報など、個人的なデータをやはりiPadでも気軽に扱いたいですよね。無料アプリすら安心して試せません。
  • iWorkは必須
    Apple渾身のアプリ達(Pages、Numbers、Keynote)。どれだけ実用的かどうか以前に、どのように作られているかを学ばねばなりません。
  • iTunesとの同期の是非
    iPadをiPodとして使う人は4分の1以下ではないでしょうか。CDを直接読み込ませるためにMacやPCが必要、ということ以外にもう母艦が必要な理由は見つかりません。もうそろそろ、最低でも次くらいのバージョンではiTunesによるアクティベーションを不要にしてもよいのでは?少なくともiPadでは。
[2011-05-21] マルチユーザアプリを作ってみました