2015-08-04 14 views
7

jestem testowania kodu, który żąda wykrywalność poprzez CloudKit:reset CloudKit wykrywalność Pozwolenie

CKContainer.defaultContainer().requestApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability, completionHandler: { (status:CKApplicationPermissionStatus, error:NSError!) -> Void in 
     if status == CKApplicationPermissionStatus.Granted { 
      ... 
     } else if status == CKApplicationPermissionStatus.Denied { 
      .... 
     } else { 
      println("Request result: \(status)") 
     } 
    }) 

Ale jak mogę zresetować wynik tego? Otrzymuję pytanie raz i nigdy więcej, nawet jeśli usuwam i ponownie instaluję aplikację. Jeśli ponownie uruchomię ten kod, natychmiast przejdę do bloku zakończenia z tym samym wynikiem, co ostatnio.

Widziałem another question i post on Apple's old forums (logowanie wymagane), który powiedział, że może to być kasowane, przechodząc do Ustawienia -> iCloud -> iCloud napędowe -> Look Me Up przez email. Jednak robi to nie daje mi żadnych opcji na nic:

Look Me Up By Email screen

Jestem pewien, że mogę go zresetować przez coś podobnego Ustawienia -> Ogólne -> Reset -> Reset All Settings (lub może zresetować ustawienia sieciowe) [ale zobacz dodatkowe informacje na ten temat], ale musi istnieć jakiś sposób na zresetowanie uprawnienia CloudKit bez nukania kilku niepowiązanych ustawień. Co jeśli użytkownik odmawia pozwolenia, ale później zmienia zdanie?

Aktualizacja: Niektóre dodatkowe info:

  • na symulatorze, Ustawienia -> Ogólne -> Reszta -> Reset Lokalizacja & prywatności nie ma żadnego wpływu.
  • Również na symulatorze "Resetuj zawartość i ustawienia ..." nie działa.
  • Próbowanie na innym komputerze Mac z innym urządzeniem daje dokładnie takie same wyniki.

Powyższe prowadzi mnie do podejrzeń, że jest to ustawienie po stronie serwera. Dlatego próbowałem zalogować się na iCloud.com przy użyciu konta, którego używam, i przeszedłem do Ustawienia -> Dane & Bezpieczeństwo -> Wyszukaj mnie przez e-mail. Jak na urządzeniach z iOS i symulatorów, nie ma opcji, nie robić nic w ogóle:

Look Me Up By Email at iCloud.com

Tak, jest tam jakikolwiek sposób w ogóle zresetować tego, czy jest to ustalone w kamieniu i niezmienna aż słońce rozszerza się i niszczy Ziemię?

Odpowiedz

3

Ustawienia "Wyszukaj mnie za pomocą poczty e-mail" pokazują obecnie tylko Twoje preferencje w środowisku produkcyjnym. Jeśli Twoja aplikacja działa w środowisku programistycznym, nie ma możliwości zresetowania tych ustawień. Masz rację, że ustawienie jest przechowywane na serwerze.

To znany błąd. Dopóki nie zostanie naprawione, obejście polega na przetestowaniu tej funkcji, gdy aplikacja jest wdrożona do produkcji. Możesz utworzyć drugi kontener do przetestowania, jeśli chcesz uniknąć testowania w kontenerze produkcyjnym aplikacji do wysyłki.

0

Jedynym sposobem znalazłem się resetowanie środowisko programistyczne z CloudKit desce rozdzielczej, aplikacja poprosi o pozwolenie znowu, to usunie wszystkie dane chociaż

3

zanim słońce rozszerza i niszczy ziemię, to ustawienie można zresetować następująco :

  • zalogować się do swojego CloudKit Dashboard
  • wybierz swoją aplikację za pojemnik
  • wybrać środowisko Development
  • kliknij zakładkę Deployment po lewej, pod Admin
  • kliknij przycisk Reset Development Environment w prawym górnym rogu.

(Instrukcje te działają tylko dla środowiska Development.)

+1

To załatwiło sprawę do mnie, dzięki! –