All Products
Search
Document Center

Alibaba Cloud DNS:iOS SDK compliance instructions

Last Updated:Nov 25, 2025
Note

According to the Personal Information Protection Law, Data Security Law, Network Security Law, and other regulatory requirements, application developers must respect and protect end users' personal information and are prohibited from collecting or using such information unlawfully while providing network services. These compliance instructions have been specifically formulated to help developers better implement requirements related to the protection of users' personal information when using the HTTPDNS SDK and to avoid situations that might infringe upon end users' personal information rights.

I. iOS SDK system permission requirements

Permission content

Required

Permission purpose

INTERNET

Yes

The most basic permission that allows the SDK to connect to the network, used for domain name resolution in the cloud.

II. iOS SDK features and related personal information

Feature

Personal information fields collected

Purpose of personal information collection

Feature configuration methods and examples

Not applicable

Not applicable

Not applicable

Not applicable

III. iOS SDK optional personal information field configuration methods

Optional personal information fields

Purpose of personal information collection

Feature configuration methods and examples

Not applicable

Not applicable

Not applicable

IV. iOS SDK compliant initialization configuration methods

/// Singleton initialization method
+ (instancetype)share;

/*!
 * @brief Initialization interface with authentication enabled
 * @details Initialize, enable authentication, and set the Public DNS service Account ID, accessKeyId, and accesskeySecret for authentication.
 * @param accessKeyId Your Public DNS accessKey ID
 * @param accesskeySecret The accesskeySecret for authentication
 */
- (void)setAccountId:(NSString *)accountId andAccessKeyId:(NSString *)accessKeyId andAccesskeySecret:(NSString *)accesskeySecret;
Important

You must ensure that users have agreed to the "Privacy Policy" before calling the initialization and other configuration methods.

DNSResolver *resolver = [DNSResolver share];
//setAccountId:@"******": Fill in the asterisks with your Account ID displayed on the "Access Configuration" page in the console
//andAccessKeyId:@"********": Fill in the asterisks with the AccessKey ID of the key you created in the "Access Configuration" of the console
//andAccesskeySecret:@"********": Fill in the asterisks with the AccessKey Secret of the key you created in the "Access Configuration" of the console
[resolver setAccountId:@"******" andAccessKeyId:@"********" andAccesskeySecret:@"********"];
//Automatically update expired cache for specified domains, currently limited to a maximum of 10 domains in the array
[resolver setKeepAliveDomains:@[@"user-specified domain 1",@"user-specified domain 2"]];
//Preload domains that may need to be resolved later
[resolver preloadDomains:@[@"domain 1", @"domain 2", @"domain 3"] complete:^{
//All domains preloading completed
}];