根据自己的实际情况填写.里面有个产品介绍,最好找个英文好的...
1-2 调查表填写完成后,大概过了2 ,3小时,苹果会回复给你一封邮件,并且返回给你一个fllowup.(注意,这并不是代表你已经申请 成功了,邮件里面只是确认你填写的问卷信息!)
恭喜您,通过了.但是不得不说,这只成功了一小半.后面你可能遇见更痛苦的事情.
2下面就来来说更痛苦的事情. 2-1 配置工程 a .新建一个App ID.
b. 添加iCloud 和Wireless Accessory
c.新建iCloud Containers
d.打开刚刚创建的App ID 发现这个是黄色的,下面就要编辑这个App ID
e
配置好这个之后,可以到苹果提供的检测环境检测一下配置文件的正确性 附上网址 :https://forums.developer.apple.com/message/75928#75928
这一步很重要:就是检测你的工程配置的描述文件和这个账号使用权限是否对等.后面有小伙伴遇到一个bug就是ruternType一直返回NO,获取不到wifi列表,然后通过上面验证发现,证书的权限和申请使用的权限不相同. 所以这儿有个建议,如果发现获取列表时返回值是NO,把测试证书删掉,重新创建.然后再走一遍上面的流程.(我遇到的BUG奇怪的很,对着英文文档走了好几遍,确定文件没什么问题,就是返回值一直都是NO,后来,在创建iCoud的时候,把那个id改成和App ID不一样,就是按照他下面的要求创建,就奇怪的好了.)
注意 :创建完描述文件别忘了安装到Xcode,直接下载,完了双击就ok了.
3.配置Xcode工程了; 3-1 配置plist文件 (允许后台运行) 通过xml添加
3-2 targets->Capabilities->iCloud 和Wireless-Accessory-Configuration
配置完上面两个你就会发现工程左边会多了一个.entitlements结尾的文件.
然后还要向这个文件里面添加一个BOOL值为YES的字段 com.apple.developer.networking.HotspotHelper
3-3 Tagarts-->Build Settings -> code Signing
3-4 上代码 (也是蛮辛苦的)
//最后奉上我的实现代码,获取wifi列表,并给指定ssid做标记;
+(void)getWifiList{
NSMutableDictionary* options = [[NSMutableDictionary alloc] init];
[options setObject:@"??新网程-点我上网??" forKey:kNEHotspotHelperOptionDisplayName];
dispatch_queue_t queue = dispatch_queue_create("com.pronetwayXY", NULL);
BOOL returnType = [NEHotspotHelper registerWithOptions:options queue:queue handler: ^(NEHotspotHelperCommand * cmd) {
NEHotspotNetwork* network;
NSLog(@"COMMAND TYPE: %ld", (long)cmd.commandType);
[cmd createResponse:kNEHotspotHelperResultAuthenticationRequired];
if (cmd.commandType == kNEHotspotHelperCommandTypeEvaluate || cmd.commandType ==kNEHotspotHelperCommandTypeFilterScanList) {
NSLog(@"WIFILIST: %@", cmd.networkList);
for (network in cmd.networkList) {
// NSLog(@"COMMAND TYPE After: %ld", (long)cmd.commandType);
if ([network.SSID isEqualToString:@"ssid"]|| [network.SSID isEqualToString:@"proict_test"]) {
double signalStrength = network.signalStrength;
NSLog(@"Signal Strength: %f", signalStrength);
[network setConfidence:kNEHotspotHelperConfidenceHigh];
[network setPassword:@"password"];
NEHotspotHelperResponse *response = [cmd createResponse:kNEHotspotHelperResultSuccess];
NSLog(@"Response CMD %@", response);
[response setNetworkList:@[network]];
[response setNetwork:network];
[response deliver];
}
}
}
}];
NSLog(@"result :%d", returnType);
NSArray *array = [NEHotspotHelper supportedNetworkInterfaces];
NSLog(@"wifiArray:%@", array);
NEHotspotNetwork *connectedNetwork = [array lastObject];
NSLog(@"supported Network Interface: %@", connectedNetwork);
}
注意 :运行一遍,然后需要打开系统设置连wifi界面,才能在控制台查看打印信息的.
下面附上两张效果图:
demo已上传到gitHub上 :https://github.com/chengkunlun/FirstRePository