StoreKit: SKReceiptRefreshRequest calls requestDidFinish: even if request was not successful

Originator:dieter.komendera
Number:rdar://20069958 Date Originated:06-Mar-2015 03:38 PM
Status:Open Resolved:
Product:iOS SDK Product Version:8.1
Classification:Serious Bug Reproducible:Always
 
Summary:
SKReceiptRefreshRequest calls its delegate’s requestDidFinish: method when the request fails due to lack of network connection..

Steps to Reproduce:
1) disconnect device from the network (e.g enable Airplane Mode)
2) start a SKReceiptRefreshRequest:

SKReceiptRefreshRequest *request = [[SKReceiptRefreshRequest alloc] initWithReceiptProperties:nil];
        request.delegate = self;
        [request start];

3) Enter App Store credentials when promted

Expected Results:
The delegate’s didFailWithError method called with an appropriate error passed, as the request was not successful and the receipt not refreshed.

Actual Results:
The delegate’s requestDidFinish: called as if the request was successful.

Regression:
n/a

Notes:
tested on an iPhone 6 with iOS 8.1.3

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!