Apple wydaje się wprowadzać całkiem sporo zmian w środowisku Yosemite i CoreWLAN. Chciałbym wykorzystać swoje nowe API, podając plik nagłówka:przy użyciu startMonitoringEventWithType: błąd: w celu wykrycia zmiany SSID w sieci Wi-Fi
/*!
* @method
*
* @param type
* A CWEventType value.
*
* @param error
* An NSError object passed by reference, which upon return will contain the error if an error occurs.
* This parameter is optional.
*
* @result
* A BOOL value indicating whether or not an error occurred. YES indicates no error occurred.
*
* @abstract
* Register for specific Wi-Fi event notifications.
*
* @discussion
* Requires the <i>com.apple.wifi.events</i> entitlement.
*/
- (BOOL)startMonitoringEventWithType:(CWEventType)type error:(out NSError **)error NS_AVAILABLE_MAC(10_10);
i ustawienie CWEventType do: CWEventTypeSSIDDidChange
Mówi wymaga prawo, ale ja nie będąc w stanie uruchomić go na komputerze Mac. Komunikat o błędzie jest:
The app quit unexpectedly. Message from debugger: Terminated due to code signing error.
i złożyć moje uprawnienia (gdzie podejrzewam problem być) jest tak:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.wifi.events</key>
<true/>
</dict>
</plist>
a ja ustawiania ścieżki podpisywania kodu w kompilacji ustawienie dla cel. I mówiąc o tym, jeśli wykluczyć lokalny plik uprawnień, aplikacja działa, ale nie zachowuje się zgodnie z oczekiwaniami. API pod badaniu zwraca obiekt o błędzie z poniższym opisem:
Error Domain=com.apple.wifi.request.error Code=4 "The operation couldn’t be completed. (com.apple.wifi.request.error error 4.)"
Jest to z pewnością Twister umysł, a przynajmniej mam nadzieję, że jest inaczej jestem totalną idiotką. Mam konkretny identyfikator aplikacji dla mojej aplikacji w centrum członkowskim, a także konkretny profil programisty (chociaż nie powinienem, ponieważ korzystam z profilu deweloperskiego wildcard).
Z góry dziękuję.
Wydaje się, że CWWiFiClient ma problemy: https://forums.developer.apple.com/thread/11307 Może być teraz zmuszony do skorzystania z wycofanego API :( –
Dzięki @jvmk za ten link. jako odpowiedź: –
podążyłem za twoją radą i napisałem odpowiedź, ale początkowo powstrzymałem się od opublikowania jej jako odpowiedzi, ponieważ nie będzie ona miała długoterminowej wartości, tzn. mam nadzieję, że błąd zostanie wkrótce naprawiony :). –