2016-05-05 2 views
0

それはアプリのための主要なバンドルのパスを取得するのはとても簡単です:のiOS - アプリケーションのメインバンドルパスを介し違い

/:iOSの9、結果のような多分何かを実行しているデバイスで

let path = NSBundle.mainBundle().bundlePath; 

VAR /コンテナ/バンドル/アプリケーション/ 52E76B99-BF75-4E99-82BB-51307695E694/AppName.app

結果は、Xcodeのを介してインストールされたアプリケーションは、の下に格納されていることを示していますiOSの9

上しかし、いくつかの他のデバイスでは、メインバンドルのパスのようなものです:

/民間の/ var /モバイル/コンテナ/バンドル/アプリケーション/ 0E6DD32F-4E6F-4E54-B47E- A91060097E16/myapp.app

これは奇妙です。その2つのパスは大きく異なっています。私はその違いを生み出すかもしれないのだろうか?

答えて

0

後で使用または比較するために保存する場合は、パスを使用しないでください。常にiOSによって実行時間が変更され、生成されるため、iOSの責任はバンドルパスを求めるときに正しいパスを取得することです。常に実行時に作成されるパスを使用する必要があります。

Good to read

+0

あなたは正しいです。しかし、問題は、メインバンドルパスが変更されたとしても、(/ var/containers/Bundle/Application'のような)いくつかの親ディレクトリを共有することです。私の場合は、そのパスはまったく異なります(1つは '/ private'で始まり、もう1つは始まらない)。 – kukushi

+0

デバイスとシミュレータのパスをチェックすると、この違いがあります。理由は分かりません。しかし、iOSが決定しました。 – Hemang

関連する問題