2016-03-27 12 views
1

ユーザーの端末にダウンロードされるPNGファイルで構成されるアプリ内購入を含むiOSアプリを開発しています。iOS端末でのアプリ内購入へのアクセス

私は、ログ文を見て伝えることができるか、ファイルがこのディレクトリに正常にdowloadedされているから:

/var/mobile/Containers/Data/Application/ABC43D27-B79C-486C-AE39-F34BF6EF8658/Documents/

私は、ユーザーがされるユーザのデバイス上の場所にファイルを移動するにはどうすればよいですユーザーのiCloudストレージなど、ファイルにアクセスできますか?

これが役に立ちそうな場合は、ファイルをダウンロードするためのコードを以下に示します。

func paymentQueue(queue: SKPaymentQueue, updatedDownloads downloads: [SKDownload]) { 
    for download:AnyObject in downloads { 
     if let down:SKDownload = download as? SKDownload { 
      switch down.downloadState { 
      case .Active: 
       NSLog("progress %f", down.progress) 
       NSLog("remaining %f", down.timeRemaining) 
       NSLog("Active") 
       break 
      case .Cancelled: 
       NSLog("%@", "download cancelled") 
       break 
      case .Failed: 
       NSLog("%@", "download failed") 
       textView.text = "Download Failed" 
       break 
      case .Finished: 
       NSLog("Finished") 
       let source = down.contentURL?.relativePath 
       //var dict = NSMutableDictionary(contentsOfFile: (source! as NSString).stringByAppendingPathComponent("ContentInfo.plist")) 
       let pathToDownloadsFolder = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String 
       //let pathToDownloadsFolder = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first! 
       let content:String = 
        (pathToDownloadsFolder as NSString).stringByAppendingPathComponent("bonus_brune_image.png") 
       //let content:String = pathToDownloadsFolder.URLByAppendingPathComponent("bonus_brune_image.png") 
        self.copyPathToDownloadsFolder(source!, target: content) 
        SKPaymentQueue.defaultQueue().finishTransaction(down.transaction) 
        break 
      case .Paused: 
       NSLog("%@", "download paused") 
       break 
      case .Waiting: 
       NSLog("%@", "download waiting") 
       break 
      } 
     } 
    } 
} 

func copyPathToDownloadsFolder(source:String, target:String) { 
    NSLog("Source is %@", source) 
    NSLog("Target is %@", target) 

    let filemgr:NSFileManager = NSFileManager.defaultManager() 

    do { 
    try filemgr.copyItemAtPath(source, toPath: target) 
     NSLog("Success: file is now in %@", target) 
    } catch let e as NSError { 
     NSLog(String(e)) 
    } 
} 

答えて

0

だから私は解決策がこのであることが判明:を共有iTunesのファイルを使用します。

iTunesファイルの共有を有効にするには、info.plistUIFileSharingEnabledtrueに設定します。

ユーザーがデバイスをiTunesに接続し、iTunesにインストールされているアプリを表示すると、アプリは「ファイル共有」アプリに表示され、アプリのDocumentsディレクトリに保存されているドキュメントは、セーブ。

関連する問題