A developer was trying to use in-app purchases on iOS, but was getting messages that the OnlineSubsystemIOS was not enabled.
Turns out, enabling only in-app purchases still means the OnlineSubsystemIOS as a whole is disabled.
Currently, FOnlineSubsystemIOS::IsEnabled() returns
return bEnableGameCenter || bEnableCloudKit;
But it should probably be
return bEnableGameCenter || bEnableCloudKit || IsInAppPurchasingEnabled();
That way, even if a developer doesn't want to use GameCenter or CloudKit, they can still use in-app purchases.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-25512 in the post.