Xcode a jména

Ti z vás, kteří používají Xcode, asi ví, že když si nechají vytvořit nový projekt nebo nový soubor, najdou v něm tyto dva řádky:
// Created by _User_ on 9/15/09.
// Copyright 2009 _My Company Name_. All rights reserved.

Na internetu najdete spoustu návodů, jak změnit "_My Company Name_". On je to tedy vlastně návod jeden, stačí totiž pozměnit soubor '~/Library/Preferences/com.apple.Xcode.plist' nebo, lépe, použít v Terminálu tento příkaz:

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ORGANIZATIONNAME = "Jmeno vasi organizace"; }'

Jak vidíte, jedná se o "kontejner", který teoreticky může obsahovat více předvoleb. A je tomu skutečně tak, jak si za chvíli ukážeme. (Zcela mimochodem, všimněte si, že jméno dané předvolby začíná PBX – je tedy k dispozici již od dob, kdy se IDE jmenovalo Project Builder.)

Málokdo už ale ví, že pokud tuto předvolbu nenastavíte, Xcode by se měl podívat do vašeho adresáře (v aplikaci Address Book), zda nemáte organisaci vyplněnou na své kartě, a pokud ano, použít ji. Nicméně hodnota v předvolbách by měla být upřednostněna. Přiznávám, že v mém případě (Xcode 3.1) ale vyplnění organisace pouze v adresáři nemělo na Xcode žádný vliv, musel jsem nastavit hodnotu předvolby. Na internetu jsou naopak stížnosti na opačné chování (předvolba nefungovala, adresář ano). Holt Xcode mají k dokonalosti hooodně daleko Sad

Co když ale z nějakého důvodu potřebujete změnit hodnotu "_User_"? Standardně je totiž použito jméno (tzv. Short name) vašeho účtu v systému. Jenže to má spousta lidí nastavené na přezdívku nebo třeba jenom křestní jméno. A přiznejme si, vypadá jinak, když klientovi pošlete soubor, ve kterém je "Created by Jan Novák" než "Created by Myšáček"... V tomto případě mě strýček Google zklamal, jelikož se mi nepodařilo nalézt patřičnou předvolbu (nebo jsem se jenom špatně ptal, jak by řekli zlí jazykové Eye-wink ). Nezoufal jsem však, po chvilce hledání se mi podařilo nalézt složku obsahující "File Templates" (pro Mac OS X a Xcode 3.1 je v '/Developer/Library/Xcode/File Templates', pro iPhone a jiné verse Xcode je jinde, mají v tom chlapci a děvčata od Applu pěkný čurbes...), podle kterých Xcode generuje projekty a ejhle, uživatelovo jméno je zde zakódováno v macru "FULLUSERNAME". Stačí tedy do Terminálu zadat příkaz:

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{FULLUSERNAME = "Uzivatelovo jmeno"; }'

...a mělo by být vystaráno. Jenže ouha, uživatelovo jméno se skutečně správně zapíše a funguje, jenže celá předvolba je, jak jsme si již zdůraznili, ve skutečnosti kontejner, takže jsme přepsali (vlastně smazali) hodnotu jména organisace! Abychom správně nastavili obojí, musíme zadat příkaz, který obojí také obsahuje:

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ORGANIZATIONNAME = "HorniDolniSoftware"; FULLUSERNAME = "Franta Bezny Uzivatel";}'

Teď máme nastaveno obojí, možno vyzkoušet a s veselou myslí pracovat, aniž bychom se obávali, že někomu pošleme kód s "Created by Uslinta Bin Loudil... // Copyright 2009 AlSpinkajda...". Smiling

Komentáře

tak presne tohle me stvalo

tak presne tohle me stvalo taky, akorat jsem nemohl najit template Eye-wink

Vždy, když se u nás ve

Vždy, když se u nás ve firmě dělá něco nového nebo rozšiřuje stávající, mohu se téměř vsadit, že tam tento řetězec bude. Takže teď jen počkám na další výskyt a budu při zadávání chyby odkazovat na Tvůj článek. Smiling
Díky!

Obrázek uživatele hroch32

Radost

Já su tak rád, že to někomu pomohlo Smiling

Obrázek uživatele jerry00

jerry00

Ještě kdybys tak našel něco, jak otevírat kompilované niby..

Obrázek uživatele hroch32

xiby

Tak to se bojím je bez šance Sad Taky mě tím Appláci pěkně naštvali. Kvůli úspoře pár bytů a nepatrně větší rychlosti znemožnili jednu z nejzásadnějších výhod OS X z pohledu vývojářů a hlavně lokalizátorů.