Tôi đã triển khai cơ chế mua hàng trong ứng dụng không tiêu hao đơn giản bằng cách làm theo sách hướng dẫn Ray Wenderlich.Làm cách nào để kiểm tra IAP (mua hàng trong ứng dụng) trong Trình mô phỏng iOS HOẶC trên thiết bị?
Khi ứng dụng của tôi bắt đầu, tôi bắt đầu một yêu cầu thông tin sản phẩm:
self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
_productsRequest.delegate = self;
[_productsRequest start];
Các SKProductRequest được tạo ra. Nó có một địa chỉ bộ nhớ nhưng không có gì khác xảy ra. Không ai trong số các phương pháp đại biểu được gọi là:
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
NSLog(@"Product info received...");
NSArray *products = response.products;
for (SKProduct *product in products) {
NSLog(@"ID: %@, title:%@, (%f)", product.productIdentifier, product.localizedTitle, product.price.floatValue);
}
self.productsRequest = nil;
}
- (void)request:(SKRequest *)request didFailWithError:(NSError *)error {
NSLog(@"Failed to load list of products");
self.productsRequest = nil;
}
Tôi đã kiểm tra hai lần:
- App hoàn toàn thiết lập trong iTunes Connect.
- Trạng thái ứng dụng trong ITC là "Chuẩn bị tải lên"
- Một IAP không tiêu thụ được thêm vào.
- Trạng thái sản phẩm IAP trong ITC là "Sẵn sàng để gửi"
- ID ứng dụng là com.mycompany.myapp cho cả ứng dụng và trong danh sách. Đã kiểm tra hai lần.
- IAP sử dụng com.mycompany.myapp.productname (sử dụng cùng một ID chính xác cho yêu cầu).
- Đã tạo tài khoản người dùng thử nghiệm trong ITC.
- Chưa có nội dung nào được gửi tới Apple.
- Máy Mac của tôi có quyền truy cập internet.
- Không có thư nào khác trong bảng điều khiển hoặc trên màn hình.
Cuốn sách Ray Wenderlich không đề cập đến tôi phải làm gì khác ngoài điều này.
Chỉ sau khi Tôi thấy một -didFailWithError: gọi cho đại biểu của tôi trên Thiết bị, nhưng nó không bao giờ xuất hiện nữa. Đại biểu của tôi không được gọi cả trên thiết bị hoặc trình mô phỏng. Tôi để cho nó chạy trong vài phút mà không có phản ứng gì cả.
iTunes Connect cho phép cảnh báo khó hiểu này:
Your first In-App Purchase(s) must be submitted with a new app version. Select them from the In-App Purchases section of the Version Details page and then click Ready to Upload Binary.
Đây có phải là cần thiết trước khi có khả năng kiểm tra trong ứng dụng mua?
Với Xcode 5.1, thử nghiệm IAP hoạt động tốt trong trình mô phỏng. –