StoreKit fails to purchase if CFBundleVersion not present in Info.plist
| Originator: | darvids0n | ||
| Number: | rdar://9772334 | Date Originated: | 14/07/2011 |
| Status: | Open | Resolved: | No |
| Product: | iPhone SDK | Product Version: | 4.3,5.0b1,5.0b2 |
| Classification: | Serious Bug | Reproducible: | Always |
Summary: When purchasing a product (using [[SKPaymentQueue defaultQueue] addPayment:[SKPayment paymentWithProduct:product]]), StoreKit returns error code 0 and fails to process a payment if a CFBundleVersion string is not present in the application's Info.plist Steps to Reproduce: 1. Link to StoreKit.framework in a Single-view application. 2. Remove the CFBundleVersion key-value pair from the project's Info.plist. 3. Set up an SKProductsRequest for a valid product, obtain an SKProduct from the SKProductsResponse and create an SKPayment with this product. 4. Assign the default payment queue's transaction observer to self, and implement methods to catch a failed transaction and display an error UIAlertView. 5. Attempt to purchase on the default payment queue using the SKPayment from step 3. Expected Results: A UIAlertView prompting to confirm purchase of the product. Actual Results: A UIAlertView containing a transaction failed error message, with error domain SKErrorDomain and error code 0. Regression: I've only tested on the following versions: SDK: 5.0b1, 5.0b2, 4.3 iOS: 4.2.1 (8C148), 4.3.3 (8J3), 5.0 (9A220p) Notes: N/A
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!