2015-11-05 14 views
15

Próbowałem przetestować scenariusz aktualizacji z aplikacji na żywo App Store do wersji RC przy użyciu TestFlight, ale TestFlight daje mi alert "Masz już zainstalowaną tę aplikację." replace ... "(patrz zrzut ekranu poniżej). Po potwierdzeniu zniknęły wszystkie dane z wersji App Store.Alert TestFlight podczas testowania aktualizacji: masz już zainstalowaną tę aplikację

enter image description here

Kroki zrobić:

  1. Install żywo aplikację z App Store
  2. login i zrobić kilka operacji, aby uzyskać dane w aplikacji i Brelok
  3. Przejdź do TestFlight Aplikacja iOS
  4. Dotknij przycisku "Zainstaluj" w TestFlight -> alert "Masz już zainstalowaną tę aplikację" pojawi się s
  5. Gdybym wybierz polecenie Zainstaluj, nowy build jest zainstalowany

Wynik:

  • zawartość aplikację za tym wspólnego pojemnika (dane udostępniane Extensions) i pęku kluczy są całkowicie wymazane gdy jest Ponownie otwieram aplikację

Edytuj: Alert w aplikacji TestFlight pojawia się w dowolnej aplikacji (próbowałem go Nakładaj różne aplikacje z różnych kont dev). Rzeczywiste usunięcie danych dzieje się tylko dla niektórych.

Moje pytanie:

Jest to oczekiwane zachowanie od TestFlight czy jest jakikolwiek problem z moim app? Nie jestem świadomy żadnych zmian między wersjami, które mogą powodować problemy.

Wierzę, że to się nie działo wcześniej (ostatnio próbowałem kilka tygodni temu).

Nie znalazłem dokumentacji ani uwag do wersji dotyczących zachowania lub zmian w aplikacji TestFlight.

Czy ktoś miał ten sam problem? Czy znasz jakieś zasoby opisujące to zachowanie?

Dzięki za wszelkie odpowiedzi!

+0

mam przeżywa ten sam problem. – beny

+0

Co to jest najlepsza procedura, jeśli *** chcesz zachować i uzyskać dostęp *** danych z wersji sklepu z aplikacjami? Na przykład chcesz przeczytać zapisane preferencje. – Fattie

+1

@JoeBlow również ten szczególny problem miał miejsce z powodu zmiany 'IdentifierForVendor'. Więc jeśli chcesz być na przykład scenariuszem aktualizacji testowej wersji App Store z TestFlight, po prostu upewnij się, że nie używasz 'identifierForVendor' do niczego, gdzie zmiana IFV mogłaby spowodować utratę danych lub że z wdzięcznością sobie z tym poradzisz. –

Odpowiedz

9

Po długich badań, prób i błędów, tworząc radar i uwalniając aktualizację do App Store, mam odpowiedź:

Alert jest zawsze i nie ma związku z utratą danych.

  • Alert z ostrzeżeniem o możliwej utracie danych jest wyświetlany zawsze dla każdej aplikacji instalowanej z TestFlight.
  • Dotyczy to wielu aplikacji, które wypróbowałem.

identifierForVendor zmian przy nadpisywaniu aplikacji przy użyciu wersji TestFlight.

  • Kiedy masz wersję App Store z aplikacji zainstalowanej i zastąpić ją budować od TestFlight, wynikiem [[UIDevice currentDevice] identifierForVendor] zmienia
  • Jest to nieoczekiwane, ponieważ nie są one wymienione w dokumentacji (patrz niżej)
  • W moim przypadku nieoczekiwana zmiana identifierForVendor powodowała "utratę danych", która nie była faktyczną utratą danych, ale dzieje się tak tylko w przypadku wersji TestFlight, których nie można debugować, więc trudno było znaleźć problem.

Dokumentacja [[UIDevice currentDevice] identifierForVendor] mówi:

Wartość tej nieruchomości pozostaje taka sama, podczas gdy aplikacja (lub inna aplikacja od tego samego dostawcy) jest zainstalowany na urządzeniu z iOS. Wartość zmienia się, gdy użytkownik usunie wszystkie aplikacje tego producenta z urządzenia, a następnie ponownie zainstaluje jedną lub więcej z nich. Wartość ta może również ulec zmianie podczas instalowania testowych kompilacji przy użyciu Xcode lub podczas instalowania aplikacji na urządzeniu przy użyciu dystrybucji ad-hoc.

+0

Damnnnnnnnnmmmmnnnnnnn !!!!!!!!!!!!!!!!! ** Świetne znalezisko, Lukas **. Oto jedna rzecz: czy jest jakiś sposób instalacji z TFA i ** konkretnie nie ** wymazania danych? Ponieważ, oczywiście, chcę móc przetestować, czy nowe systemy pracują nad gromadzeniem starych danych. Czy kiedykolwiek znalazłeś sposób? Dzięki! – Fattie

+0

Znalazłem http://blog.xebia.com/run-your-ios-app-without-overwriting-the-app-store-version/, które mogą być powiązane ... – Fattie

+0

@JoeBlow Właściwie to mój kolega odkrył tam zmienia się "IdentifierForVendor", właśnie podsumowałem tutaj wszystkie wyniki. –

1

zgodnie z moją najlepszą wiedzą,

jeśli zainstalowano aplikację z App Store (załóżmy o numer wersji 1.0) na urządzeniu, i powiedzmy, że twój ponownie pobierania/instalowania samą aplikację z tym samym numerem wersji 1.0 z TestFlight, otrzymasz powyższy komunikat.
Dzieje się tak, ponieważ próbujesz zainstalować aplikację z tą samą wersją i identyfikatorem pakietu, który już istnieje na urządzeniu.

Oczywiście stracisz dane/ustawienia aplikacji, ponieważ zastępowanie aplikacji nie będzie aktualizować.

Przeszedłem również przez ten scenariusz.

+0

cześć @avinash ... ALE mówię, że instalujesz wersję 2.0, faktycznie ze sklepu z aplikacjami. Więc masz AngryBirds 1.0 i klikasz, aby uaktualnić do AngryBirds 2.0. Oczywiście ** nie tracisz swoich preferencji **. Czy to prawda? Czy to prawda, że ​​zachowanie różni się pomiędzy "uaktualnieniem w sklepie z aplikacjami" i "uaktualnieniem z TFA"? – Fattie

+0

Tak, jeśli uaktualnisz kolejną wersję ze sklepu z aplikacjami, nie stracisz danych/twoich preferencji. –

+2

Dobrze. Chciałbym wiedzieć, czy istnieje wiarygodny sposób aktualizacji TFA, a nie utraty preferencji. – Fattie

Powiązane problemy