I am currently having issues with my SKPaymentQueue and the observer, right now I cannot say exactly what the issue is, but it is not working.
When debugging I have noticed that my default SKPaymentQueue has multiple observers added to it, one being the class FBSDKPaymentObserver and it is listening to - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
. The thing is that it is working perfectly and observing all failed transactions.
Why does the FB-SDK do that? How do i disable that?
Actually a pretty simple answer. I had forgotten I had set [FBSDKAppEvents activateApp];
.
This sets a SKPaymentObserver at app startup which "swallows" the events which means that your own app observer does not get the messages from Apple with the same timing. Facebook gets it first and I am not sure how long after it will be sent by apple again.