标签: iap-hosted-content

`startDownloads`无法恢复的事务.`updatedDownloads`没有被调用

我在恢复托管的应用内购买内容时遇到问题.有时它有效,有时它根本不起作用.我的用户也在报告此问题.

我很难尝试复制它,但是当它发生时我设法遇到了这种情况.

现在每当我从Xcode上运行我的Mac上的应用程序时,我的商店代表会在启动后不久通知队列中有两个待处理的恢复事务.并且正在调用以下函数:

func provideContent(_ transaction:SKPaymentTransaction) {
    if transaction.downloads.count > 0 {
        GLXLogger.shared.addGeneralLog(format: "[STORE] starting download")
        SKPaymentQueue.default().start(transaction.downloads)
    }
Run Code Online (Sandbox Code Playgroud)

我看到了日志消息,[STORE] starting download所以我知道这段代码已经执行了.然后什么都没发生.updatedDownloads不叫.我已经验证finishTransaction也没有调用,所以这不可能中断正常执行.

我基本上没有想到可能导致这个问题的想法.我知道这个场景有两个挂起的恢复事务,但我认为没有理由导致这样的失败.它对应于我在一些用户的日志中看到的内容.对于他们SKPaymentQueue.default().start(transaction.downloads)被称为后来没有任何事情发生.

如果你能帮我调试一下,我至少会对你认为可能造成这种奇怪行为的想法提出一些看法.

storekit in-app-purchase iap-hosted-content swift skpaymenttransaction

6
推荐指数
0
解决办法
86
查看次数

在iOS上使用Apple托管内容和应用内购买时,是否可以在购买之前下载内容?

我正在开发一个应用程序,该应用程序将使用带有Apple托管内容的IAP.我想在购买之前向正在下载的人展示内容的图像.应用程序是否可以在用户购买之前从Apples服务器下载内容?这样我就可以从该包中加载图像并显示它们.当用户购买时,应用程序会显示包中的其余内容.

iphone in-app-purchase ios ios6 iap-hosted-content

6
推荐指数
1
解决办法
1382
查看次数

IAP创建 - 没有"托管内容"

我希望在接下来的一周左右更新我的一个旧应用程序,并希望在应用程序购买中实现托管,而不是我的旧服务器策略.

根据我正在阅读的文档,它说"在应用内购买详细信息页面的Apple主机内容部分中,单击是"; 但是,当我创建任何新的应用内购买时,我无法看到该框.是否有一些理由认为该选项不适合我?

iphone in-app-purchase ios iap-hosted-content

5
推荐指数
1
解决办法
346
查看次数

解压缩内容应用内购买ios

在应用内购买的情况下,苹果托管的内容将以.zip的形式下载.我试图解压缩这些内容,但提交zipArchive打开.zip文件.

ZipArchive* za = [[ZipArchive alloc] init];
za.delegate = self;
NSString *path = [download.contentURL path];
if([[NSFileManager defaultManager] fileExistsAtPath:path])
{
    NSLog(@"File Exists: %@", path);
}
else
{
    NSLog(@"file not exists: %@", path);
}


if( [za UnzipOpenFile:path] ) {
    if( [za UnzipFileTo:dir overWrite:YES] != NO )
    {
        NSLog(@"unzip data success");
        //unzip data success
        //do something
    }
    else
    {
        NSLog(@"unzip failed");
    }


    [za UnzipCloseFile];
}
else
{
    NSLog(@"unzip can't open file");
}
Run Code Online (Sandbox Code Playgroud)

输出是

文件存在:....路径..解压缩打开文件

相反,如果我捆绑一个.zip文件,它的工作正常

path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"module.zip"];

ZipArchive* za …
Run Code Online (Sandbox Code Playgroud)

unzip in-app-purchase ios iap-hosted-content

2
推荐指数
1
解决办法
1290
查看次数

iOS:如何在itunesconnect中将Apple Hosted内容上传到应用内购买

我有非消费品购买,并希望与Apple托管.

它就像一本书,包含图像和JSON管理.我该如何上传?

itunesconnect in-app-purchase ios application-loader iap-hosted-content

1
推荐指数
1
解决办法
1780
查看次数