Posts

Post not yet marked as solved
0 Replies
759 Views
Our apps contain In-App Purchases. We are using server-side validation to validate purchase receipts for non-renewing subscriptions and client validation for auto-renewable subscription. The problem is that when we do the non-renewing subscription receipt validation the apple server need us to upload the shared secret key otherwise it will return 21003 error. Can I avoid to upload the shared secret key?(since our server api can not do that)
Posted Last updated
.
Post not yet marked as solved
3 Replies
810 Views
We are experiencing that the download and installation does not finish on TestFlight when running an active packet tunnel. Only after disabling the VPN and pausing/resuming the download on the home screen, the upgrade succeeds on iOS13Could a similar scenario also happen when upgrading live apps from the app store, given that they are running a packet tunnel? Or are these fundamentally different processes?Or just the bug of TestFlight ?
Posted Last updated
.
Post marked as solved
6 Replies
1.7k Views
I've had in-app purchase feature with auto-renewing in Apple Store.And there are some users who purchased with auto-renewing subscriptionsIs it possible to change auto-renewing to non-renewable subscriptions ?Somehow keep user who purchased and update it to non-renewable subscriptions?
Posted Last updated
.
Post not yet marked as solved
0 Replies
220 Views
I am testing a local vpn service using NEPacketTunnelNetworkSettings that currently use the IP of the underlying network interface (WiFi or Cellular) as the IP of the VPN interface.However, when I use SCNetworkReachabilityCreateWithAddressPair and set the IP of VPN interface as the local address, the result is unreachable var addr = sockaddr_in() addr.sin_len = UInt8(MemoryLayout.size(ofValue: addr)) addr.sin_family = sa_family_t(AF_INET) addr.sin_addr.s_addr = inet_addr(address) let hostAddress = withUnsafePointer(to: &hostaddr) { $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { return $0 } } guard let reachability = withUnsafePointer(to: &addr, { $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { SCNetworkReachabilityCreateWithAddressPair(kCFAllocatorDefault, $0, hostAddress) } })else{ return false }Can anybody tell me why that happens and how to workaround?
Posted Last updated
.
Post not yet marked as solved
1 Replies
1.3k Views
I have a problem with the different behavior when using SCNetworkReachability if the iPhone is running a packet tunnel based on NEPacketTunnelNetwork var flags: SCNetworkReachabilityFlags = SCNetworkReachabilityFlags(rawValue: 0) let isReachable = flags == .reachable let needsConnection = flags == .connectionRequired return isReachable && !needsConnectionif I use the [let isReachable = flags == .reachable], The resulte of isReachable will be FalseHowever,if I use the code of [let isReachable = (flags.rawValue & UInt32(kSCNetworkFlagsReachable)) != 0] like below.The result will be True var flags: SCNetworkReachabilityFlags =SCNetworkReachabilityFlags(rawValue: 0) let isReachable = (flags.rawValue & UInt32(kSCNetworkFlagsReachable)) != 0 let needsConnection = flags == .connectionRequired return isReachable && !needsConnectionThe API reference the [reachable] and [kSCNetworkFlagsReachable] has the same describe :"The specified node name or address can be reached using the current network configuration"Can anybady tell me which one is the correct behavior that should be used?
Posted Last updated
.