教你一步一步实现iOS真机调试、打包、app上架、苹果内购

近期对自己的App进行上架,其中走了很多弯路,最后终于成功了!总结了下方便以后复习同时让大家看下有没有纰漏的地方。

一、真机调试介绍


教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第1张图片
QQ20161031-0.png

二、怎样做真机调试

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第2张图片
QQ20161031-1.png

三、申请AppleID在这里就不做说明了,直接进这里https://appleid.apple.com/cn/注册就可以了

四、申请好AppleID后需要加入苹果开发者计划

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第3张图片
QQ20161031-2.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第4张图片
QQ20161031-3.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第5张图片
QQ20161031-4.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第6张图片
QQ20161031-5.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第7张图片
QQ20161101-0.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第8张图片
QQ20161101-1.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第9张图片
QQ20161101-2.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第10张图片
QQ20161101-3.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第11张图片
QQ20161101-4.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第12张图片
QQ20161101-5.png

五、配置真机调试

开发者主页:https://developer.apple.com

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第13张图片
QQ20161101-0.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第14张图片
QQ20161101-1.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第15张图片
QQ20161101-2.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第16张图片
QQ20161101-3.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第17张图片
QQ20161101-4.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第18张图片
QQ20161101-5.png

![QQ20161101-6.png](http://upload-images.jianshu.io/upload_images/1825653-44e06bcf38232990.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

![QQ20161101-7.png](http://upload-images.jianshu.io/upload_images/1825653-ba76df5f26421cb9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

![QQ20161101-8.png](http://upload-images.jianshu.io/upload_images/1825653-8640e269c94d8b21.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

![QQ20161101-9.png](http://upload-images.jianshu.io/upload_images/1825653-d4156f5f0c99018e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第19张图片
QQ20161101-10.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第20张图片
QQ20161101-11.png

![QQ20161101-12.png](http://upload-images.jianshu.io/upload_images/1825653-b65189eec4336eb0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第21张图片
QQ20161101-13.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第22张图片
QQ20161101-14.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第23张图片
QQ20161101-15.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第24张图片
QQ20161101-16.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第25张图片
QQ20161101-17.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第26张图片
QQ20161101-18.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第27张图片
QQ20161101-19.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第28张图片
QQ20161101-20.png

![QQ20161101-21.png](http://upload-images.jianshu.io/upload_images/1825653-853b1650aa70744e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第29张图片
QQ20161101-22.png

![QQ20161101-23.png](http://upload-images.jianshu.io/upload_images/1825653-ba29484e85020566.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第30张图片
QQ20161101-24.png

六、配置P12文件

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第31张图片
QQ20161101-0.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第32张图片
QQ20161101-1.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第33张图片
QQ20161101-2.png

七、测试打包介绍和流程

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第34张图片
QQ20161101-3.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第35张图片
QQ20161101-0.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第36张图片
QQ20161101-1.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第37张图片
QQ20161101-2.png
QQ20161101-3.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第38张图片
QQ20161101-4.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第39张图片
QQ20161101-5.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第40张图片
QQ20161101-6.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第41张图片
QQ20161101-7.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第42张图片
QQ20161101-8.png

八、发布应用程序

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第43张图片
QQ20161101-0.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第44张图片
QQ20161101-1.png

![QQ20161101-2.png](http://upload-images.jianshu.io/upload_images/1825653-245fe22ec650770d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第45张图片
QQ20161101-3.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第46张图片
QQ20161101-4.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第47张图片
QQ20161101-5.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第48张图片
QQ20161101-6.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第49张图片
QQ20161101-7.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第50张图片
QQ20161101-8.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第51张图片
QQ20161101-9.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第52张图片
QQ20161101-10.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第53张图片
QQ20161101-11.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第54张图片
QQ20161101-12.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第55张图片
QQ20161101-13.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第56张图片
QQ20161101-14.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第57张图片
QQ20161101-15.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第58张图片
QQ20161101-16.png

九、APP内购的介绍

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第59张图片
QQ20161101-0.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第60张图片
QQ20161101-1.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第61张图片
QQ20161101-2.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第62张图片
QQ20161101-3.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第63张图片
QQ20161101-4.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第64张图片
QQ20161101-5.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第65张图片
QQ20161101-6.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第66张图片
QQ20161101-7.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第67张图片
QQ20161101-8.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第68张图片
QQ20161101-9.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第69张图片
QQ20161101-10.png
教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第70张图片
QQ20161101-11.png
  • (void)requestWangtedProducts
    {
    // 1.获取想要卖的商品的ProductId
    NSString *productPath = [[NSBundle mainBundle] pathForResource:@"iapdemo.plist" ofType:nil];
    NSArray *products = [NSArray arrayWithContentsOfFile:productPath];
    NSArray *productIds = [products valueForKeyPath:@"productId"];

// 2.将ProductIds发送到苹果服务器,请求这些商品是否可卖
NSSet *productIdSet = [NSSet setWithArray:productIds];
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdSet];
request.delegate = self;
[request start];
}

在代理方法中拿到可销售的商品

pragma mark - 实现SKProductsRequest的代理方法

  • (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
    {
    // 1.获取可销售的商品,并且排序
    self.products = [response.products sortedArrayWithOptions:NSSortConcurrent usingComparator:^NSComparisonResult(SKProduct *obj1, SKProduct *obj2) {
    return [obj1.price compare:obj2.price];
    }];

// 2.以tableView的形式展示商品
[self.tableView reloadData];
}

教你一步一步实现iOS真机调试、打包、app上架、苹果内购_第71张图片
QQ20161101-12.png

用户点击购买,创建票据

  • (void)buyProduct:(SKProduct *)product
    {
    // 1.创建票据
    SKPayment *payment = [SKPayment paymentWithProduct:product];

// 2.将票据加到到交易队列中
[[SKPaymentQueue defaultQueue] addPayment:payment];

// 3.观察交易队列中交易发生的改变
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
}

交易队列中交易发生改变时,执行的监听方法

pragma mark - 实现交易发生改变的回调方法

  • (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
    {
    for (SKPaymentTransaction *transaction in transactions) {
    switch (transaction.transactionState) {
    case SKPaymentTransactionStatePurchasing:
    NSLog(@"正在购买商品");
    break;

    case SKPaymentTransactionStatePurchased:
        NSLog(@"购买成功");
        [queue finishTransaction:transaction];
        break;
    
    case SKPaymentTransactionStateFailed:
        NSLog(@"购买商品失败");
        [queue finishTransaction:transaction];
        break;
    
    case SKPaymentTransactionStateRestored:
        NSLog(@"恢复购买");
        [queue finishTransaction:transaction];
        break;
    
    case SKPaymentTransactionStateDeferred:
        NSLog(@"最终状态未决定");
        break;
    
    default:
        break;
    

    }
    }

以上供大家参考!谢谢!

你可能感兴趣的:(教你一步一步实现iOS真机调试、打包、app上架、苹果内购)