タグ

ブックマーク / kimada.hatenablog.com (13)

  • アプリのメタデータのデフォルト言語を変更する方法 - More the iPhone Development Playground

    iTunes Connectで、メタデータ(AppStoreに表示される紹介文など)のデフォルト言語をアプリごとに指定できるようになりました。 これまでは、最初のアプリ登録時に選択したデフォルト言語が、その後追加されるすべてのアプリに適用されてしまい、かつ、変更もできなくて、苦労していました。 以下に、変更の手順を、簡単に説明します。 各アプリの情報設定を行う画面左上にあるApp Informationというタイトルの横、[Edit]というボタンをクリックします。 すると、以下のような設定パネルが表示されるので、そこで、そのアプリのデフォルト言語を選択することができます。 Localizeしたリソースを登録していない地域のAppStoreでは、アプリの紹介文やスクリーンショットが、このデフォルト言語で表示されます。そのため、デフォルトを[Japanese]にしていると、そこで日語の紹介文

    アプリのメタデータのデフォルト言語を変更する方法 - More the iPhone Development Playground
  • iOSのバージョンチェック方法 - More the iPhone Development Playground

    今週は、iPhone 4Sの発売が控えていますが、開発者にとっては、もう1つ重要なポイントがあります。それは、iOSが、5.0にバージョンアップされることです。 SysStats MonitorとSysStats Liteでは、バージョンアップの影響を受ける部分があります。 過去に、2.2.1でビルドしたアプリから、3.0で追加されたAPIを使ってみました - The iPhone Development Playgroundで、メソッドが定義されているかどうかをチェックする方法を紹介しましたが、今回は、実行中のOSのバージョンをチェックするより他に方法がありませんでした。 簡単な処理ですが、そのチェック方法について、メモを兼ねて、書いておこうと思います。 NSString *currentSystemVersion = [[UIDevice currentDevice] systemVe

    iOSのバージョンチェック方法 - More the iPhone Development Playground
    odawara
    odawara 2011/10/20
    このバージョンチェック、今後大変になってくるんだろうな
  • 日本語キーボードの変換候補表示方法の変更への対応 - More the iPhone Development Playground

    iOS5で、日語キーボードの変換候補表示方法が変わったことに、みなさんすでに気付いていることと思います。 iOS4.xでは、以下のように、カーソルの近くに表示される仕様でした。 iOS5では、以下のように、変換候補の表示領域が固定で確保されるようになったので、画面の一部のボタンなどが隠れてしまうようになりました。 それに対応できるようにするために、iOS5から、キーボードの大きさが変わったことを、アプリで検知するためのNotification(UIKeyboardWillChangeFrameNotification)が新たに追加されました。 それを使って、隠れてしまう部分のサイズや、表示位置を調整する必要があります。 SysStatsMonitorで、その対応を実施中なのですが、その結果、以下のようになる予定です。 具体的なコーディングについては、以下の記事を参考にさせていただきました

    日本語キーボードの変換候補表示方法の変更への対応 - More the iPhone Development Playground
    odawara
    odawara 2011/10/17
    iOS5対策
  • Facebook Feed Dialogの仕様変更があったようです - More the iPhone Development Playground

    SysStats Monitorには、Facebookにデバイスの状態を投稿する機能があります。 それは、Facebookが提供しているFeed Dialogというコンポーネントを使って実現しています。 Feed Dialog 具体的な画面のイメージは、以下の通りです。 来ならば、画面上部のテキストエリア(Say something about this の下)に、 <> [Uptime]: 0 day(s), 12:17:38 [Memory(MB)]: free= 17.4, other=329.1, wired= 69.7, active= 53.9, inactive= 32.8 [Battery]: 85% [Process]: 39 という感じの情報が表示され、Facebookに投稿されるはずですが、ここに情報が設定されなくなっていることに気付きました。 調べてみたところ、原

    Facebook Feed Dialogの仕様変更があったようです - More the iPhone Development Playground
  • UIDocumentInteractionControllerによる、アプリケーション間のファイル受渡し - More the iPhone Development Playground

    昨年、iOSの中で、アプリケーション同士が連携するためのしくみ - The iPhone Development Playgroundで、UIDocumentInteractionControllerを使ったアプリケーション間連携について簡単に説明しました。そのときに少し触れたとおり、SysStats MonitorとSysStats Liteの間で、UIDocumentInteractionControllerを使った連携機能を追加しましたので、もう少し技術的な説明をしたいと思います。 処理の流れ 以下に、全体の流れを示します。 ここでは、以下の2つの目的で、UIDocumentInteractionControllerを使った連携を使用しています。 (1) SysStats Liteから、SysStats Monitorへのプロセスブックマークの移行 SysStats Liteで蓄積し

    UIDocumentInteractionControllerによる、アプリケーション間のファイル受渡し - More the iPhone Development Playground
  • iOSの中で、アプリケーション同士が連携するためのしくみ - More the iPhone Development Playground

    AppStore経由でリリースされているアプリは、Appleによって定められたガイドラインを守ることが義務付けられていることは、みなさん周知の事実です。マルチタスキング環境となったといっても、「バックグラウンドに常駐させて好きなように振舞う」ということは許されていません。開発者の方であれば、知っていることですが、バックグラウンド処理は、以下のような目的に限定して許可されています。 オーディオコンテンツの再生 位置情報のトラッキング VoIPアプリケーション(電話等)のインターネット接続維持 例えば、SysStats Monitorのようなアプリが、常駐プロセスとして動作し、メモリ使用状況を定期的に記録するなんてことはできません。 また、そもそも通信機能が制限されているので、アプリ間で通信してリアルタイムに連携することもできません。 以上、「できないこと」ばかりを挙げて、ネガティブな感じにな

    iOSの中で、アプリケーション同士が連携するためのしくみ - More the iPhone Development Playground
  • iTunesのファイル共有機能を使えるようにしてみました - More the iPhone Development Playground

    SysStats Monitorでは、次のバージョンで、iTunesのファイル共有機能をサポートするようにしてみました。 ファイル共有機能がどういうものなのかについては、以下の記事がわかりやすいと思います。 iWork for iOS:iTunes のファイル共有について iPadのこととして書かれていますが、iOS4からは、iPhoneでも同じようにできますね。 アプリ側はどういうことするかというと、Info.plistの"Application supports iTunes file sharing"をYESにするだけです。これによって、iTunes経由でアプリのDocumentsディレクトリとコンピュータ間でファイルをコピーすることができるようになります。 SysStats Monitorの場合は、保存しているデータは少ないので、この機能を入れるメリットはあまりなく、試験的な意味合

    iTunesのファイル共有機能を使えるようにしてみました - More the iPhone Development Playground
  • iPhoneの空きメモリがだんだん減って行くのはなぜか? - More the iPhone Development Playground

    iOSでは、モバイルデバイスの限られたリソースや操作感を前提に、独自のマルチタスキング環境が実現されています。 ユーザから見たその特徴は、 アプリをすばやく切換えられる(Fast app switching)。 再度呼び出した時に、前回の状態が維持されいて、操作を継続できる。 と、いったところが大きいですね。 例えば、 メールの中のリンクをタップしてSafariを起動して、Webサイトを見る。 また、メールに戻る。 もう一度Safariで先程見ていたものを見る。 といった一連の動作をスムーズに行えるようにするような感じです。 でも、ここまではOS3.xでもできていましたよね。 iOS4では、こういう能力を、他の標準アプリや、AppStoreで販売される一般のアプリにも広げたのだと、私は理解しています。 ちなみに、どうやってアプリを終了させるの? という質問ヘの回答は「終了させる必要はない」

    iPhoneの空きメモリがだんだん減って行くのはなぜか? - More the iPhone Development Playground
    odawara
    odawara 2010/09/25
  • iPhoneの「電源オフ」と「リセット」は何が違うのか? - More the iPhone Development Playground

    iPhoneの調子が悪いときに、システムを再起動することで問題が解決することが多いのは、みなさんがご存知だと思います。 iPhoneユーザガイドの226ページにある、「付録 A: サポートおよびその他の情報」の「iPhone を再起動する/リセットする」には、具体的な操作方法が説明されていますが、「電源オフ」→ 「電源投入」の流れを「再起動」と呼んでいるようです。 この「再起動」と「リセット」にはどのような違いがあるのかについて、考えてみました。 安全性について このユーザガイドの説明で、1つ気になるのは、以下の記述です。 iPhone の電源を切ることができない場合や、問題が解決しない場合は、iPhone のリセットが必要 な場合があります。 リセットは、iPhone の電源を切って入れ直しても問題が解決しない場合にのみ 実施してください。 これは暗黙的に、「再起動」の方が安全であること

    iPhoneの「電源オフ」と「リセット」は何が違うのか? - More the iPhone Development Playground
    odawara
    odawara 2010/08/04
  • SysStats Monitorのユニバーサル化を試してみました - More the iPhone Development Playground

    iPadでは、従来の多くのiPhoneアプリを、そのまま何も手を加えずに動かすことできますが、iPad向けに作られたものと比べると、見劣りするというのが事実です。SysStats Monitorも、残念ながら、現時点ではその状態にあります。 iPadへの格対応をする場合、当然のことながら、今のアプリをベースに作り込んで行くことになります。iPadが日で発売されてから、すでに3週間経ってしまい、今さら感もありますが、まずは試しにアプリのプロジェクトiPad対応(ユニバーサルバイナリ)にしてみたので、そのときのことを、メモを兼ねて、簡単にまとめてみました。 iPhone SDK3.2で実施したので、4.0には当てはまらない部分があることをご了承ください。 参考文献 当然ながら、iPad Programing GuideのStarting Your Project → Creating a

    SysStats Monitorのユニバーサル化を試してみました - More the iPhone Development Playground
  • iPhoneの空きメモリを少なくする方法 - More the iPhone Development Playground

    久しぶりの投稿です。 過去に何度か、空きメモリ不足に関する説明をしていますが、今回はちょっと切り口を変えてみました。 タイトルにあるように、わざわざ「空きメモリを少なくする」ということは、普通はやらないというか、望まれないことですが、アプリ開発時には必要な場面があります。 開発中のアプリが、空きメモリが少ない状態で、どのような振る舞いをするのかを確認したいようなケースがそれに該当します。 SDKに付属のiPhoneシミュレータでも、「メモリ警告をシミュレート」という機能はありますが、それは、あくまでも空きメモリ不足になったときにアプリに通知される警告が疑似的に出されるだけであり、当の空きメモリ不足状態とは異なります。 空きメモリを少なくする 以下のことをやれば、見事に空きメモリを少なくすることができます。 Safariで8個のViewすべてに、Webページを表示させる。 メールでHTML

    iPhoneの空きメモリを少なくする方法 - More the iPhone Development Playground
    odawara
    odawara 2010/07/03
  • Out Of Memory Killerに似てるけど、もう少しやさしいiPhoneOSの空きメモリー制御 - More the iPhone Development Playground

    みなさんは、Linuxカーネルに備わっているOOM Killer(Out of Memory Killer)というものをご存知でしょうか? OOM Killer(Out of Memory Killer)は,システムが実メモリーと仮想メモリー空間(スワップ領域)を使い切り,必要なメモリー領域を新たに確保できない場合に,プロセスを強制終了させて空きメモリーを確保する,Linuxカーネルの仕組みです。OOM Killerは,空きメモリーが確保できないことによりシステム自体が停止するという最悪の事態を避けるために用意されています。 Linuxキーワード - OOM Killer:ITpro iOS4で、格的なマルチタスク環境がサポートされるようになりましたが、3.x以前でも、Safariやメール、iPodなどの、標準アプリケーションは、バックグラウンド化されていたのは周知の通りです。 その頃か

    Out Of Memory Killerに似てるけど、もう少しやさしいiPhoneOSの空きメモリー制御 - More the iPhone Development Playground
    odawara
    odawara 2010/07/03
  • iPhoneアプリは、そんなに自由に作れない - More the iPhone Development Playground

    iPhoneは、DarwinをベースにしたiPhone OSで動作するコンピュータです。iPhoneの基システムを構成するソフトウェアは、バックグラウンドプロセスと動作しており、そのあたりは、一般的なコンピュータと大差ありません。そのためかどうかはわかりませんが、AppStoreのカスタマーレビューを見ていると、ふつうにPCでできることは、iPhoneでも当たり前にできるのではないかという誤解を持たれている方が、少なからずいらっしゃるように感じます。 iPhoneのアプリケーション実行環境に対しては、いくつか制約がかけられており、PCでは普通にできそうなことも、iPhoneアプリケーションでは実現できないことがあります。しかしながら、具体的にどういう制約があるのかについては、特に公表されているわけではないので、そこに誤解が生じてしまうのは、無理もないと思います。(開発者でさえ、申請してみ

    iPhoneアプリは、そんなに自由に作れない - More the iPhone Development Playground
  • 1