Končna rešitev za kodo napake Xcodebuild 65 v različicah iOS

Zadnja posodobitev: 14/04/2025
Avtor: Isaac
  • Napaka Xcodebuild 65 je običajno povezana s težavami s podpisovanjem, simulatorjem ali konfiguracijo okolja.
  • Manifestira se na več načinov, tako v izvornem razvoju z Xcode kot tudi z Appiumom, React Nativeom ali Unityjem.
  • Obstajajo dobre prakse, ki omogočajo preprečevanje napak med neprekinjenimi integracijami ali lokalnimi izvedbami
  • Pregled profilov oskrbovanja in njihova uporaba dnevniki podrobna pomoč pri boljšem prepoznavanju vzroka napake

Koda napake Xcodebuild 65 v sistemu iOS

Ko se med izvajanjem xcodebuilda v sistemu iOS ali macOS pojavi strašljiva koda napake 65 , bodisi v lokalnem razvojnem okolju bodisi v okolju neprekinjene integracije, se lahko zdi, kot da se je vse sesulo. Gre za eno tistih generičnih napak, ki ne nakazuje jasno, kaj je šlo narobe, zaradi česar je še posebej frustrirajoča.

Ta napaka je pogosta pri delu z orodji, kot so React Native, Xcode, Appium, Unity ali Cordova . Najhuje je, da Xcode v svojih dnevnikih pogosto ponuja zelo malo uporabnih informacij, zaradi česar jo je še težje odpraviti. A brez skrbi, razčlenili bomo vse možne razloge, zakaj se pojavi, in kako jo odpraviti v vsakem primeru.

Kaj pomeni koda napake Xcodebuild 65?

Razlaga kode napake 65 v xcodebuild

Koda napake 65 v orodju xcodebuild je splošen način, da poveste, da je med prevajanjem, testiranjem, analizo ali arhiviranjem projekta prišlo do napake . Natančneje, v skladu s tehnično dokumentacijo je ta napaka povezana z napakami pri vnosu podatkov ali nepričakovanimi pogoji, od katerih si orodje ne more opomoči.

Tako kot kode HTTP (na primer 404 ali 200), Te izhodne kode kažejo, kaj se je zgodilo vendar ne dajejo podrobnosti. V tem primeru 65 ustreza konstanti, definirani v datoteki sysexits.h in njegov opis je “EX_DATAERR”, to je napaka zaradi nepravilnih podatkov.

To ima lahko več vzrokov, od napake v konfiguraciji projekta do težav z dovoljenji, težav s podpisi, nezagnanih simulatorjev, manjkajočih profilov za omogočanje ali celo nezdružljivosti različic odvisnosti. Če se želite podrobneje poglobiti v konfiguriranje gradbenih okolij, si lahko ogledate članek o prevajanju Ubuntu.

Pogosti vzroki za neuspeh Xcodebuild s kodo 65

Kot opažamo v različnih okoljih, kot so Appium, Cordova, CircleCI in izvorni projekti Xcode, so glavni razlogi za neuspeh:

  • Potekli ali nekonfigurirani profili za oskrbo.
  • Težave s podpisovanjem kod (Code Sign Identity).
  • Simulatorji niso zagnani ali niso na voljo v času gradnje ali testiranja.
  • Poškodovane konfiguracijske datoteke ali nezdružljivo (npr .xcconfig napačno črkovano).
  • Vmesni koraki gradnje ne uspejo, kot je CopyPNG, CodeSign ali ProcessProductPackaging.
  • Sočasnost niti upočasni zagon simulatorja v okoljih CI, kot sta CircleCI ali Azure Pipelines.
  • Nepravilna uporaba naprav Apple Silicon (M1, M2…) ne glede na arhitekturne razlike.
  Kako si korak za korakom ogledati fotografije iz iPhona v aplikaciji Windows Photos

Napaka 65 v Xcodebuild z uporabo sistemov CircleCI ali CI/CD

Pri izvajanju gradenj v avtomatiziranih okoljih, kot je CircleCI, lahko xcodebuild ne uspe, če okolje še ni »pripravljeno «. Mnogi razvijalci naletijo na napako 65, ker se simulator ob začetku gradnje še ni v celoti zagnal.

Priporočen trik je, da predhodno ročno zaženete simulator z ukazom:

xcrun instruments -w 'iPhone 7 (10.3)' || sleep 15

Na ta način oz. sistemu je na voljo čas za pravilen zagon simulatorja. Celo sleep 15 pozneje pomaga, da ukaz vrne kodo 0 in ne povzroči nove verige napak.

Prav tako je koristno ločiti zagon simulatorja od koraka pridobivanja odvisnosti, da bi bolje razumeli, katera faza v cevovodu ne deluje. Za več podrobnosti o neprekinjeni integraciji lahko obiščete to povezavo o Ethereumu in CI/CD.

Napaka 65 v Appiumu z WebDriverAgentom

WebDriverAgent in koda napake 65 v aplikaciji Appium

Eden najpogostejših primerov napake 65 se pojavi pri izvajanju testov z Appiumom na dejanskih napravah iOS. Običajni vzrok je nezmožnost pravilnega zagona WebDriverAgenta , orodja, ki ga Appium uporablja za komunikacijo z napravo iOS.

