Post

Replies

Boosts

Views

Activity

Verify Receipt Not Using the Shared Secret(21003)
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)
0
0
1k
Mar ’21
Unreachabe when using SCNetworkReachabilityCreateWithAddressPair with VPN service
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?
1
0
299
Feb ’20
The incorrect behavior of SCNetworkReachability
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?
1
0
1.5k
Feb ’20
App updates when using NEPacketTunnelNetwork on iOS13
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 ?
3
0
932
Feb ’20