2011-08-15 12 views
8

Chcę zbudować aplikację OSX, która będzie korzystać z niektórych nowych funkcji SDK 10,7 (w szczególności zakupów w aplikacji). Nie chcę jednak całkowicie uniemożliwić zainstalowaniu aplikacji 10.6 użytkowników.Jak przesłać aplikację OSX 10.7 kompatybilną z 10.6?

Jak mogę to zrobić, aby 10,7 użytkowników miało dostęp do nowych funkcji, a 10,6 użytkownicy po prostu nie mają nowych funkcji, ale nadal mogą używać podstawowych rzeczy?

Kiedy kompiluję dla 10.6, nie ładuje SDK, który ma "InApp", zgodnie z oczekiwaniami. I przypuszczam, że jeśli skompiluję dla 10,7 użytkowników, nie będzie można ich zainstalować z AppStore.

Odpowiedz

2

Można użyć jednego z these metod w celu określenia wersji systemu operacyjnego użytkownika, a następnie, jeśli są one uruchomione Lion, uruchomić kod, jeśli nie są one nie go uruchomić (stosowanie if)

Edycja : będziesz mieć również do słabego ogniwa ramy storekit

0

Czy możesz utworzyć pakiet, który może zostać załadowany i zaoferować funkcje 10.7? Twoja prawdziwa aplikacja może sprawdzić, który system operacyjny działa, a nie załadować pakietu 10.7. Nie wiem, czy to by działało, ponieważ nie byłoby nierozsądne, gdyby pakiet 10,7-SDK odmówił załadowania w aplikacji SDK 10,6.

Inną możliwością może być posiadanie dwóch aplikacji pod maską i bardzo mała aplikacja powłoki (prawdopodobnie nawet skrypt), która wykrywa system operacyjny hosta i uruchamia poprawny system operacyjny.

+0

Czy te metody byłyby zgodne z przesłaniem AppStore? –

+0

Przepraszam ... nie wiem. Nie znam szczegółów kwalifikacji AppStore. Po prostu próbowałem przemyśleć kwestie techniczne, a nie kwestie biznesowe/polityczne. –

1

nie wiem, czy to pomoże, ale dla nowszych API (takie jak te dla Lion tylko) wystarczy użyć instrukcji IF z respondToSelector:

jest to jeden sposób sugerowany przez Apple i nie musisz zadzierać ze znajomością konkretnego systemu operacyjnego podczas uruchamiania.

Powiązane problemy