Đây là câu hỏi tiếp theo cho "In app purchases with MKStoreKit failing: “Problem in iTunes connect configuration for product: xxx"Giải quyết vấn đề về id sản phẩm không hợp lệ với mua hàng trong ứng dụng?
Tôi gặp vấn đề tương tự và đã cố gắng thực hiện cả hai có và không có MKStoreKit và nhận được thông báo tương tự.
Kiểm tra danh sách
Với nhờ: http://troybrant.net/blog/2010/01/invalid-product-ids/
Bạn đã kích hoạt trong ứng dụng mua cho App ID của bạn?
YES
Bạn đã kiểm tra dọn dẹp cần Bán cho sản phẩm của bạn?
YES
Có bạn đã gửi (và tùy chọn từ chối) nhị phân ứng dụng của bạn?
YES
Liệu ID Bundle plist của dự án của bạn khớp với ID App của bạn?
YES
Bạn đã tạo ra và cài đặt một cấp phép hồ sơ mới cho App ID mới?
YES
Bạn đã cấu hình dự án của bạn để dấu mã sử dụng cấp phép hồ sơ mới này?
YES
Bạn đang xây dựng cho iPhone OS 3.0 hoặc cao hơn?
CÓ. iOS4.2 trở lên.
Bạn có đang sử dụng ID sản phẩm đầy đủ khi tạo SKProductRequest không?
CÓ. Cũng chỉ bản thân ID sản phẩm không có miền ngược
Bạn đã đợi vài giờ kể từ khi thêm sản phẩm của mình vào iTunes Connect chưa?
CÓ. Nó nói "Đang chờ xem xét" và đã thực hiện trong 4-5 ngày qua
Chi tiết ngân hàng của bạn có hoạt động trên iTunes Connect không?
KHÔNG. Đây là một dự án khách hàng và tôi chỉ đang thử nghiệm xem nó có đang hoạt động hay không. Tôi có cần chi tiết ngân hàng để kiểm tra không?
EDIT: Tôi đã thay đổi điều này ngay bây giờ. Nhưng tôi không thấy lý do tại sao tôi cần phải làm điều này chỉ để kiểm tra hộp cát.
Bạn đã thử xóa ứng dụng khỏi thiết bị và cài đặt lại chưa?
YES
là thiết bị của bạn jailbroken?
NO
App ký hiệu là đúng
Một số ví dụ tôi đã thấy sử dụng ký hiệu này: com.domain.APP_ID.PRODUCT_TO_BUY
Nhưng những người khác sử dụng com. domain.PRODUCT_TO_BUY
Điều gì là đúng?
Trong mã của tôi, tôi đã cố gắng sử dụng ký pháp đầy đủ và chỉ ID sản phẩm nhưng vẫn gặp phải cùng một vấn đề về "Id sản phẩm không hợp lệ".
Developer từ chối
App Bundle (Hủy bỏ) là trên iTunes Connect và tôi đã "phát triển từ chối" bó.
Ảnh:
Chờ đợi để xem xét?
Trong giao dịch mua hàng trong ứng dụng của tôi, tôi có 1 sản phẩm, đăng ký tự động gia hạn. Nó được xóa để bán; tuy nhiên, đó là "Đang chờ xem xét" và không được chiếu sáng.
Ảnh:
tôi tạo này gần như 4-5 ngày trước và nó vẫn gắn cờ là "Chờ đợi để xem xét" ??
Tôi tự hỏi liệu ứng dụng của mình có bị "nhà phát triển từ chối" cho dù điều này có tác động đến "Đang chờ xem xét" đối với đăng ký tự động gia hạn không?
Tôi chưa thay đổi gì trong mục này.
Theo các bài viết khác nhau, tôi phải đợi 24-48 giờ trước khi tôi có thể sử dụng?
Nhưng tôi có cần phải đợi điều này được chấp nhận hoặc chiếu sáng màu xanh lá cây trước khi tôi có thể sử dụng nó trong thử nghiệm của mình không?
Chi tiết ngân hàng
tôi đã không điền vào bất kỳ chi tiết ngân hàng vì đây là một ứng dụng cho một khách hàng - Tôi có cần phải điền vào chi tiết ngân hàng trước khi tôi có thể tiếp tục thử nghiệm nó?
Theo các tài liệu sau: http://developer.apple.com/library/ios/#technotes/tn2259/_index.html chi tiết ngân hàng là bắt buộc?
Tôi có cần đăng nhập vào iTunes trên thiết bị của mình trong tài khoản thử nghiệm trước khi chạy ứng dụng không?
Tôi tự hỏi nếu ai đó có thể làm rõ những vấn đề này? Có lẽ nó chỉ đơn giản như chờ đợi cho việc mua trong ứng dụng được "xanh thắp sáng", hoặc có lẽ tôi đã bỏ lỡ một bước?
Lưu ý: Điều này xảy ra bất kể tôi có sử dụng MKStoreKit hay sử dụng mã sau đây.
Cảm ơn.
Mã của tôi (đây là phiên bản không MKStoreKit)
#define kMySubscriptionFeature @"uk.co.samplewebsite.myappproject.sub1"
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.title = @"Manage Subscriptions";
if ([SKPaymentQueue canMakePayments])
{
// Display a store to the user.
//[MKStoreManager sharedManager];
//NSLog(@"purhcasable = %@", [[MKStoreManager sharedManager] purchasableObjectsDescription]);
[self requestProUpgradeProductData];
}
else
{
// Warn the user that purchases are disabled.
NSString *message = @"In-app purchases are disabled. Please review your settings";
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
[alertView release];
} // end if
}
#pragma mark - StoreKit Delegate
- (void) requestProductData
{
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject:kMySubscriptionFeature]];
request.delegate = self;
[request start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSArray *myProduct = [[NSArray alloc] initWithArray:response.products];
for(SKProduct *item in myProduct)
{
NSLog(@"Product title: %@" , item.localizedTitle);
NSLog(@"Product description: %@" , item.localizedDescription);
NSLog(@"Product price: %@" , item.price);
NSLog(@"Product id: %@" , item.productIdentifier);
}
for (NSString *invalidProductId in response.invalidProductIdentifiers)
{
NSLog(@"Problem in iTunes connect configuration for product: %@" , invalidProductId);
}
[myProduct release];
// populate UI
[request autorelease];
}
Edit:
Là một failsafe, tôi đã thêm chi tiết ngân hàng chỉ trong trường hợp, nhưng tôi không hiểu tại sao điều này sẽ gây ra vấn đề.
Tôi cũng đảm bảo rằng tôi đã tải lên và từ chối gói phát hành ứng dụng và không phải gói quảng cáo; mặc dù tôi không biết nếu điều này làm cho bất kỳ sự khác biệt.
Đây là bước cuối cùng tôi cần. Cảm ơn –
Man, bạn đã thực hiện một ngày của tôi. Tôi nợ bạn bia :) –
WOW ... Tôi đã dành cả tuần để tìm kiếm một sai lầm. Tôi đã xóa 2 gói, tạo các nhóm mới, đã thực hiện rất nhiều nghiên cứu chỉ để tìm ra điều này. Và nó đã làm việc ... Tôi chỉ muốn ôm cả hai bạn. : D –