是否有任何一步一步的源代码/视频或任何其他类型的帮助来实现应用程序内购买?我已经尝试了很多教程但仍然无法获得应用内购买的完美解决方案..
共享密钥有什么用?
我正在使用In App Purchase创建我的第二个应用程序.第一个应用程序的一切都很好,它在应用程序商店中,但是当我调用[SKPaymentQueue canMakePayments]时,第二个应用程序我总是得到错误的结果.我在app 1和2之间做了相同的步骤.任何人都可以指出我需要检查的其他事情吗?
谢谢
我正在使用StoreKit我的应用程序中的应用程序内购买商店.
我有一个自定义设计,这意味着价格的价值应该是白色和大,货币符号更小,更暗,并与价格值的顶部对齐.
通过使用NSLocalein SKproduct的priceLocale属性和属性中的价格值,我可以毫无问题地获得货币符号price.
我的问题是知道何时应该在价格之前加上货币符号以及何时将货币符号放在价格之后.
例子:
我可以轻松地使用它NSNumberFormatter来"开箱即用",但由于我的布局为价值和货币符号定义了不同的风格,我发现自己处于需要更多手动解决方法的位置.
有什么想法吗 ?
使用以下代码,SKStoreProductViewController可以显示应用程序的描述.
当我触摸"免费"按钮时,它会显示"安装应用".然后我触摸"安装应用程序",进度条显示在应用程序图标内.但是,进度条会在2-3秒内消失,应用程序仍会被卸载.
这是我的演示应用程序.有谁知道原因?
SKStoreProductViewController *skvc = [[SKStoreProductViewController new] autorelease];
skvc.delegate = self;
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"425349261" forKey:SKStoreProductParameterITunesItemIdentifier];
[skvc loadProductWithParameters:dict completionBlock:nil];
[self presentViewController:skvc animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud) 找不到任何关于此的信息...如果我SKStoreProductViewController从我的应用程序中启动一个实例,将其提供给该应用程序的iTunes URL,它是否允许更新应用程序?换句话说,我想在我的应用程序中有一个"更新"按钮,显示一个SKStoreProductViewController并允许用户从那里更新应用程序.
这很难验证,因为SKStoreProductViewController运行App Store的"沙盒"版本,我不知道是什么决定它是显示"打开"还是"更新"按钮.
我正在使用SKStoreProductViewController以下方法显示iTunes产品.该方法被调用,但我没有成功或错误.知道为什么吗?:
@IBAction func BuySomething(sender : AnyObject) {
NSLog("%@","called");//gets called
let storeViewController:SKStoreProductViewController = SKStoreProductViewController();
storeViewController.delegate = self;
var someitunesid:String = "676059878";
var productparameters = [SKStoreProductParameterITunesItemIdentifier:someitunesid];
storeViewController.loadProductWithParameters(productparameters, { (success: Bool!, error: NSError!) -> Void in
if success {
NSLog("%@",success)//no call
self.presentViewController(storeViewController, animated: true, completion: nil);
} else {
NSLog("%@", error)//no call
}
})
}
Run Code Online (Sandbox Code Playgroud) 我的应用程序使用订阅模式,我收到投诉,其中一些用户无法恢复订阅SKPaymentQueue.restoreCompletedTransactions.他们必须删除应用程序并从AppStore重新下载.
我不确定为什么它只发生在一些用户身上,其中一个告诉我他通过itunes取消并重新启动,另一个关于付款问题.
那么为什么他们需要重新下载应用程序呢?我猜测一些信息在收据上没有正确刷新,所以我考虑使用SKReceiptRefreshRequest而不是restoreCompletedTransactions,或者可能同时使用两者.
有人可以解释这两个过程之间的差异吗?
我遇到了以下问题:当我的应用程序在设备上运行并点击"购买"按钮时,会触发应用程序内购买机制,最多需要十秒钟才能显示标准确认UIAlertView,其中显示:"你想要购买...".我以前从未见过这样的行为.通常它会立即发生.所以首先我认为这可能是由于互联网连接不良或类似的东西,但模拟器使用相同的WiFi网络,它完美地工作,警报视图立即呈现应有的.所以这个问题可能就在其他地方.有没有人解决这个问题?
这是按钮点击:
- (void)buyItemTapped:(id)sender
{
[[InAppPurchaseManager sharedInstance] buy:[NSString stringWithFormat:@"com.mycompany.myapp.unit%d", [sender tag] + 1]];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(transactionFailed)
name:TRANSACTION_FAILED_NOTIFICATION
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(productPurchased:)
name:PRODUCT_PURCHASED_NOTIFICATION
object:nil];
}
Run Code Online (Sandbox Code Playgroud)
购买方式:
- (void)buy:(NSString *)identifier
{
SKProduct *product = [self.products objectForKey:identifier];
if (product)
[self purchaseProduct:product];
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Invalid Product Identifier"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}
Run Code Online (Sandbox Code Playgroud)
purchaseProduct方法:
- (void)purchaseProduct:(SKProduct *)product
{
if ([SKPaymentQueue canMakePayments])
{
SKPayment *payment = [SKPayment paymentWithProduct:product];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
else
NSLog(@"Cannot …Run Code Online (Sandbox Code Playgroud) SO上有很多文章都SKStoreProductViewController禁用了"编写评论"按钮.然而,所有这些SO文章都已有数年之久,苹果文档中SKStoreProductViewController没有提到这种限制.
在iOS 9.3.2中进行测试时,该按钮未显示为已禁用,但在点击时没有任何操作,这不仅会让开发人员感到困惑,也会让用户感到困惑,这似乎不对.
对iOS 9来说也是如此
该接受的答案解释之间的差异SKStoreProductViewController,并SKStoreReviewController与应用的评价/审查使用.原始问题是在引入之前编写的SKStoreReviewController.
我正在使用 StoreKit 进行应用内评分。但是每当我调用 SKStoreReviewController requestReview 方法时,应用程序就会卡住,一段时间后显示视图视图,然后应用程序进入正常状态。为什么会发生这种情况,是否有任何解决方案?
我还有一个问题,是否有必要写评论(即)我不想打开应用商店来写评论,我希望该用户只需提交评论并留在应用程序中。