V večini primerov je ta napaka posledica:

  • WebDriverAgent ni pravilno podpisan ali nima veljavnega profila za zagotavljanje.
  • Nepravilen identifikator paketa ali ki se ne ujema s konfiguriranim potrdilom.
  • Različica Appium ni združljiva z WebDriverAgent.

Rešitev je, da pravilno podpišete WDA in zagotovite, da ni nobenih napak, povezanih s pooblastili ali identiteto podpisovanja. Poleg tega je priporočljivo, da izbrišete aplikacijo WebDriverAgent iz naprave in jo znova zaženete, preden znova preizkusite gradnjo. Morda bi bilo koristno uporabiti tudi možnost showXcodeLog za podrobnejše informacije o osnovni napaki.

Delo z React Native in koda 65 napaka

Če uporabljate React Native in pri zagonu naletite na to napako npx react-native run-ios, se prepričajte o naslednjem:

  Kako zajeti celotne spletne strani in dolge posnetke zaslona v sistemih iOS in Android

1. Pravilno namestite stroke

Eden najpogostejših vzrokov je, da izvorne odvisnosti niso pravilno nameščene. Če želite to popraviti:

npx pod-install

Ko je projekt končan, lahko projekt znova zaženete. Če morate posodobiti svoje okolje, so na voljo navodila za namestitev Ghosttyja v Linux , ki so lahko koristna za razvijalce.

2. Zaženite iz Xcode za bolj eksplicitne napake

Ko ukazi CLI ne nudijo uporabnih informacij, je najbolje, da projekt odprete v Xcode in ga zgradite od tam. To vam bo omogočilo jasnejši pregled napak, povezanih s knjižnicami, napravami ali konfiguracijami.

3. Preverite povezane naprave

Preverite, ali imate več aktivnih simulatorjev in ob zagonu projekta izrecno izberite enega:

npx react-native run-ios --simulator="iPhone 15 Pro"

4. Ponastavite stroke

Nekatere konfliktne knjižnice ali ostanki prejšnjih konfiguracij povzročajo napake. Ponastavitev običajno pomaga.

cd ios
pod deintegrate
pod cache clean --all
pod setup
pod install

5. Apple Silicon (čipi M1, M2, M3)

Applovi novi čipi povzročajo napake pri gradnji, če se ukazi ne izvajajo v arhitekturi x86. V tem primeru poskusite naslednje:

sudo arch -x86_64 gem install ffi
arch -x86_64 pod install

Enotnost in napaka 65 med arhiviranjem

V projektih, ustvarjenih z Unity, ki so nato izvoženi kot projekti Xcode za prevajanje v sistemu iOS, se lahko med gradnjo pojavi napaka 65. xcodebuild archive. Tudi če je vse pravilno konfigurirano, lahko Xcode ne uspe s težavami v korakih, kot so:

  • Procesno pakiranje izdelkov
  • CodeSign
  • Potrdi

Tudi če so profili in potrdila pravilni, lahko pride do napak v ustvarjanje pravic ali vmesnih paketov. Včasih pomaga brisanje mape DerivedData, očistite izdelke znotraj Xcode in zagotovite, da sta različici Unity in Xcode združljivi. Za več informacij o različicah programske opreme si oglejte našo objavo na Kako vedeti različico sistema Windows 11.

Napake brez vidnega namiga: kaj storiti

V številnih scenarijih (npr. pri uporabi Azure Pipelines ali GitHub Actions) se napaka prikaže brez jasne spremljave v dnevniku, tudi z zastavico --verbose. V teh primerih:

  Datoteke na iPadu: Popoln vodnik za iskanje, shranjevanje in organiziranje

1. Povečajte ravni dnevnika. ZDA showXcodeLog, -verbose in shrani začasne dnevniške datoteke za analizo na prvi pogled.

2. Preučite zadnji korak pred napako . Napaka pogosto ni tam, kjer se napaka pojavi, ampak nekaj korakov prej.

3. Poskusite ročno prevesti z Xcode in preverite, ali se napaka pojavlja zunaj avtomatiziranega okolja.

Na ta način lahko ugotovite, ali je težava v samem projektu ali v konfiguraciji okolja. Ne pozabite, da lahko razumevanje delovnih procesov gradnje pomaga preprečiti težave, zato razmislite o branju o zaslonih z napakami v sistemih.

Kot ste videli, koda napake 65 ne pomeni samo ene stvari; lahko izvira iz več vzrokov, odvisno od konteksta: izvorni projekti, React Native, Appium, CI/CD, Unity itd. Ključno je vedeti, kako interpretirati dnevnike , razumeti, kako deluje podpisovanje in konfiguracija Xcode , ter sprejeti najboljše prakse, kot so simulacija resničnih okolij, uporaba podrobnih dnevnikov in čiščenje preostalih artefaktov . Z nekaj potrpežljivosti in sistematičnim pristopom je mogoče to napako odpraviti in nehati biti nočna mora, ki ovira razvoj iOS-a.

telefonska številka zbirke
Povezani članek:
Čemu je telefonska številka zbirke?
Isaac

Isaac

Strasten pisec o svetu bajtov in tehnologije nasploh. Rad delim svoje znanje s pisanjem in to je tisto, kar bom počel v tem blogu, saj vam bom pokazal vse najbolj zanimive stvari o pripomočkih, programski opremi, strojni opremi, tehnoloških trendih in še več. Moj cilj je, da vam pomagam krmariti po digitalnem svetu na preprost in zabaven način.