iPv6 support for Application( objective c)

Apple has mentioned in their document to eliminate some API for support iPV6.

We are using below API in our application.

inet_ntoa()

inet_aton()


if we didn't remove above Api from our application, will Apple reject our application.?

Is there any other Api instead of above API for support both iPV4 and iPV6?


Apple has mentioned in their document to provide support for iPV6 types.

we are using some iPv4 Types in our application.

AF_INET ,struct in_addr, etc

We want to support for both iPV4 and iPV6 , So can we remain use iPV4 types in our application?

Apple won't reject you for using those API's. Apple will reject you because your application broke when those API no longer work or are supported.


So, the question you need to ask yourself is: Does your application work under both IPv4 and IPv6?

If you have old-fashioned code using things like inet_ntoa() and inet_aton(), then there's a good chance the answer is either "No, your code doesn't work properly under IPv6", or you're doing a lot more work than you need to in order to support both and you'd have less code to maintain if you used the proper replacements.

So, the question you need to ask yourself is: Does your application work under both IPv4 and IPv6?

And, specifically, does it work on an IPv6-only network. I recommend that you test in the NAT64 environment that we describe in the Test for IPv6 DNS64/NAT64 Compatibility Regularly section of Networking Overview.

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I have checked my app with iPV6 environment and found that some features are not working well.

I have deleted Apple mentioned API from my Application and used new API insted of old API


Can you please tell What specific examination standards are using apple.?

eg: Is there necessary to remove any classes from Application etc..


Thank you for your help.

Can you please tell What specific examination standards are using apple?

No I can’t. If and when this requirement is enforced, it will be enforced by App Review. AFAIK they have not published any formal guidelines as to their requirements. That may change in the future but, for the moment, I recommend that you concentrate on fixing the behaviour problems. To wit…

I have checked my app with iPV6 environment and found that some features are not working well.

What’s not working?

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

What’s not working?

-----------------------------


I think because of below code my app is not woring,

Here i used inet_ntoa function.


struct sockaddr_in *socketAddress = (struct sockaddr_in *) [address bytes];
                NSString *ipString = [NSString stringWithFormat: @"%s", inet_ntoa(socketAddress->sin_addr)];


I will replace inet_ntoa function.

Thank you for your help..

Where does

address
come from?

What are you doing with

ipString
?

Let’s say

address
comes from something like NSNetService’s
addresses
property, or you get it from a socket via . Further, let’s say that the only thing you want to do with
ipString
is display it to the user, log it, or whatever. In that case the weapon of choice is getnameinfo. You can use it to map an arbitrary
(struct sockaddr)
to a numeric string with a call like this:
char ipStr[NI_MAXHOST];

err = getnameinfo(
    (const struct sockaddr *) address.bytes,
    address.length,
    ipStr,
    sizeof(ipStr),
    NULL,
    0,
    NI_NUMERICHOST | NI_NUMERICSERV
);

While

getnameinfo
is technically a DNS lookup routine, the
NI_NUMERICHOST
and
NI_NUMERICSERV
flags guarantee it won't ever hit the network.

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
iPv6 support for Application( objective c)
 
 
Q