Vra

Ek probeer om op te gradeer'n app (Clarke) om voorsiening te maak 10.6 verenigbaarheid.

My plan is om te gebruik twee verskillende kode paaie, afhangende van die weergawe van OSX in gebruik.

Op 10.5 dit sal gebruik een beheerder, wat bestaan uit'n heeltemal persoonlike kode wat is nie afhanklik van enige spesifieke Kakao API.Op 10.6 dit sal gebruik om'n ander kontroleerder, wat vou die nuwe CoreLocation API in'n identiese koppelvlak, wat gebaseer is op die dieselfde abstrakte klas.By runtime die app sal wissel tussen die beheerders deur die opsporing van die OS weergawe.

Dit werk goed op 10.6 gebou vir die 10.6 SDK, maar die dieselfde bou waai op 10.5 met:

10/09/2009 18:30:50 [0x0-0x12f12f].uk.co.tomtaylor.Clarke[4575] dyld: unknown required load command 0x80000022 
10/09/2009 18:30:51 com.apple.launchd[403] ([0x0-0x12f12f].uk.co.tomtaylor.Clarke[4575]) Exited abnormally: Trace/BPT trap 

As ek bou vir 10.5 SDK dit kan nie stel die CoreLocation dinge, natuurlik.

Ek het gehoop om in staat wees om'n enkele binêre vir hierdie aansoek.Is daar'n manier om te "steek" die CoreLocation API van 10.5?

Was dit nuttig?

Oplossing

Jy moet in staat wees om hierdie probleem op te los deur die verandering van die bou van instellings van jou teiken:

  1. Stel die Basis SDK te 10.6
  2. Stel die Ontplooiing SDK te 10.5

Ander wenke

Die Ontplooiing SDK truuk werk net wanneer jy het dieselfde raamwerk op beide platforms, maar die nuwe oproepe in die nuwer een.Vir CoreLocation, die hele raamwerk is vermis op 10.5, sodat jou app sal nie laai nie, want dit kan nie dinamies bind aan die raamwerk.

Wat jy nodig het om te doen die bogenoemde, plus voeg CoreLocation as'n swak raamwerk.Kies jou Skakel Raamwerke en Binaries bou fase, vind CoreLocation in die Detail te kyk, en in die middel van die kolom verander "Vereis" tot "Swak".

Wanneer jy bou jou app, Xcode sal slaag -weak_framework CoreLocation aan die linker, en jou app sal laai op al 10.5 en 10.6 stelsels ongeag of CoreLocation is teenwoordig.Dit is aan jou om seker te maak om nie te noem enige CoreLocation metodes tensy jy eintlik loop op 10.6, al is.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top