Minęło trochę czasu, odkąd to pytanie się podoba, ale wygląda na to, że nie jest w pełni rozwiązany. Zamierzam dodać to, co znalazłem.
Oto sposób, w jaki przeprowadziłem mój test. Właśnie powstaje pierwsze wydanie naszej aplikacji i nie mamy wersji w sklepie z aplikacjami. Zrobiłem więc identyfikator pakietu z innej aplikacji, którą mam w sklepie z aplikacjami, umieściłem go w mojej nowej aplikacji w Xcode 8.3 i przetestowałem tę funkcję aktualizacji. Interesuje mnie pytanie: Czy aplikacja A sama się aktualizuje, korzystając z SKStoreProductViewController
?
1) iOS 10.3 na telefonie iPhone. Uruchomiłem test i działa on w około 6 próbach, które zrobiłem. To, co dzieje się podczas instalacji z poziomu SKStoreProductViewController
, powoduje awarię mojej aplikacji (nic dziwnego - instaluję ją w tej samej "aplikacji" z tym samym identyfikatorem pakietu), ale instalacja przebiega dalej. Widoczny jest zwykły wskaźnik postępu pobierania, który zwykle wyświetla się w aplikacji pobranej ze sklepu z aplikacjami.
2) iOS 11 na iPadzie (iOS11, beta 5, jak sądzę - numer kompilacji to 15A5341f). Podczas próby aktualizacji (aktualizacja aplikacji A z poziomu aplikacji A), używając SKStoreProductViewController
, to nie zadziałało. Otrzymuję następujący alert po naciśnięciu przycisku "aktualizacja". Próbowałem już tego kilka razy. Aplikacja nie ulega awarii.Po prostu nie pobiera "aktualizacji". Nie jestem pewien, czy jest to typowe dla wersji beta systemu iOS, czy jest to zmiana w zachowaniu SKStoreProductViewController
.
3) iOS 11, samo urządzenie: Ale starał się aktualizować aplikację B od wewnątrz aplikacji A. Pobiegłem ten test, aby zobaczyć, czy problem był taki, że po prostu nie mógł zrobić pobieranie w ogóle w ciągu SKStoreProductViewController
w wersji beta. To zadziałało. W tym przypadku udało mi się pobrać plik.
Postaram się złożyć raport z testu po wydaniu iOS 11, aby sprawdzić, czy mój test 2) działa lub pozostaje taki sam.
+1 Właśnie zrobiłem nowy zrzut ekranu aplikacji, która miała aktualizację i działa również tam. –
To pokazuje, że możesz zaktualizować aplikację B z SKStoreProductViewController hostowanej w aplikacji A. Nadal nie odpowiada na pytanie, czy możesz zaktualizować aplikację A również z modułu SKStoreProductViewController obsługiwanego w aplikacji A. – aloo