問題タブ [appstore-sandbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1688 参照

macos - Apple のクイック スタートでコンソールに Mac OS アプリのサンドボックス違反が表示されない

サンドボックスを有効にするために、この Apple チュートリアルを実行しています。Xcode プロジェクトの作成、アプリ サンドボックスの有効化、証明書の作成、コード署名 ID の指定、およびアプリがサンドボックス化されていることの確認というセクションを正常に完了しました。

その後、意図的な違反を診断しようとすると、ガイドに記載されているようにコンソールに何も表示されません。[アプリのサンドボックスを有効にする] はオンになっていますが、その下には何もありません (例: 送信接続を許可する)。権利ファイルは、サンドボックスが有効になっていることを示しており、アプリは Apple の Web サイトを表示しておらず、アクティビティ モニターはアプリがサンドボックス化されていることを示しています。

を使用しConsole.appて、すべてのメッセージを確認しています (チュートリアルの「アプリ サンドボックス違反を診断するには」セクションで説明されているように)。からのメッセージが表示されることを期待していますがsandboxd、サンドボックスに関連するものは表示されません。アプリケーション自体は、チュートリアルで説明したとおりに動作し、サンドボックス化されていない場合は Apple Web サイトを表示し、サンドボックス化されている場合は表示しません。

私は Mac OS 10.8.2、Xcode 4.5.1 を使用しています。私は何が欠けていますか?

0 投票する
2 に答える
1417 参照

macos - ファイルのアプリスコープのブックマークを取得できません-OSXサンドボックス

私はネットとAppleの助けを精査して、これに関するある種のガイダンスを求めてきました。誰かが同じような状況に遭遇したのではないか、あるいは何が起こっているのか(または起こっていないのか)について何らかの洞察を持っているのではないかと思います。

アプリケーションが後のセッションで呼び出すファイルのアプリスコープのブックマークを取得しようとしています。パス自体が選択されたセッション中に開く(および再度開く)ことができるため、ユーザーが選択した後、パス自体がサンドボックスに正しく追加されていることを確認できます。

ただし、後でアクセスするためにセキュリティスコープのブックマークを取得しようとしても機能しません。

これが私がしていることです:

url文字列から生成されたpathものと、たとえばNSSavePanelの結果でテストしたものの両方で試しましたURL。(この文字列pathは、従来の理由から、私が使用できるようにしたい文字列です。)

bookmarkDataWithOptions他のレガシーコードの理由で、利用できない10.6 SDKでコンパイルする必要があるため、定数の代わりにの値を使用する必要NSURLBookmarkCreationWithSecurityScopeがあります。

パスが問題のファイルを「/Users/me/Documents/document.ext」として指していること、およびがNSURL正しく初期化されているように見えること(または少なくとも同じパスを反映していること)を確認できます。

アプリケーションには資格が含まれていますcom.apple.security.files.bookmarks.app-scope

とにかく、これは機能しません。そのコードの結果bookmarkDataは0x0と0x0の両方errorになり、コンソールには次のように表示されます。ScopedBookmarkAgent: Failed to retrieve app-scope key, aborting.

の代わりにに変更relativeToURLし、エンタイトルメントをに変更すると、正しく機能しているように見えます。つまり、少なくともゼロ以外の値を取得し、エラーはログに記録されません。しかし、それは私が望んでいることではないと確信しています(つまり、ドキュメントスコープのブックマーク)。urlnilcom.apple.security.files.bookmarks.document-scopebookmarkData

私が間違っていることは明らかですか?

0 投票する
1 に答える
1375 参照

cocoa - サンドボックス化された OS X アプリの WebView に Webkit プラグインを追加するにはどうすればよいですか?

私は OS X アプリケーション開発に慣れていないので、ご容赦ください..... WebView を広範囲に使用して、ブラウザ プラグインに依存するビデオ会議/画面共有機能をユーザーに提供する OS X アプリケーションを持っています。ビデオ プラグインはサンドボックスを無効にしても機能しますが、OS X App Store でアプリを配布したいので、サンドボックス化された WebView で動作させる必要があります。

私の質問は、サンドボックスを有効にして、サンドボックス化された WebView にブラウザー プラグインを含めるにはどうすればよいですか? プラグインをアプリにバンドルし、プラグインを含めて WebView を初期化できますか? この例は、Apple 開発者向けドキュメントやインターウェブのどこかにありますか?

0 投票する
3 に答える
3552 参照

ios - iOS GameCenterリーダーボードには、サンドボックスモードでのスコアのみが表示されます

ゲームのサンドボックスモードでリーダーボードを作成しました。次に、さまざまなgamecenterアカウントを使用してゲームをプレイしようとしました。ただし、現在ログインしているアカウントのスコアしか表示されません。それが正しいか?または私は何かを逃しましたか?ゲームをテストするために、サンドボックスのリーダーボードに大量のレコードを入力するにはどうすればよいですか?

ありがとうございました!

0 投票する
2 に答える
2512 参照

cocoa - アプリケーション サンドボックス: ファイルの名前を変更できない

ユーザーがファイルのリストを管理できるようにする基本的な Cocoa アプリがあります。ファイルはドラッグ アンド ドロップで追加され、アプリケーションの再起動後も安全なブックマークにアクセス許可が保持されます。

ここまでは順調ですね。アプリはユーザーのファイルの読み取りと書き込みを許可されていますが、名前の変更は、アプリが親フォルダーへのアクセスを許可されていないことを示すアクセス許可エラーで失敗します。

コード:

エラー:

これは昨日だけ機能していたことを誓います。何も変わっていません...(以下の更新を参照)

ともかく。ユーザーが [開く] ダイアログまたはドラッグ アンド ドロップを介してファイルへのアクセスを許可した場合、サンドボックス化されたアプリケーションがファイルの名前を変更できるようにする必要があると思います。

アップデート:

私はついにこれを私のコードの変更まで追跡することができました:

NSFileCoordinator.item(at: newSrcUrl, willMoveTo: newDstUrl)実際の移動を実行する前に呼び出すと、エラーを再現できます。この手順をスキップすると、コンソールでエラーが発生することなく、すべてが再び機能します。

完全なコード:

item(at oldURL: URL, willMoveTo newURL: URL)ドキュメントのファイル名拡張子 (.rtf から .rtfd など) を変更するときに意図されているようですが、これは私のアプリには当てはまりません。ファイル拡張子ではなく、ファイル名のみが変更されます。メソッドを呼び出すのがベストプラクティスだと思いましたがwill/didMove、副作用があるようです。

要約すると、私のアプリが行うことは、ユーザーにフォルダーを開くように求めることだけです (NSOpenPanelそのため、アプリはそのフォルダーへの書き込み許可を取得します)。その後、アプリはそのフォルダーにファイルを作成し、後で名前を変更します。

0 投票する
1 に答える
190 参照

objective-c - OS X App Sandbox でファイルを更新するためのベスト プラクティス

サンドボックス化されていないアプリをアプリ サンドボックスに移行する方法は知っていますが、既にアプリ サンドボックス コンテナーにあるファイル (主に設定リスト) を更新するためのベスト プラクティスを知りたいのですが?

最終的に、アプリのサンドボックス コンテナー内の設定リストを更新するのに似た方法があれば、それがNSUserDefaults私が探しているものです。

私が読んだ情報源:

アプリ サンドボックス設計ガイド

NSUserDefaults クラス リファレンス

アプリのサンドボックス化

0 投票する
2 に答える
1659 参照

macos - Macデベロッパープログラムアカウントなしでアプリのサンドボックスをテストするにはどうすればよいですか?

iOS開発者プログラムアカウントなしでシミュレーターを使用してiOS用に開発できます(デバイス上で実行することはできません)。Mac開発者プログラムのものと同等の作業方法はありますか?有料アカウントにサインアップする前に、サンドボックスの互換性(したがってApp Storeの配布)についていくつかのユーティリティアプリをテストしたいと思います。私のアプリが機能しないか、少なくとも簡単に修正できない場合は、99ドルの価値はありません。

サンドボックスを適用するために有効にできるプロジェクト設定はありますか?コード署名は機能しないと思います。

0 投票する
0 に答える
258 参照

macos - Macサンドボックスの資格と関連機能のタイムライン

サンドボックスがMacOSX Lion(10.7)で導入されたことは理解していますが、一時的な例外資格、具体的にはcom.apple.security.temporary-exception.files.home-relative-path.read-writeが後の10.7.xで導入されました。更新(どれ?)

同様に、セキュリティスコープのブックマークは10.7.3で導入されました。

私のMacアプリ(現在サンドボックス化されていない)は、ユーザーのMac上の画像への参照を持つドキュメントを作成するドキュメントベースのアプリです。ユーザーが自分のドキュメントでいくつかの画像を使用すると、そのドキュメントで使用されている画像のパス(たとえば、/ Users / myname / Desktop / pic.jpg)を保存するだけです。ユーザーがアプリを終了して保存したドキュメントを再度開くと、アプリはドキュメントからのパスを使用して画像に簡単にアクセスできます。私たちのアプリはサンドボックス化されていないため、これはすべてのバージョン10.6.x、10.7.x、および10.8.xで機能します

ここで、アプリをサンドボックス化し、Mac OS Xのすべてのバージョン(10.6.x、10.7.x、および10.8.x)で引き続き機能することを確認します。これを実現するために、

  1. 一時的な例外の資格、具体的にはcom.apple.security.temporary-exception.files.absolute-path.read-writeを要求すると、10.7.3以降のランダムなファイルアクセスが可能になります。しかし、10.7、10.7.1、および10.7.2に対して何をしますか?

  2. 10.7.3以降、セキュリティスコープのブックマークの使用を開始します。

0 投票する
1 に答える
196 参照

macos - 一時的な例外資格が初めて含まれた Mac OS X のバージョンは?

サンドボックスは Mac OS X Lion (10.7) で導入されましたが、一時的な例外資格、特に com.apple.security.temporary-exception.files.home-relative-path.read-write は後の 10.7.x で導入されたことを理解しています。アップデート。どの 10.7.x アップデートですか?

0 投票する
1 に答える
1667 参照

objective-c - サンドボックス化された Mac アプリケーションでユーザーの Pictures ディレクトリを取得するには?

com.apple.security.assets.pictures.read-write 資格が YES に設定されたサンボックス化された Mac アプリがあります。したがって、ユーザーの実際の /Users/username/Pictures ディレクトリにアクセスできます。

このディレクトリのパスをプログラムで取得したいのですが、どうすればよいですか?

現在、次のことを行っていますが、サンドボックス コンテナーの写真の場所になります。