я думаю вам лучше с этим вопросом обратится к iOS/Objective-C разработчикам, флешеры вряд ли помогут
Добавлено через 37 минут
Прошу прощения, не внимательно прочитал сообщение. В моем проекте есть ane расширение которое определяет наличие подключения, и отправляет событие в момент изменения состояния сети доступно/недоступно
определение доступности сети
Код:
FREObject isNetworkReachable_phone(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[])
{
NSLog(@"isNetworkReachable_phone");
BOOL returnValue = NO;
// Инициализируем структуру sockaddr_in
struct sockaddr_in address;
size_t address_len = sizeof(address);
memset(&address, 0, address_len);
address.sin_len = address_len;
address.sin_family = AF_INET;
SCNetworkReachabilityRef reachabilityRef = SCNetworkReachabilityCreateWithAddress(NULL, (const struct sockaddr*)&address);
if (reachabilityRef != NULL) {
SCNetworkReachabilityFlags flags = 0;
if(SCNetworkReachabilityGetFlags(reachabilityRef, &flags)){
returnValue = checkFlags(flags);
}
CFRelease(reachabilityRef);
}
NSLog(@" * returnValue = %d", returnValue);
return boolToFre(returnValue);
}
старт/стоп сканирования сети, в случае изменения состояния, отправляется событие:
Код:
void _NetworkReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* info)
{
NSLog(@"_NetworkReachabilityCallback = %i", flags);
BOOL enabled = checkFlags(flags);
NSLog(@" enabled = %d", enabled);
[network networkChange:enabled];
}
SCNetworkReachabilityRef reachabilityRef;
FREObject startMonitoring_phone(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[])
{
NSLog(@"startMonitoring_phone");
// Инициализируем структуру sockaddr_in
struct sockaddr_in address;
size_t address_len = sizeof(address);
memset(&address, 0, address_len);
address.sin_len = address_len;
address.sin_family = AF_INET;
reachabilityRef = SCNetworkReachabilityCreateWithAddress(NULL, (const struct sockaddr*)&address);
if (reachabilityRef != NULL) {
SCNetworkReachabilityContext context = { 0, NULL, NULL, NULL, NULL};
if(SCNetworkReachabilitySetCallback(reachabilityRef, _NetworkReachabilityCallback, &context)) {
SCNetworkReachabilityScheduleWithRunLoop(reachabilityRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
}
NSLog(@" YES");
return boolToFre(YES);
}
NSLog(@" NO");
return boolToFre(NO);
}
FREObject stopMonitoring_phone(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[])
{
NSLog(@"stopMonitoring_phone");
if(reachabilityRef) {
SCNetworkReachabilityUnscheduleFromRunLoop(reachabilityRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
CFRelease(reachabilityRef);
return boolToFre(YES);
}
return boolToFre(NO);
}