質問: 最近MonacaでHTML,CSS,jsを使いこなせるようになりました。 しかし、これらはアプリを起動している間しか機能しないものだと思っています。 iPhone開発において自分が作りたいものはiPhoneのシステムに直接影響を与えるものを作ろうとしているのですが、作成方法が分からず真似しようにも真似できません。 そこで次のアプリは**どのような開発環境(言語)**の**何の機能**なら作成可能なのか教えていただきたいです。 複数の開発環境で作成可能ならそれも教えていただきたいです。 1、Simeji 機能 iPhone、設定、一般、キーボードからキーボードを追加する設定を行える。 疑問 iPhoneのシステムのキーボードのメモリ領域に新しいものを追加する方法とは? システムに介入するのにどのような権限が必要か? 2、StageCamHD 機能 カメラ機能、しかしもともとのiPhoneのカメラではなくシャッターなどのレイアウトや機能が異なる。 jsによりカメラの起動は可能ですが、起動→撮影データの取得→アプリに戻って表示 の機能しか知りません。 疑問 カメラ画面での画面のレイアウトや解析度、画面の明るさ(この機能は各バージョン)の変更方法 3、AdBlocker 機能 iPhoneの標準ブラウザSafariを設定→Safariにコンテンツブロッカーを追加 コンテンツブロッカーをオンにするとSafariを使っているとき広告などのホップアップを無効化する。 疑問 設定に影響を与える方法とは?Safariを起動しているときのバックグラウンドで動く機能はiPhoneのシステムで動くのか、このアプリを経由して動くのか。 ついでに自分が知っているiPhoneに使用可能言語は html,css,js,Swift程度なのですが、iPhoneに対応している言語の全部を教えてほしいです。
回答: 言語について 基本的にiOSアプリはObjective-C(およびC/C++)、Swiftを使って開発します。 MonacaのようなHTML/CSS/JavaScriptで開発可能なプラットフォームは、これらで作成したものを上記のネイティブ言語に橋渡しすることで、アプリ開発を行っています。 そのような仲介を行うプラットフォームがあれば、他の言語でも開発は可能でしょう。 アプリについて 【1、Simeji】 iOS8にて、カスタムキーボードを開発するAPIが解放されました。 要は、iOS側がキーボードを変更することを可能にする窓口を用意したわけです。 Simeji等はその窓口の定めるルールに基づいて開発し、アプリとして提供しています。 【2、StageCamHD 】 一般的なカメラアプリはハードウェアのカメラデバイスから情報を取得し、画像データとして表示/保存する等、「カメラ」として機能する根幹の処理等から開発しています。 そこには画面レイアウトや、場合によってはコントラスト等の画質調整も含みます(※iOS側が提供している機能を呼び出しているだけの場合もあります)。 >起動→撮影データの取得→アプリに戻って表示 推測ですが、これはその根幹の部分(≒撮影データの取得)を既存のものに代理で行ってもらっているだけではないでしょうか。 【3、AdBlocker 】 他のアプリに影響を与える方法については、私も不勉強でお答えできることがありません・・・