電話

2016-08-28 7 views
0

上のコンピュータのファイルにアクセスするにはどうすれば自分のコンピュータ上のファイルにアクセスするために 電話

let data = try? 
NSString(contentsOfFile: "/Users/BenA**** 1/Desktop/textFile.txt", 
encoding: String.Encoding.utf8.rawValue) 

を使用しています。私がテストしたとき、私の電話にアプリを置くと、明らかにそれはファイルにアクセスできなかったので動作しませんでした。このファイルを私の電話に入れてそこからアクセスできるようにするにはどうすればいいですか?ありがとう。

答えて

0

は、ドラッグして、メインバンドル内のあなたの「textFile.txt」を含めると、コードの残りの部分で「データ」をアクセスするには、この方法を試してみてください

class testViewController: UIViewController{ 

var data:String = "" 
override func viewDidLoad() { 
    super.viewDidLoad() 

    let path = NSBundle.mainBundle().pathForResource("textFile", ofType: "txt") 
    data = try? NSString(contentsOfFile: path!, encoding: ENCODING) 
}} 

でアクセスその後、Xcodeプロジェクトにファイルをドロップします。 このヘルプが必要です。

+0

これで前のコードをこれに置き換えました。プロパティ初期化子内でインスタンスメンバー 'path'を使用できません。 'self'が利用可能になる前に実行されるプロパティ初期化子。 viewDidLoad関数にそれを置くと、エラーは修正されましたが、変数は残りのコードからアクセスできませんでした。パス変数を取り除き、パスを入れてみると効果的です。 –

0

iOSの動作をシミュレートするには、macOSでサンドボックスを有効にします。

これで、アプリのコンテナにのみアクセスできます。

しかし、Documents,Libraryなどの定義済みのフォルダはまだ存在します。

そのディレクトリにアクセスするには、NSFileManagerというメソッドが必要です。たとえば、iOSの最も重要なディレクトリの1つはDocumentsディレクトリです。

let documentsFolderURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomain: .UserDomainMask).first! 

は、あなたはその方法あなたがあるため、絶対パスが変更され、セキュリティ上の理由から、特定のディレクトリのURLを取得する必要があるたびに使用する必要があります。