ユーザーの端末にダウンロードされる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))
}
}