Forum

Mac nie może zbudować dla Apple Silicon

S

Pan Cuete

Oryginalny plakat
9 listopada 2011
  • 21 grudnia 2020 r.
Zgodnie z dokumentacją deweloperską, aby zbudować swoją aplikację dla Apple Silicon i Intel, wystarczy kliknąć aplikację na pasku zadań i wybrać nazwę aplikacji>Dowolny Mac (Apple Silicon, Intel). Nie mogę zbudować mojej aplikacji z tym wybranym. Otrzymuję błąd:

Do uruchomienia tego celu nie można użyć urządzenia tylko do kompilacji.

Wybierz dostępne urządzenie lub jako miejsce docelowe wybierz symulowane urządzenie.

W moich ustawieniach kompilacji mam architektury ustawione na architektury standardowe (Apple Silicon, Intel) - domyślne dla XCode 12.3.
Opcja Tylko moja aktywna architektura kompilacji jest ustawiona na NIE. Jest to ustawienie domyślne dla XCode 12.3.

Nie widzę, gdzie mógłbym zmienić ustawienia, aby to naprawić i zbudować aplikację dla obu architektur. Co jest nie tak?

Również nowsze wersje panelu ustawień mają trzy kolumny: Rozwiązane, nazwa aplikacji i Domyślne macOS. Zgaduję, że trzecia kolumna pokazuje ustawienie domyślne, co jest przydatne, ale do czego służy kolumna Rozdzielone? Czy mogę się go pozbyć? S

Pan Cuete

Oryginalny plakat
9 listopada 2011


  • 21 grudnia 2020 r.
Szukając podobnych postów na forach programistów Apple, wygląda na to, że możesz to zrobić tylko na ARM MAC.

Kacpery1996

26 stycznia 2014
Horsens, Dania
  • 21 grudnia 2020 r.
Chodzi mi o to, że błąd, który otrzymujesz, nie jest błędem kompilacji. Wygląda na to, że klikasz kompilację i uruchamiasz z celem, który jest tylko celem kompilacji. CMD+B po prostu kompilować i nie uruchamiać; Czy to nie działa dobrze dla Ciebie? S

szymczyk

5 marca 2006 r.
  • 21 grudnia 2020 r.
Musisz zarchiwizować projekt na komputerze Mac z procesorem Intel, aby utworzyć plik binarny, który będzie działał zarówno na komputerach Mac z procesorem Intel, jak i M1. Wybierz Produkt > Archiwum, aby zarchiwizować projekt. Po zarchiwizowaniu projektu możesz go wyeksportować z Organizatora.
Reakcje:martyjmclean i XRayAdamo S

Pan Cuete

Oryginalny plakat
9 listopada 2011
  • 21 grudnia 2020 r.
Nie, NIE MOŻESZ go zbudować z projektem ustawionym na budowanie dla obu i nie sądzę, że możesz go zarchiwizować, chyba że jest skompilowany. S

szymczyk

5 marca 2006 r.
  • 21 grudnia 2020 r.
Wybierz Mój Mac z paska skoku zamiast Dowolnego Maca. W ten sposób zbudowałem i zarchiwizowałem istniejący projekt Maca jako uniwersalny plik binarny na komputerze Intel Mac.

Próbowałem wybrać dowolny Mac z paska skoku. Nie udało mi się zbudować projektu i otrzymałem ten sam błąd opisany w oryginalnym poście. Udało mi się zarchiwizować projekt.

Kacpery1996

26 stycznia 2014
Horsens, Dania
  • 22 grudnia 2020
Senor Cuete powiedział: Nie, NIE MOŻESZ go zbudować z projektem ustawionym na budowanie dla obu i nie sądzę, że możesz go zarchiwizować, dopóki nie zostanie zbudowany.
To ewidentnie fałszywe, kolego



Nie możesz budować i biegać. Ale rzeczywiście możesz to zbudować.
Reakcje:martyjmczysty S

Pan Cuete

Oryginalny plakat
9 listopada 2011
  • 2 stycznia 2021
W ustawieniach kompilacji dla mojego projektu domyślne ustawienie architektury to Standardowe architektury (Apple Silicon, Intel) $(ARCHS_STANDARD). Kiedy używam
lipo path/appname.app/Contents/MacOS/appname -archs zwraca x86_64 arm64, więc automatycznie buduje uniwersalny plik binarny. Zastanawiam się, co robi pasek zadań Any Mac (Apple Silicon, Intel). DO

ADGrant

26 kwi 2018
  • 4 stycznia 2021
Senor Cuete powiedział: W ustawieniach kompilacji mojego projektu domyślnym ustawieniem architektury jest architektura standardowa (Apple Silicon, Intel) $(ARCHS_STANDARD). Kiedy używam
lipo path/appname.app/Contents/MacOS/appname -archs zwraca x86_64 arm64, więc automatycznie buduje uniwersalny plik binarny. Zastanawiam się, co robi pasek zadań Any Mac (Apple Silicon, Intel).
To buduje plik binarny Universal do wydania. Jeśli zbudujesz aplikację z MyMac jako celem, zostanie ona zbudowana dla tego komputera (x86_64 dla Intel Mac i arm64 dla Arm Mac). Xcode na Arm Macs pozwala również na tworzenie i uruchamianie binarnych plików Intela przy użyciu Rosetty.