这是一个相当简单的问题,但无法通过研究找到答案。
我知道在最初的 StoreKit API 中,您必须为用户提供恢复购买的能力。然而,对于 StoreKit2,WWDC 视频解释说,很少需要恢复购买(如果有的话),因为 StoreKit2 会自动侦听并保持交易最新。
那么,如果仅使用 StoreKit2 并且最低部署目标为 iOS 15,添加恢复购买按钮是否仍然是强制性的?
从文档中尚不清楚您实际上如何验证服务器端 StoreKit 2 事务中的jwsRepresentation字符串。
Apple App Store 通知 V2中的“signedPayload”似乎也是相同的,但除了在设备上的客户端验证之外,也没有关于实际验证的文档。
是什么赋予了?我们用这个 JWS/JWT 做什么?
在我从PHP服务器验证了App Store的收据后,App Store向我发送了一个JSON响应
"status" : 0
"receipt" : ( .... )
Run Code Online (Sandbox Code Playgroud)
其中一个收据项是"purchase_date",其中包含以下字符串(示例)"2010-02-09 19:17:04 Etc/GMT"
我正在尝试建立订阅服务,并希望在此日期添加3个月,然后将该到期日期写入MySQL表.
PHP中是否有一个字符串到日期类型的函数,可以让我实现3个月的添加?
我找到了这个例子,看起来它增加了1个月的日期:
$date = date("Y-m-d");// current date
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将App Store传递的字符串转换为PHP识别日期.
我在应用程序购买时实施,当我请求付款时出现波纹错误.
事务错误:错误域= SKErrorDomain代码= 0"无法连接到iTunes Store"UserInfo = 0x2dcf40 {NSLocalizedDescription =无法连接到iTunes Store}
这里有时错误代码将是1004.所以我不能做交易.
在某些时候它会显示一个警告,例如"购买过程失败".,但仍然购买过程工作正常..
我做错了什么......或解决这个问题的任何解决方案..?
谢谢
我正在尝试使用MKStoreKit在我的应用程序中实现应用程序购买.我已经按照所有步骤操作,我收到错误:
iTunes连接产品配置问题:
我重新创建了配置文件,检查了产品ID与itunes连接相同,发送和拒绝了二进制文件,尝试删除所有内容并重新设置它并且没有任何工作.
任何的想法?
我正在一个iPhone应用程序中工作,我需要在其中添加inApp Purchase功能.现在在inApp Purchase中我需要添加大约20本已经在iBook商店中列出的书籍.现在,当我使用inApp购买付款时,从iBook商店购买的图书可以直接进入我的应用程序.是否可以在iPhone应用程序中进行,可以从iBook商店获取该书.
如果有人知道这件事,请帮助我.我还没有看到任何与此相关的东西,但实现起来真的很有趣.
提前致谢.
我想将SKPayment交易存储在用户默认值或设备上,我还想将交易数据存储在我的服务器上以后(尚未完成),以便用户可以在需要时恢复订阅/必要/可能.
我遇到的问题是我尝试保存到用户默认值,但它一直告诉我:
* - [NSUserDefaults setObject:forKey:]:尝试插入非属性值'{transaction =""; ''类'__NSCFDictionary'.
我使用的代码是:
// Save
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:transaction forKey:@"transaction"];
[[NSUserDefaults standardUserDefaults] setObject:dict forKey:@"TransactionReceipt"];
[[NSUserDefaults standardUserDefaults] synchronize];
// Read
NSMutableDictionary *savedDict = [[NSUserDefaults standardUserDefaults] objectForKey:@"MyTransactionReceipt"];
[[NSUserDefaults standardUserDefaults] synchronize];
NSLog(@"Saved stored transaction = %@", savedDict);
Run Code Online (Sandbox Code Playgroud)
我也尝试保存Transaction对象本身,而不是将其存储在字典中,但这总是会给出错误,它会抱怨它
"尝试插入非插入属性值..."
我也尝试过使用NSKeyedArchiver,但我不知道如何编写它来处理SKPaymentTransaction的读写.
任何有关这方面的帮助将非常感激.
谢谢.
我正在构建一个应用程序,它在Apple的服务器上托管了非消费类应用内购买.我已经成功地将我的应用内购买下载,但是当我将它们保存到文档目录中时,我似乎无法找到或访问它们.
这是我用来从下载的contentURL下载文件的功能.下载完成后调用它,传入download.contentURL将其在缓存中的位置移动到文档文件夹.
-(void)downloadFromURL: (NSURL *) temporaryURL {
NSLog(@"The download's contentURL is %@", temporaryURL.absoluteString);
NSString *folderName = [[temporaryURL path] lastPathComponent];
NSArray *pathArr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *folder = [pathArr objectAtIndex:0];
NSString *filePath = [folder stringByAppendingPathComponent:folderName];
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
NSError *writeError = nil;
NSData *downloadData = [[NSData alloc] initWithContentsOfURL:temporaryURL];
[downloadData writeToURL: fileURL options:0 error:&writeError];
if( writeError) {
NSLog(@"Error in writing file %@' : \n %@ ", filePath , writeError);
return;
}
NSLog(@"File successfully downloaded. Url is %@",fileURL.absoluteString);
myFileURL = …Run Code Online (Sandbox Code Playgroud) 我需要我的一个应用内购买是免费的,可能是Apple IAP结构提供的吗?
目前购买的类型是non-consumable支付一切都没关系,但问题是,如果我从价格层"免费",我收到它的ID invalidProductIdentifiers.
我试图将我的第一个应用程序提交到ios应用程序商店,但是我收到了这个恼人的错误:
Apps that use the entitlements [com.apple.developer.in-app-payments]
must have a privacy policy URL for [English].
If your app doesn’t use these entitlements,
remove them from your app and upload a new binary.
Run Code Online (Sandbox Code Playgroud)
我正在实施应用程序购买并已成功测试它们.我不知道为什么我收到这个错误?我添加了StoreKit框架.在Xcode的我的功能部分,我开启了应用内购买,没有任何警告或错误.
任何人都可以解释或帮助我吗?