gpt4 book ai didi

ios - 移动和使用托管 In App Purchase 托管内容

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:19 25 4
gpt4 key购买 nike

我知道我正在下载托管的应用程序内购买。它将托管的 In App Purchase 内容下载到缓存目录,但由于我需要托管的 In App Purchase 内容是永久的,所以我需要将其移动到 Documents 目录。

一旦它在那里,我就需要实际访问内容。

我正在使用

    NSURL *url = download.contentURL;
NSError *error = nil;
NSArray *properties = [NSArray arrayWithObjects: NSURLLocalizedNameKey,
NSURLCreationDateKey, NSURLLocalizedTypeDescriptionKey, nil];

NSArray *zipContentsArray = [[NSFileManager defaultManager]
contentsOfDirectoryAtURL:url
includingPropertiesForKeys:properties
options:(NSDirectoryEnumerationSkipsHiddenFiles)
error:&error];

显示缓存中的输出

The download's contentURL is
file:///private/var/mobile/Applications/**/Library/Caches/***.zip/

zipContentsArray = (
"file:///private/var/mobile/Applications/***/Library/Caches/***.zip/ContentInfo.plist",
"file:///private/var/mobile/Applications/***/Library/Caches/***.zip/Contents/",
"file:///private/var/mobile/Applications/**/Library/Caches/***.zip/META-INF/"
)

我如何获取内容(即使是在 Caches 文件夹中 - 我假设无论其位置如何,它都是相同的过程)?

令人抓狂的是,Apple 提供的关于整个过程的文档如此之少,因此我们将非常乐意提供任何帮助。

最佳答案

我目前遇到了同样的问题,但我可以让你更进一步。您的权利是您的内容必须从缓存中移出,这在 Apple IAP 指南中有说明。我正在尝试下载非消耗性 IAP 的内容并将其内容移动到正确的路径。我已经设法将下载的内容获取到 iphone 缓存,但现在需要将此内容传递到正确的路径。

我使用了 http://xinsight.ca/blog/iap-content-download-in-ios6/ 中的一些代码这似乎是我需要的;但是我不确定我需要为我的应用程序包声明哪条路径。从代码来看,这似乎与“MyConfig”有关

- (void) processDownload:(SKDownload*)download;
{
// convert url to string, suitable for NSFileManager
NSString *path = [download.contentURL path];

// files are in Contents directory
path = [path stringByAppendingPathComponent:@"Contents"];

NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error = nil;
NSArray *files = [fileManager contentsOfDirectoryAtPath:path error:&error];
NSString *dir = [MyConfig downloadableContentPathForProductId:download.contentIdentifier]; // not written yet

for (NSString *file in files) {
NSString *fullPathSrc = [path stringByAppendingPathComponent:file];
NSString *fullPathDst = [dir stringByAppendingPathComponent:file];

// not allowed to overwrite files - remove destination file
[fileManager removeItemAtPath:fullPathDst error:NULL];

if ([fileManager moveItemAtPath:fullPathSrc toPath:fullPathDst error:&error] == NO) {
NSLog(@"Error: unable to move item: %@", error);
}
}

有人可以补充一下吗,这样我们都能取得一些进展吗?

关于ios - 移动和使用托管 In App Purchase 托管内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24646389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com