gpt4 book ai didi

ios - iTunes Connect没有退回任何产品

转载 作者:行者123 更新时间:2023-12-01 16:36:49 25 4
gpt4 key购买 nike

我一直在搜索stackoverflow数天,以了解如何从iTunes Connect返回产品。我发现了很多信息,并试图遵循它。但是,我只是无法在SKProductsResponse中返回任何产品。
我正在使用Xcode 6.1.1
我尝试删除和重新添加产品。
我已经在模拟器和iPhone 5上进行了尝试。
我已经等了24小时,看看是否会导致产品出现。没有。

这是我每次都要遵循的过程:

developer.apple.com中的

  • :
  • 检查我是否具有有效的iOS开发证书
  • 我的iOS设备(iPhone 5)已注册
  • 创建一个新的应用程序ID
  • 使用带有捆绑ID的显式应用ID:com.ftotech.iaptest01
  • 在App Services中检查
  • 应用内购买检查标记
  • 创建一个新的配置文件
  • iOS应用程序开发类型的配置文件
  • 选择了在
  • 上方创建的应用ID
  • 选择了我的iOS开发证书
  • 选择了我的iOS设备
  • 将配置文件命名为与捆绑软件ID相同的名称:com.ftotech.iaptest01
  • 供应配置文件显示状态为 Activity
  • 创建具有以下分辨率的图标PNG,无alpha通道:
  • 1024x1024
  • 76x76
  • 120x102
  • 152x152
  • 创建以下分辨率的屏幕快照PNG,无alpha通道:
  • 640x920(用于3.5英寸
  • )
    4.7英寸的
  • 750x1334
  • 640x1096(用于4英寸
  • )
  • 1242x2208(用于5.5英寸
  • )
    iPad版
  • 1024x748
  • 产品的
  • 640x920
  • 在Xcode中创建新的单视图项目:iaptest01

    项目设置中的
  • ,常规,标识部分:
  • 已验证捆绑包ID为com.ftotech.iaptest01
  • 未找到签名身份错误,因此单击了“修复问题”按钮,选择了我的开发团队
  • 错误消失
  • 在项目设置的
  • 的“常规”,“链接框架和库”部分中,添加了StoreKit.framework
  • 在项目设置的“功能”部分中的
  • 中,验证了应用内购买项目为ON,并检查了两个步骤(链接stoker.framework和添加应用内购买权利)
  • 将图标添加到资产目录:
  • 将76x76图标拖到ipad应用1x
  • 将120x120图标拖到iPhone应用程序2x
  • 将152x152图标拖到iPad应用程序2x
  • 在故事板上,在顶部居中添加了一个标签,并添加了一个名为labelProduct
  • 的出口。
    下面的
  • ViewController.h
  • 下面的
  • ViewController.m
  • 存档应用程序并提交-
  • 成功
  • 在iTunes Connect中创建新的iOS应用
  • 选定的捆绑包ID com.ftotech.iaptest01
  • 完成定价部分
  • 在应用内购买部分中
  • ,创建可消费产品
  • 产品ID:com.ftotech.iaptest01.product1
  • 已清除待售-是
  • 设置语言设置
  • 添加了屏幕截图
  • 产品显示“准备提交”状态
  • 版本部分上的

  • 完成所有必填字段
  • 上传截图和图标
  • 将产品添加到应用内购买部分
  • 将构建添加到构建部分
  • 已提交审核-成功,目前正在等待审核

  • ViewController.m:
    //
    // ViewController.m
    // iaptest01
    //
    //

    #import "ViewController.h"

    @interface ViewController ()

    @end

    @implementation ViewController

    - (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    activityIndicatorView = [[UIActivityIndicatorView alloc]
    initWithActivityIndicatorStyle:
    UIActivityIndicatorViewStyleWhiteLarge];
    activityIndicatorView.center = self.view.center;
    [activityIndicatorView hidesWhenStopped];
    [self.view addSubview:activityIndicatorView];
    [activityIndicatorView startAnimating];
    [self fetchAvailableProducts];
    }

    -(void)fetchAvailableProducts{
    NSSet *productIdentifiers = [NSSet
    setWithObjects:@"com.ftotech.iaptest01.product1",
    nil];
    productsRequest = [[SKProductsRequest alloc]
    initWithProductIdentifiers:productIdentifiers];
    productsRequest.delegate = self;
    [productsRequest start];
    }

    -(void)productsRequest:(SKProductsRequest *)request
    didReceiveResponse:(SKProductsResponse *)response
    {
    SKProduct *validProduct = nil;
    int count = (int)[response.products count];
    [_labelProduct setText:response.description];
    if ( count > 0 ) {
    validProducts = response.products;
    validProduct = [response.products objectAtIndex:0];
    [_labelProduct setText:[NSString stringWithFormat:
    @"found product: %@",validProduct.localizedTitle]];
    UIAlertView *tmp = [[UIAlertView alloc]
    initWithTitle:@"Available"
    message:@"Found products"
    delegate:self
    cancelButtonTitle:nil
    otherButtonTitles:@"Ok", nil];
    [tmp show];
    } else {
    UIAlertView *tmp = [[UIAlertView alloc]
    initWithTitle:@"Not Available"
    message:[@"No products: " stringByAppendingString:
    [NSString stringWithFormat:@"%d", count]]
    delegate:self
    cancelButtonTitle:nil
    otherButtonTitles:@"Ok", nil];
    [tmp show];
    }
    NSArray *products = response.invalidProductIdentifiers;

    for (SKProduct *product in products)
    {
    NSLog(@"Product not found: %@", product);
    }

    [activityIndicatorView stopAnimating];
    }

    - (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

    @end

    ViewController.h:
    //
    // ViewController.h
    // iaptest01
    //
    //

    #import <UIKit/UIKit.h>
    #import <StoreKit/StoreKit.h>

    @interface ViewController : UIViewController<SKProductsRequestDelegate>
    {
    SKProductsRequest *productsRequest;
    NSArray *validProducts;
    UIActivityIndicatorView *activityIndicatorView;
    }

    @property (weak, nonatomic) IBOutlet UILabel *labelProduct;

    - (void)fetchAvailableProducts;

    @end

    谁能看到我缺少的步骤或配置不正确的内容?

    谢谢!

    最佳答案

    问题是我的银行和税务信息不完整。
    为了使上述过程正常进行,请转到iTunes Connect中的“协议,税收和银行业务”区域,并验证“iOS付费应用程序”合同是否有效。
    完成信息后大约花费了15分钟,但是合同生效后,SKProductsResponse正确退回了产品。
    谢谢马特·吉布森(Matt Gibson)提出的提示,这些提示使我开始着手解决方案!
    顺便说一句,它确实可以在iOS Simulator 8.1中工作。

    关于ios - iTunes Connect没有退回任何产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27463381/

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