2013-01-08 14 views
12

Mam aplikację na iOS, która ma schemat budowy TestFlight. W tym schemacie ustawiłem zmienną środowiskową o nazwie TESTFLIGHT o wartości 1 ustawionej w zakładce "Uruchom". Ponadto w zakładce "Profil" schematu budowy jest zaznaczona opcja "Użyj argumentów i zmiennych akcji RUN" i widzę odpowiednią wartość EV na liście.Zmienne środowiska Xcode nie są obecne podczas archiwizacji

Działa to dobrze podczas uruchamiania aplikacji z Xcode, ale kiedy robię archiwum i uruchamiam aplikację na moim urządzeniu, zmienna środowiskowa TESTFLIGHT nie jest obecna. Moje pytanie dotyczy karty opcji/schematu, której tutaj brakuje?

EV jest ustawiony na zakładce "Uruchom" i jest wybrany do konfiguracji kompilacji debugowania. Czy muszę to zmienić, aby wydać?

Dziękuję wszystkim!

Odpowiedz

20

Zmienna środowiskowa jest ustawiona tylko po uruchomieniu aplikacji z Xcode. Jeśli uruchomisz tę samą aplikację z urządzenia bezpośrednio, dotykając ikony, nie zostaną one ustawione. Nie są częścią aplikacji. Jak sugeruje ich nazwa, są częścią środowiska, które Xcode ustawia specjalnie przed ich uruchomieniem. (Jeśli pracujesz na komputerze Mac, możesz ustawić je w powłoce przed uruchomieniem pliku wykonywalnego, ale nie jest to możliwe na iPhonie.)

+2

Dziękuję za wyjaśnienia. To, co próbuję todo, to schemat budowy, którego mogę użyć do zbudowania dla wdrożenia TestFlight, dzięki któremu aplikacja będzie używać adresu URL programowania do pobierania danych, a następnie będzie mieć inny schemat produkcji, który użyje produkcyjnego adresu URL, gdy aplikacja działa. Wszelkie sugestie, jak można to wdrożyć? –

+7

Użyj makr preprocesora. W docelowym ustawieniu budowania musisz utworzyć nową konfigurację konfiguracji "TestFlight" (domyślnie są to "Debugowanie" i "Zwolnij"), następnie w makrach preprocesorów dodaj nowe makro (na przykład 'TESTFLIGHT = 1') konfiguracja "TestFlight". W twoim kodzie użyj instrukcji preprocesora, takich jak '#ifdef TESTFLIGHT ... #else ... # endif'. W swoich schematach możesz wybrać konfigurację kompilacji "TestFlight" w zakładce "Informacje", aby uzyskać pożądaną akcję. – Guillaume

+0

(Aby utworzyć konfigurację kompilacji, wybierz projekt, a następnie spójrz na zakładkę Informacje). – Guillaume

Powiązane problemy