Mam trudności ze znalezieniem jakichkolwiek informacji na ten temat. Android sam wspomina o zaciemnianiu kodu jako o czymś, co należy zrobić przed przesłaniem do sklepu. Ale nie widzę o tym nic z Apple ani z list kontrolnych przedłożonych przez osoby trzecie. Jedyne podobne pytanie, jakie mogłem znaleźć, to jakieś 5 lat temu o Objective-C, i mogę znaleźć tylko 1 bibliotekę Github na temat zaciemniania iOS. Czy powszechną praktyką jest zaciemnianie kodu Swift podczas przesyłania do sklepu Apple App Store? W szczególności, aby ukryć prywatne adresy URL API lub klucze API? Czy istnieje odpowiednik Pro-Guard dla Apple?Objawianie kodu Swift przed przesłaniem do Apple App Store
Odpowiedz
Java jest konwertowana na kod bajtowy, który można dekompilować.
Swift jest językiem kompilowanym, a kompilator Clang jest wysoce zoptymalizowany. W trybie zwolnienia usuwa symbole i robi dużo optymalizacji, która sama w sobie powoduje wiele zaciemnień. Istnieją dekompilatory dla skompilowanych języków, ale wyniki są naprawdę okropne i trudne do odczytania.
W rzeczywistości Xcode także konwertuje kod Swift na rodzaj kodowania pośredniego reprezentacji, zwanego bitcodem przez Apple. Ale, IIRC, bitcode zostaje usunięte przez Apple przed wysłaniem aplikacji do klientów, a skompilowany kod aplikacji jest również szyfrowany przez Apple. Optymalizacje wykonywane przez kompilator Swift na Kompilacji wydania (w tym zmiany kolejności kodu itp.) Powodują pewne zaciemnienie. – hotpaw2
@ hotpaw2, nie sądzę, że to prawda, że skompilowany kod aplikacji jest zaszyfrowany. Jest podpisany przez kod, a system operacyjny urządzenia docelowego odmawia uruchomienia aplikacji, chyba że zostanie podpisany podpis (który obejmuje identyfikator AppleID użytkownika). –
Pobierz aplikację ze sklepu z aplikacjami na iOS i sprawdź, czy w pliku zip znajduje się kod maszynowy ARM. – hotpaw2
- 1. Czy muszę usunąć TestFlight przed przesłaniem do sklepu App Store?
- 2. Obfuskacja kodu App Store?
- 3. Otwieranie sklepu Apple TV App Store
- 4. Wykonywanie kodu javascript bezpośrednio przed przesłaniem strony
- 5. Uruchamianie App Store z aplikacji w Swift
- 6. iPhone App Store Pytanie
- 7. Odrzucenie App Store 18.2
- 8. Mac App Store piaskowanie i obsługa zakładek zabezpieczonych przed 10.7.3
- 9. Co należy przygotować przed przesłaniem aplikacji do AppStore z szyfrowaniem?
- 10. Link do aplikacji iOS przed przesłaniem aplikacji
- 11. Pobieranie kodu Xcode z innego sklepu niż App Store
- 12. Jaki rodzaj pobranego kodu narusza Wytyczne oceny App Store?
- 13. System iOS zawiesza się przed otwarciem URL App Store
- 14. Aplikacja odrzucona przez App Store
- 15. Jak zrobić coś przed przesłaniem?
- 16. Zmiana rozmiaru obrazu przed przesłaniem
- 17. Jak opóźnić formularz przed przesłaniem
- 18. Zmiana pola wejściowego przed przesłaniem
- 19. Angularjs kompresuje obraz przed przesłaniem
- 20. IllegalStateException podczas używania Curl do sprawdzenia odbioru App Store?
- 21. Przekieruj użytkownika do App Store w Androidzie
- 22. Załaduj nową aplikację do sklepu App Store
- 23. Połączenie iTunes: jak zmienić identyfikator pakietu przed przesłaniem aplikacji?
- 24. ERROR ITMS-90207 Submisson Apple Store
- 25. Aktualizacja interfejsu Windows Store App
- 26. Sprawdź dostępność Dostępny App Store
- 27. iOS Universal Link App Store przekierowanie
- 28. Awaria Xcode 8 podczas wysyłania App Store
- 29. Jak obliczyć kodSha256 pakietu aws do wdrożenia lambda przed przesłaniem
- 30. Zakup aplikacji w systemie iOS: przetestuj prawdziwy zakup bez przesyłania do firmy Apple
Co należy zaciemnić? Twój kod Swift nie jest widoczny nigdzie w zbudowanej aplikacji. – matt