Difference between revisions of "Mac OS X"

From FM Plugin Wikipedia
Jump to: navigation, search
(Prelude)
 
(71 intermediate revisions by 2 users not shown)
Line 1: Line 1:
basroert
 
[http://nnnslogan.freehostia.com/schede-madri104.htm schede madri nf4 ultra 939] [http://orel-na-vole.freehostia.com/blog/mp-36/ mp3 512 amstrad] [http://naughtygirl92.ifrance.com/data/mappe-citta1.html mappe citta] [http://rasa18.ifrance.com/programma-oer/ programma oer mixare] [http://orel-na-vole.freehostia.com/blog/tenda-campeggio16/ tenda campeggio 8 posti] [http://naughtygirl92.ifrance.com/data/castiglion-del.html castiglion del bosco] [http://naughtygirl92.ifrance.com/data/online-dating4.html online dating featuring] [http://nnnslogan.freehostia.com/il-codice2.htm il codice della pistola] [http://naughtygirl92.ifrance.com/data/range-rover27.html range rover hse benzina] [http://naughtygirl92.ifrance.com/data/e-napule.html e napule] [http://orel-na-vole.freehostia.com/blog/transformers-armada8/ transformers armada disco 05] [http://rasa18.ifrance.com/gt-modem/ g604t modem dlink] [http://nnnslogan.freehostia.com/fassa.htm fassa] [http://rasa18.ifrance.com/sony-save2/ sony save225] [http://orel-na-vole.freehostia.com/blog/death-on1/ death on the road] [http://naughtygirl92.ifrance.com/data/nikon-batteria2.html nikon batteria enel5] [http://naughtygirl92.ifrance.com/data/nomi-piante.html nomi piante marine] [http://nnnslogan.freehostia.com/eva-herzigova4.htm eva herzigova agosto 2004] [http://naughtygirl92.ifrance.com/data/sanyo-vpc7.html sanyo vpc s4] [http://rasa18.ifrance.com/m-3/ m 415 hp] [http://rasa18.ifrance.com/annuncio-personale7/ annuncio personale incontro foto] [http://orel-na-vole.freehostia.com/blog/viaggio-organizzato1/ viaggio organizzato capodanno] [http://naughtygirl92.ifrance.com/data/jessicarizzo-it.html jessicarizzo it] [http://orel-na-vole.freehostia.com/blog/popolare-lodi/ popolare lodi] [http://orel-na-vole.freehostia.com/blog/opel-corsa53/ opel corsa 14 16v sport] [http://orel-na-vole.freehostia.com/blog/www-entusiasmo/ www entusiasmo it] [http://nnnslogan.freehostia.com/oklahoma-hotel.htm oklahoma hotel] [http://nnnslogan.freehostia.com/ko-to.htm ko to kaze] [http://naughtygirl92.ifrance.com/data/sd-k.html sd 56k modem card] [http://nnnslogan.freehostia.com/pagine-bianche52.htm pagine bianche pavia] [http://orel-na-vole.freehostia.com/blog/yughi-oh/ yughi oh] [http://rasa18.ifrance.com/terra-pianeta1/ terra pianeta struttura] [http://naughtygirl92.ifrance.com/data/satellite-a3.html satellite a80] [http://rasa18.ifrance.com/una-donna37/ una donna di seconda mano] [http://orel-na-vole.freehostia.com/blog/joystick-wingman/ joystick wingman] [http://rasa18.ifrance.com/amore-matrimonio/ amore matrimonio] [http://rasa18.ifrance.com/franco-tellina/ franco tellina] [http://naughtygirl92.ifrance.com/data/nuova-accademia.html nuova accademia srl] [http://nnnslogan.freehostia.com/orologi-sector1.htm orologi sector acciaio] [http://rasa18.ifrance.com/foto-di366/ foto di vale rossi nudo] [http://rasa18.ifrance.com/tylene-buck/ tylene buck nude] [http://nnnslogan.freehostia.com/huila.htm huila] [http://nnnslogan.freehostia.com/smart-phone3.htm smart phone] [http://nnnslogan.freehostia.com/space-cowboy1.htm space cowboy nsync] [http://rasa18.ifrance.com/lettori-cd44/ lettori cd 8 pollici] [http://rasa18.ifrance.com/ricerca-sul6/ ricerca sul liberismo] [http://nnnslogan.freehostia.com/alfa-romeo115.htm alfa romeo 147 19 jtd] [http://naughtygirl92.ifrance.com/data/record-sport.html record sport] [http://naughtygirl92.ifrance.com/data/casalinghe-insoddisfatte.html casalinghe insoddisfatte] [http://naughtygirl92.ifrance.com/data/dragonfly1.html dragonfly 36] [http://naughtygirl92.ifrance.com/data/scaleo-l.html scaleo l] [http://naughtygirl92.ifrance.com/data/carrie-lo.html carrie (lo sguardo di satana)] [http://naughtygirl92.ifrance.com/data/ups-powermust2.html ups powermust 800] [http://rasa18.ifrance.com/dimage2/ dimage 400] [http://nnnslogan.freehostia.com/vieni-vieni1.htm vieni vieni amore mio] [http://orel-na-vole.freehostia.com/blog/video-portogallo/ video portogallo vs brasile] [http://naughtygirl92.ifrance.com/data/tracy-beaker.html tracy beaker] [http://nnnslogan.freehostia.com/xxx-fucking.htm xxx fucking] [http://orel-na-vole.freehostia.com/blog/liber-com/ liber com pe] [http://orel-na-vole.freehostia.com/blog/pisa-cagliari/ pisa cagliari biglietti aerei] [http://nnnslogan.freehostia.com/high-heels2.htm high heels] [http://naughtygirl92.ifrance.com/data/dance-for1.html dance for beat] [http://orel-na-vole.freehostia.com/blog/puritanas-con/ puritanas con] [http://naughtygirl92.ifrance.com/data/s-15.html s 40 canon] [http://rasa18.ifrance.com/anacridium/ anacridium] [http://orel-na-vole.freehostia.com/blog/facolta-di33/ facolta di lettere] [http://nnnslogan.freehostia.com/ostaggio-inglese4.htm ostaggio inglese decapitato] [http://naughtygirl92.ifrance.com/data/legend-of5.html legend of zelda the wind waker] [http://rasa18.ifrance.com/ilagan/ ilagan] [http://rasa18.ifrance.com/superman-xxx/ superman xxx] [http://naughtygirl92.ifrance.com/data/bacato.html bacato] [http://rasa18.ifrance.com/punture-di/ punture di zanzare rimedi] [http://rasa18.ifrance.com/gilera-runner4/ gilera runner] [http://naughtygirl92.ifrance.com/data/il-prezzo9.html il prezzo e giusto] [http://nnnslogan.freehostia.com/yamaha-moto1.htm yamaha moto d acqua] [http://orel-na-vole.freehostia.com/blog/snals-scuola1/ snals scuola] [http://naughtygirl92.ifrance.com/data/lio.html lio] [http://orel-na-vole.freehostia.com/blog/impianto-audio/ impianto audio] [http://orel-na-vole.freehostia.com/blog/ragazze-sex/ ragazze sex] [http://naughtygirl92.ifrance.com/data/acer-cr8.html acer cr 8530] [http://nnnslogan.freehostia.com/puntoeduri-indire2.htm puntoeduri indire it neoassunti2006] [http://nnnslogan.freehostia.com/lagos-stato.htm lagos (stato della nigeria)] [http://orel-na-vole.freehostia.com/blog/no-more6/ no more i love yous] [http://naughtygirl92.ifrance.com/data/moreno-marcela.html moreno marcela] [http://naughtygirl92.ifrance.com/data/noleggio-bmw5.html noleggio bmw x5] [http://rasa18.ifrance.com/www-bompreco/ www bompreco com br] [http://orel-na-vole.freehostia.com/blog/business-incorporation/ business incorporation] [http://naughtygirl92.ifrance.com/data/mb-d.html mb d100] [http://rasa18.ifrance.com/impacare-sms/ impacare sms] [http://nnnslogan.freehostia.com/frizioni-ancona.htm frizioni ancona] [http://naughtygirl92.ifrance.com/data/proposte-istruzione.html proposte istruzione 2003] [http://nnnslogan.freehostia.com/pompino-selen.htm pompino selen] [http://orel-na-vole.freehostia.com/blog/map-in/ map in the world] [http://orel-na-vole.freehostia.com/blog/tema-sull1/ tema sull illuminismo] [http://naughtygirl92.ifrance.com/data/nudo-e2.html nudo e crudo] [http://orel-na-vole.freehostia.com/blog/agenzia-matrimoniale32/ agenzia matrimoniale donna straniera] [http://nnnslogan.freehostia.com/lettino-per1.htm lettino per bambini] [http://naughtygirl92.ifrance.com/data/deejay-parade13.html deejay parade vol 3 1994] [http://nnnslogan.freehostia.com/graduatorie-permanenti7.htm graduatorie permanenti provincia di sira] [http://nnnslogan.freehostia.com/ipod-cuffie.htm ipod cuffie] [http://nnnslogan.freehostia.com/fujitsu-lcd2.htm fujitsu lcd] [http://nnnslogan.freehostia.com/seleq.htm seleq] [http://orel-na-vole.freehostia.com/blog/fornaciari-luigi/ fornaciari luigi] [http://naughtygirl92.ifrance.com/data/toner-rigenerato1.html toner rigenerato] [http://rasa18.ifrance.com/easypic-com/ easypic com] [http://rasa18.ifrance.com/maternita/ maternita] [http://naughtygirl92.ifrance.com/data/file-kar1.html file kar] [http://naughtygirl92.ifrance.com/data/il-club9.html il club degli intrighi] [http://nnnslogan.freehostia.com/orient-cafe.htm orient cafe] [http://orel-na-vole.freehostia.com/blog/indaco-degli1/ indaco degli occhi dal cielo] [http://nnnslogan.freehostia.com/oc-srl.htm oc srl] [http://naughtygirl92.ifrance.com/data/mr-vain.html mr vain] [http://naughtygirl92.ifrance.com/data/belespace-be.html belespace be] [http://nnnslogan.freehostia.com/beleive.htm beleive] [http://orel-na-vole.freehostia.com/blog/intel-dgevlk/ intel d915gevlk] [http://nnnslogan.freehostia.com/pda-gprs1.htm pda gprs] [http://rasa18.ifrance.com/habbahotel/ habbahotel] [http://rasa18.ifrance.com/sapphire-15/ sapphire 9600 xt 256mb] [http://orel-na-vole.freehostia.com/blog/libri-usati5/ libri usati milano] [http://rasa18.ifrance.com/marini-video/ marini video] [http://orel-na-vole.freehostia.com/blog/symantec-internet/ symantec internet security] [http://naughtygirl92.ifrance.com/data/club-d2.html club 3d] [http://orel-na-vole.freehostia.com/blog/e-of/ e of the tiger] [http://rasa18.ifrance.com/un-grande4/ un grande amore di giorgio iv] [http://orel-na-vole.freehostia.com/blog/fabio-canavaro/ fabio canavaro parma] [http://rasa18.ifrance.com/lindi/ lindi] [http://rasa18.ifrance.com/scheda-video103/ scheda video x700] [http://orel-na-vole.freehostia.com/blog/www-caffe/ www caffe it] [http://rasa18.ifrance.com/foto-jenny1/ foto jenny barazza] [http://nnnslogan.freehostia.com/chrysler-crossfire3.htm chrysler crossfire] [http://orel-na-vole.freehostia.com/blog/agriturismo-toscana/ agriturismo toscana vacanza] [http://nnnslogan.freehostia.com/quedata.htm quedata] [http://rasa18.ifrance.com/hardcore-sex/ hardcore sex] [http://orel-na-vole.freehostia.com/blog/tito-rojas/ tito rojas] [http://naughtygirl92.ifrance.com/data/mr-peng.html mr peng] [http://orel-na-vole.freehostia.com/blog/acqua-armani/ acqua armani] [http://orel-na-vole.freehostia.com/blog/lexmark34/ lexmark 5224] [http://orel-na-vole.freehostia.com/blog/la-congiura2/ la congiura delle beffe] [http://naughtygirl92.ifrance.com/data/settore-tecnico1.html settore tecnico coverciano] [http://nnnslogan.freehostia.com/ati-radeon303.htm ati radeon 9250 se] [http://naughtygirl92.ifrance.com/data/tema-nokia3.html tema nokia] [http://naughtygirl92.ifrance.com/data/utensili-per4.html utensili per legno] [http://naughtygirl92.ifrance.com/data/divano-letto2.html divano letto matrimoniale] [http://rasa18.ifrance.com/bimodale/ bimodale] [http://nnnslogan.freehostia.com/perotta-adriano.htm perotta adriano] [http://naughtygirl92.ifrance.com/data/julie-strain.html julie strain] [http://nnnslogan.freehostia.com/campobasso.htm campobasso] [http://naughtygirl92.ifrance.com/data/e-mediterraneo.html e mediterraneo sia] [http://nnnslogan.freehostia.com/gas-wider.htm gas wider] [http://rasa18.ifrance.com/comunicazione-cessione/ comunicazione cessione fabbricato] [http://nnnslogan.freehostia.com/barzotti.htm barzotti] [http://nnnslogan.freehostia.com/sonus-faber8.htm sonus faber gran piano] [http://naughtygirl92.ifrance.com/data/www-volare4.html www volare] [http://orel-na-vole.freehostia.com/blog/ibm-intell/ ibm intell z] [http://naughtygirl92.ifrance.com/data/trucco-gioco3.html trucco gioco xbox] [http://naughtygirl92.ifrance.com/data/vacanze-a25.html vacanze a riccione] [http://nnnslogan.freehostia.com/made-in5.htm made in japan] [http://rasa18.ifrance.com/vecchia-mutanda/ vecchia mutanda] [http://orel-na-vole.freehostia.com/blog/e-festa/ e festa] [http://rasa18.ifrance.com/compagnia-navi/ compagnia navi crociera] [http://naughtygirl92.ifrance.com/data/mercedes-clk32.html mercedes clk 230 sport] [http://naughtygirl92.ifrance.com/data/oh-mami.html oh mami] [http://naughtygirl92.ifrance.com/data/giovagnoli-roberto.html giovagnoli roberto] [http://naughtygirl92.ifrance.com/data/aprende-ingles.html aprende ingles] [http://nnnslogan.freehostia.com/tariffe-passaggi1.htm tariffe passaggi proprieta autoveicoli] [http://rasa18.ifrance.com/combinato-dvd/ combinato dvd vhs divx] [http://rasa18.ifrance.com/ducati-ss/ ducati ss] [http://naughtygirl92.ifrance.com/data/hp-164.html hp 990 cxi] [http://orel-na-vole.freehostia.com/blog/lettore-mp406/ lettore mp3 colori] [http://rasa18.ifrance.com/jvc-accessori1/ jvc accessori telecamera] [http://nnnslogan.freehostia.com/sanyo-digital.htm sanyo digital movie c5] [http://naughtygirl92.ifrance.com/data/rape-of.html rape of nanking] [http://orel-na-vole.freehostia.com/blog/ruslana-wild12/ ruslana wild dance ukraine] [http://naughtygirl92.ifrance.com/data/sony-vaio100.html sony vaio b3xp] [http://naughtygirl92.ifrance.com/data/sangiano.html sangiano] [http://rasa18.ifrance.com/olimpus-vn2/ olimpus vn 120] [http://orel-na-vole.freehostia.com/blog/idlewild/ idlewild] [http://orel-na-vole.freehostia.com/blog/tarantella/ tarantella] [http://rasa18.ifrance.com/great-expectation/ great expectation] [http://rasa18.ifrance.com/poesia-bambino/ poesia bambino] [http://nnnslogan.freehostia.com/tv-plasma86.htm tv plasma parete] [http://orel-na-vole.freehostia.com/blog/uccisione-di8/ uccisione di armstrong] [http://nnnslogan.freehostia.com/annuncio-personali22.htm annuncio personali abruzzo] [http://orel-na-vole.freehostia.com/blog/alberghi-di5/ alberghi di parigi] [http://orel-na-vole.freehostia.com/blog/samsung-q4/ samsung q1044] [http://orel-na-vole.freehostia.com/blog/floppy-disk7/ floppy disk] [http://orel-na-vole.freehostia.com/blog/periodico-hoy1/ periodico hoy] [http://naughtygirl92.ifrance.com/data/binatone-e.html binatone e800] [http://orel-na-vole.freehostia.com/blog/anal-destruction/ anal destruction] [http://naughtygirl92.ifrance.com/data/case-hard3.html case hard disk 80gb] [http://orel-na-vole.freehostia.com/blog/aunjanue-ellis/ aunjanue ellis] [http://orel-na-vole.freehostia.com/blog/telo-bianco/ telo bianco] [http://nnnslogan.freehostia.com/lg-59.htm lg  g09ah] [http://rasa18.ifrance.com/fotografata-la/ fotografata la lineup di electronic arts per xbox 360] [http://nnnslogan.freehostia.com/webcam-philips2.htm webcam philips pcvc820k] [http://rasa18.ifrance.com/hack-in/ hack in confezione doppia] [http://orel-na-vole.freehostia.com/blog/joras/ joras] [http://rasa18.ifrance.com/fv1/ fv 750] [http://orel-na-vole.freehostia.com/blog/fuego-rosel/ fuego rosel] [http://orel-na-vole.freehostia.com/blog/cane-e1/ cane e gatto]
 
albasace
 
 
{| align="right"
 
{| align="right"
 
   | __TOC__
 
   | __TOC__
 
   |}
 
   |}
  
This page is about specific issues when dealing with Mac OS X and FileMaker Plugins.
 
  
Reference to OS X 10.3 ; 10.4  or 10.5 should be given where appropriate.
+
==Prelude==
 +
Mac OS X Lion no longer supports legacy PowerPC applications via Rosetta.  In addition, Xcode 4 no longer uses the GCC compiler. At this time, the FileMaker Plugin API requires us to use the GCC 4.0 compiler.
 +
 
 +
It's possible to continue to use Xcode 3.2 on OS X Lion,  however you will need to install via the command line  (see step two below).
 +
 
 +
Alternatively - you can restore GCC 4.0 and PPC support to Xcode 4 - which the following document will assist with.
 +
 
 +
 
 +
Note : This is a collection of steps from various other sites and developers.  I have completed these steps and am now able to compile plugins for FileMaker using Xcode 4.  Please make a backup before attempting !
 +
 
 +
All care taken - no responsibility !
 +
 
 +
 
 +
----
 +
 
 +
===Installing XCode 4 with support for GCC4.0===
 +
The following link explains how to install Xcode 4 with the GCC 4.0 compiler, which is necessary to compile FileMaker Plugins.
 +
 
 +
 
 +
====Step One : Uninstall existing====
 +
If you already have Xcode installed, then uninstall it.
 +
 
 +
sudo <Xcode>/Library/uninstall-devtools --mode=all
 +
 
 +
<div style="text-align: center;"> [[Image:UnistallXcode.jpg]] </div>
 +
 
 +
<div style="text-align: center;"> [[Image:PromptToRestart.jpg]] </div>
 +
 
 +
Note : It may be necessary to restart your computer after installing Xcode 3 if you have just uninstalled Xcode 4
 +
 
 +
 
 +
 
 +
----
 +
 
 +
====Step Two : Install Xcode 3====
 +
 
 +
Create a folder 'Xcode3' at the top level of your boot drive. This is where we will install Xcode 3 to  (and not the default /Developer location)
 +
 
 +
To install Xcode 3,  mount the Xcode 3.2.x DMG and then enter the following into 'Terminal' :
 +
 
 +
  export COMMAND_LINE_INSTALL=1
 +
  open “/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg”
 +
<div style="text-align: center;"> [[Image:InstallXcode3Lion.jpg]] </div>
 +
 
 +
<div style="text-align: center;"> [http://anatomicwax.tumblr.com/post/8064949186/installing-xcode-3-2-6-on-lion-redux Install Xcode 3 on OS X Lion] </div>
 +
 
 +
 
 +
On the 'Installation Type' screen :
 +
*Change the Location to be the 'Xcode3' folder you created above
 +
*Do not install "System Tools" or "Unix Development"
 +
*Select to install "Mac OS X 10.4 SDK"
 +
 
 +
<div style="text-align: center;"> [[Image:InstallXcode3Settings.jpg]] </div>
 +
 
 +
Note : Installing the Documentation and/or iOS SDK is optional  -  install if wanted.
 +
 
 +
 
 +
 
 +
----
 +
 
 +
====Step Three : Install Xcode 4====
 +
 
 +
Mount the Xcode 4 DMG and Install as normal.
 +
 
 +
<div style="text-align: center;"> [[Image:InstallXcode4Lion.jpg]] </div>
 +
 
 +
On the 'Installation Type' screen, you should be able to use the default settings.
 +
 
 +
<div style="text-align: center;"> [[Image:InstallXcode4Settings.jpg]] </div>
 +
 
 +
<div style="text-align: center;"> [http://stackoverflow.com/questions/5333490/how-can-we-restore-ppc-ppc64-as-well-as-full-10-4-10-5-sdk-support-to-xcode-4 10.4 sdk support to XCode] </div>
 +
 
 +
 
 +
 
 +
----
 +
 
 +
====Step Four : Add GCC4.0 to Xcode 4====
 +
 
 +
Download and run the  '[http://fmplugins.idma.co.nz/downloads/Legacy-XCode-Scripts.zip restore-with-xcode3.sh]' script, which will add symbolic links within Xcode 4,  pointing to Xcode 3.
 +
 
 +
<div style="text-align: center;"> [https://github.com/thinkyhead/Legacy-XCode-Scripts Legacy-XCode-Scripts] </div>
 +
 
 +
 
 +
Execute the code
 +
 
 +
  ./restore-with-xcode3.sh
 +
 
 +
<div style="text-align: center;"> [[Image:Restorelecacyxcode.jpg]] </div>
 +
 
 +
We are now ready to open and use Xcode 4
 +
 
 +
----
 +
 
 +
===Opening Project in Xcode 4===
 +
 
 +
Open your project in Xcode 4.
 +
 
 +
 
 +
 
 +
====Step One : Modernise Project====
 +
 
 +
Select your project (on the left) and then click the 'Modernize Project' button at the bottom.
 +
 
 +
Untick any 'Build Setting' options.
 +
 
 +
<div style="text-align: center;"> [[Image:XcodeModernizeProject.jpg]] </div>
 +
 
 +
 
 +
====Step Two : Restore PPC & i386 support to project====
 +
 
 +
Select 'Build Settings' for your project, and reset any copiler settings.  You'll need to change to 'All'  in order to see all options to change.
 +
 
 +
*Architectures : ppc i386
 +
*Valid Architectures : ppc i386 x86_64
 +
*Build Options : GCC 4.0
 +
 
 +
Before :
 +
<div style="text-align: center;"> [[Image:XcodeSetPPCi386.jpg]] </div>
 +
 
 +
After :
 +
<div style="text-align: center;"> [[Image:XcodeRestoredPPCi386.jpg]] </div>
 +
 
 +
<div style="text-align: center;"> [[Image:XcodeSetCompiler.jpg]] </div>
 +
 
 +
 
 +
At this point,  when should be able to 'Build' our plugin
 +
 
 +
<div style="text-align: center;"> [[Image:XcodeBuildSucceeded.jpg]] </div>
 +
 
 +
 
 +
 
 +
----
 +
 
 +
====Step Three : Restore Build Locations====
 +
 
 +
Select XCode Preferences.  Then 'Locations'
 +
 
 +
Click the 'Advanced' button.
 +
 
 +
Change the 'Build Location' popup to 'Locations Specified by Targets'
 +
 
 +
 
 +
<div style="text-align: center;"> [[Image:XcodeBuildLocations.jpg]] </div>
 +
 
 +
 
 +
 
 +
For example, I have set my build location to be directly where FileMaker looks for plugins
 +
 
 +
<div style="text-align: center;"> [[Image:XcodeBuildLocationsPath.jpg]] </div>
 +
 
 +
 
 +
 
 +
 
 +
----
 +
 
 +
====Step Four : Debug v's Release Builds====
 +
 
 +
Select 'Manage Schemes' from the popup menu right of the stop button (top-left)
 +
 
 +
<div style="text-align: center;"> [[Image:XcodeSelectManageSchemes.jpg]] </div>
 +
 
 +
 
 +
 
 +
Select the first (should be only) scheme and 'Duplicate'.
 +
 
 +
Rename one scheme as 'Plugin Name (Debug)' and the other as 'Plugin Name (Release)'
 +
 
 +
<div style="text-align: center;"> [[Image:XcodeDuplicateScheme.jpg]] </div>
 +
 
 +
 
 +
 
 +
Edit the 'Release' scheme - change the 'Run : Build Configuration' from 'Debug' to 'Release'
 +
 
 +
<div style="text-align: center;"> [[Image:XcodeSetRunToRelease.jpg]] </div>
 +
 
 +
 
 +
You can now easily switch between 'Debug' and 'Release' builds using the Scheme Menu.
 +
 
 +
<div style="text-align: center;"> [[Image:XcodeSwitchDebugRelease.jpg]] </div>
 +
 
 +
 
 +
 
 +
In my case, because I am building directly to the FileMaker Extensions - I have also set Xcode to launch FileMaker once built  (when using the Run : Cmd + R option).  This means FileMaker is automatically launched once the plugin is built.
 +
 
 +
 
 +
 
 +
 
 +
----
 +
 
 +
==Acknowledgements==
 +
Thanks to Mark Banks who gave me the initial links, and Jake Traynham [http://www.cnsplug-ins.com/ CNS Plug-ins]  for his efforts to work out the steps to make everything work.

Latest revision as of 03:53, 21 August 2011


Prelude

Mac OS X Lion no longer supports legacy PowerPC applications via Rosetta. In addition, Xcode 4 no longer uses the GCC compiler. At this time, the FileMaker Plugin API requires us to use the GCC 4.0 compiler.

It's possible to continue to use Xcode 3.2 on OS X Lion, however you will need to install via the command line (see step two below).

Alternatively - you can restore GCC 4.0 and PPC support to Xcode 4 - which the following document will assist with.


Note : This is a collection of steps from various other sites and developers. I have completed these steps and am now able to compile plugins for FileMaker using Xcode 4. Please make a backup before attempting !

All care taken - no responsibility !



Installing XCode 4 with support for GCC4.0

The following link explains how to install Xcode 4 with the GCC 4.0 compiler, which is necessary to compile FileMaker Plugins.


Step One : Uninstall existing

If you already have Xcode installed, then uninstall it.

sudo <Xcode>/Library/uninstall-devtools --mode=all
UnistallXcode.jpg
PromptToRestart.jpg

Note : It may be necessary to restart your computer after installing Xcode 3 if you have just uninstalled Xcode 4



Step Two : Install Xcode 3

Create a folder 'Xcode3' at the top level of your boot drive. This is where we will install Xcode 3 to (and not the default /Developer location)

To install Xcode 3, mount the Xcode 3.2.x DMG and then enter the following into 'Terminal' :

 export COMMAND_LINE_INSTALL=1
 open “/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg”
InstallXcode3Lion.jpg


On the 'Installation Type' screen :

  • Change the Location to be the 'Xcode3' folder you created above
  • Do not install "System Tools" or "Unix Development"
  • Select to install "Mac OS X 10.4 SDK"
InstallXcode3Settings.jpg

Note : Installing the Documentation and/or iOS SDK is optional - install if wanted.



Step Three : Install Xcode 4

Mount the Xcode 4 DMG and Install as normal.

InstallXcode4Lion.jpg

On the 'Installation Type' screen, you should be able to use the default settings.

InstallXcode4Settings.jpg



Step Four : Add GCC4.0 to Xcode 4

Download and run the 'restore-with-xcode3.sh' script, which will add symbolic links within Xcode 4, pointing to Xcode 3.


Execute the code

 ./restore-with-xcode3.sh
Restorelecacyxcode.jpg

We are now ready to open and use Xcode 4


Opening Project in Xcode 4

Open your project in Xcode 4.


Step One : Modernise Project

Select your project (on the left) and then click the 'Modernize Project' button at the bottom.

Untick any 'Build Setting' options.

XcodeModernizeProject.jpg


Step Two : Restore PPC & i386 support to project

Select 'Build Settings' for your project, and reset any copiler settings. You'll need to change to 'All' in order to see all options to change.

  • Architectures : ppc i386
  • Valid Architectures : ppc i386 x86_64
  • Build Options : GCC 4.0

Before :

XcodeSetPPCi386.jpg

After :

XcodeRestoredPPCi386.jpg
XcodeSetCompiler.jpg


At this point, when should be able to 'Build' our plugin

XcodeBuildSucceeded.jpg



Step Three : Restore Build Locations

Select XCode Preferences. Then 'Locations'

Click the 'Advanced' button.

Change the 'Build Location' popup to 'Locations Specified by Targets'


XcodeBuildLocations.jpg


For example, I have set my build location to be directly where FileMaker looks for plugins

XcodeBuildLocationsPath.jpg




Step Four : Debug v's Release Builds

Select 'Manage Schemes' from the popup menu right of the stop button (top-left)

XcodeSelectManageSchemes.jpg


Select the first (should be only) scheme and 'Duplicate'.

Rename one scheme as 'Plugin Name (Debug)' and the other as 'Plugin Name (Release)'

XcodeDuplicateScheme.jpg


Edit the 'Release' scheme - change the 'Run : Build Configuration' from 'Debug' to 'Release'

XcodeSetRunToRelease.jpg


You can now easily switch between 'Debug' and 'Release' builds using the Scheme Menu.

XcodeSwitchDebugRelease.jpg


In my case, because I am building directly to the FileMaker Extensions - I have also set Xcode to launch FileMaker once built (when using the Run : Cmd + R option). This means FileMaker is automatically launched once the plugin is built.




Acknowledgements

Thanks to Mark Banks who gave me the initial links, and Jake Traynham CNS Plug-ins for his efforts to work out the steps to make everything work.