Hello there,
Recently my app was rejected with the following message:
Regarding 3.1.2, your app offers a content subscription but does not have a mechanism in place to support the requirement that the subscription content be available to the user on all of their iOS devices.
To resolve this issue, it would be appropriate to modify your app to include an optional user registration feature to deliver subscription content to all of the user's iOS devices.
I don't understand why I need a registration mechanism if user uses their AppleID to purchase a subscription. Will it not work on another device if the same AppleId is used?
Thanks!
Post
Replies
Boosts
Views
Activity
Hello there!
I'm using Swift 5, you can check the code below in online playground: https://swiftfiddle.com/x3xli3a3avby7pf6tzuqwaebfa
In the example below you can see that a double is initialized as Decimal but instead of returning 0.94 it returns different number
let x:Double = 0.94
print(Decimal(x))
> 0.9399999999999997952 // expected: 0.94
At the same time if I try to do the same with numbers like 0.93 or 0.95 Decimal conversion returns exactly those numbers.
The problem it creates is that when similar operation is done with formatter it returns an unexpected number:
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
let ynumber = formatter.number(from: y)
print("formatted number: ", ynumber)
print("formatted decimal value: ", ynumber?.decimalValue)
> formatted number: Optional(0.94)
> formatted decimal value: Optional(0.9399999999999997952) // expected Optional(0.94)
Is there a way to make Decimal always return the same number as the value it is initialized with?
Thanks!