यह "इन-ऐप खरीदारी के साथ अमान्य उत्पाद आईडी समस्या को हल करना?
पर एक फॉलो-अप प्रश्न है, मुझे एक समान समस्या है और एमकेस्टोरकिट के साथ और बिना दोनों करने की कोशिश की है और एक समान संदेश प्राप्त करें।
चेक-सूची
करने के लिए धन्यवाद के साथ: http://troybrant.net/blog/2010/01/invalid-product-ids/
आप इन-ऐप आपकी ऐप्लिकेशन आईडी के लिए की गई खरीदारी सक्षम है?
हाँ
आप अपने उत्पाद के लिए बिक्री के लिए उपलब्ध जांच की है?
हाँ
आपके द्वारा भेजी (और वैकल्पिक को अस्वीकार कर दिया) अपने आवेदन द्विआधारी है?
हाँ
अपने प्रोजेक्ट की .plist बंडल आईडी अपनी ऐप्लिकेशन आईडी मेल खाता है?
हाँ
आप उत्पन्न और नए एप्लिकेशन ID के लिए एक नया प्रावधान प्रोफ़ाइल स्थापित है?
हाँ
आप इस नए प्रावधान प्रोफ़ाइल का उपयोग कर कोड पर हस्ताक्षर करने के लिए अपनी परियोजना के लिए कॉन्फ़िगर किया गया है?
हाँ
आप iPhone OS 3.0 या इसके बाद के संस्करण के लिए निर्माण कर रहे हैं?
हाँ। आईओएस 4.2 और ऊपर।
क्या आप SKProductRequest बनाते समय पूर्ण उत्पाद आईडी का उपयोग कर रहे हैं?
हाँ। इसके अलावा केवल उत्पाद आईडी रिवर्स डोमेन
क्या आपने अपने उत्पाद को आईट्यून्स कनेक्ट में जोड़ने के बाद कई घंटे इंतजार किया है?
हाँ। यह "समीक्षा की प्रतीक्षा कर रहा है" और पिछले 4-5 दिनों के लिए किया गया है
क्या आपके बैंक विवरण आईट्यून्स कनेक्ट पर सक्रिय हैं?
नहीं। यह एक क्लाइंट प्रोजेक्ट है और यह देखने के लिए केवल परीक्षण कर रहा है कि यह काम कर रहा है या नहीं। क्या मुझे इसका परीक्षण करने के लिए बैंक विवरण चाहिए?
संपादित करें: मैंने इसे अभी बदल दिया है। लेकिन मुझे नहीं लगता कि मुझे सैंडबॉक्सिंग का परीक्षण करने के लिए ऐसा क्यों करना है।
क्या आपने ऐप को अपने डिवाइस से हटाने और पुनर्स्थापित करने का प्रयास किया है?
हाँ
अपने डिवाइस jailbroken है?
नहीं
अनुप्रयोग अंकन सही
कुछ उदाहरण मैं इस संकेतन का उपयोग देखा है: com.domain.APP_ID.PRODUCT_TO_BUY
लेकिन दूसरों कॉम का उपयोग करें। डोमेन। PRODUCT_TO_BUY
कौन सा सही है?
मेरे कोड में मैंने पूर्ण नोटेशन और केवल उत्पाद आईडी का उपयोग करने का प्रयास किया है, लेकिन फिर भी "अवैध उत्पाद आईडी" की एक ही समस्या है।
डेवलपर
अनुप्रयोग बंडल (रिलीज) को अस्वीकार कर दिया iTunes कनेक्ट पर है और मैं "डेवलपर को अस्वीकार कर दिया" है बंडल।
चित्र:
समीक्षा के लिए प्रतीक्षा कर रहा है?
मेरी इन-ऐप खरीदारियों में मेरे पास 1 उत्पाद है, एक ऑटो-नवीकरणीय सदस्यता है। इसे बिक्री के लिए मंजूरी दे दी गई है; हालांकि यह "समीक्षा की प्रतीक्षा कर रहा है" और हरा-प्रकाश नहीं है।
चित्र:
मैं इस बनाया लगभग 4-5 दिन पहले और उसके अभी भी "समीक्षा के लिए प्रतीक्षारत" के रूप में चिह्नित ??
मुझे आश्चर्य है कि मेरा ऐप "डेवलपर अस्वीकार कर दिया गया है" क्या इसका ऑटो-नवीकरणीय सदस्यता पर "समीक्षा की प्रतीक्षा" पर असर पड़ता है?
मैंने इस आइटम में कुछ भी नहीं बदला है।
विभिन्न लेखों के मुताबिक मुझे इसका उपयोग करने से पहले 24-48 घंटे इंतजार करना होगा?
लेकिन क्या मुझे इसे अपने परीक्षण में उपयोग करने से पहले इसे स्वीकार करने या हरे-जलाए जाने की प्रतीक्षा करनी है?
बैंक विवरण
मैं किसी भी बैंक विवरण भरा नहीं है क्योंकि यह एक ग्राहक के लिए एक अनुप्रयोग है - मैं बैंक विवरण में भरने के लिए इससे पहले कि मैं यह परीक्षण जारी रख सकते हैं की जरूरत है?
इन दस्तावेज़ों के अनुसार: http://developer.apple.com/library/ios/#technotes/tn2259/_index.html बैंक विवरण आवश्यक हैं?
क्या मुझे ऐप चलाने से पहले एक परीक्षण खाते के तहत अपने डिवाइस पर आईट्यून्स में लॉग इन करने की आवश्यकता है?
मुझे आश्चर्य है कि कोई इन मुद्दों को स्पष्ट कर सकता है या नहीं? शायद यह ऐप-ऐप खरीद के लिए "हरा जला" होने की प्रतीक्षा के रूप में उतना आसान है, या शायद मैंने एक कदम याद किया है?
नोट: यह एमकेस्टोरकिट का उपयोग करने या निम्नानुसार कोड का उपयोग करने के बावजूद होता है।
धन्यवाद।
मेरे कोड (इस गैर 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];
}
संपादित करें:
एक फेलसेफ के रूप में, मैं सिर्फ मामले में बैंक विवरण चुके हैं, लेकिन मैं नहीं दिख रहा है क्यों यह होगा एक मुद्दा का कारण बनता है।
मैंने यह भी सुनिश्चित किया है कि मैंने ऐप रिलीज बंडल को अपलोड और अस्वीकार कर दिया है और विज्ञापन नहीं है; हालांकि मुझे नहीं पता कि इससे कोई फर्क पड़ता है या नहीं।
यह अंतिम चरण था जिसकी मुझे आवश्यकता थी। धन्यवाद –
मैन, आपने मेरा दिन बनाया। मैं आपको एक बियर देना चाहता हूं :) –
वाह ... मैंने एक पूरे सप्ताह गलती की तलाश में बिताया। मैंने 2 बंडलों को हटा दिया, नए बनाए, बस इसे खोजने के लिए बहुत सारे शोध किए। और यह काम किया ... मैं बस आप दोनों को गले लगाने के लिए चाहता हूँ। : डी –