誰かがアプリを正常に送信したのか、launchdを使用するMacAppStoreに存在するアプリを知っているのか疑問に思っています。
ありがとう。
誰かがアプリを正常に送信したのか、launchdを使用するMacAppStoreに存在するアプリを知っているのか疑問に思っています。
ありがとう。
このようなことについてアップルに直接尋ねる方法はありますか? ダミーアプリを送信することは、可能性としては拒否されますが、launchd がアプリストアで許可されているか許可されていないかを知る良い方法ではありません。彼ら(リンゴ)は、あなたのアプリが役に立たない、または不自由であるという理由で拒否した可能性があります(笑)!公式のガイドラインは、特に技術的な制限の点で包括的ではありません.App Storeの「人々」と話すための公式チャンネルを見つけることはできません. 過去 5 年間、クラックのように打ち上げられたことを誇大宣伝した後、それは不愉快なことになるでしょう。Appleが実際にその機能を利用するアプリに対して包括的なポリシーを持っている場合... launchdは、それがそうであるように気紛れです. . フン。
フォローアップ..この特定の質問に対する答えではありませんが、主題に光を当てています...
「MAS アプリの終了ステータスを即座に取得するのは launchd です。これが、「open foo.app」を使用すると store_helper と storeagent が起動され、バイナリを直接呼び出すと起動されない理由です。
呼び出しプロセスが launchd にプロセスを生成するように要求できるようにする、プライベート launchd API (launchd ソースの launch_priv.h を参照) 'spawn_via_launchd' があるようです。この API は、「オブザーバー ポート」を介して作成されたプロセスに関するフィードバックを可能にします。10.6.5 と 10.6.6 の間の launchd の diff を見ると、Apple がコードのバグを修正して、正しい終了ステータスが launchd によってキャプチャされ、そのオブザーバー ポートを介して元のプロセスに転送されるようになっていることがわかります。
アプリケーションが LaunchServices を介して起動されると、LaunchApplicationViaLaunchD が「spawn_via_launchd」を呼び出し、NotifyServerSideAboutLaunchedApplication を介してオブザーバー ポートを渡すように見えます。これにより、オブザーバーポートがcoreservicesdに渡されると思います。終了コードをチェックするのは coreservicesd だと思いますが、確信が持てません。」
それは確かにiOS内に存在します-私はcom.apple.launchdがコンソール/ログで過去にスクロールするのを見ました(通常私が何かを壊したとき!)。
com.apple.mobilemailやcom.apple.mobilephoneなどのネイティブアプリ(UIKitApplication)が起動時に起動される時期に注意してください。
ネイティブアリーナの外でそれを使用できることに気づいていませんが、それについて文書化されたAPIはありません。私はいつも、OSXではなくiOSに関しては、それは私たちにとって単なる人間の限界を超えていると思っていました。