Podpora rozšíření Xamarin.Mac
V Xamarin.Macu 2.10 byla přidána podpora pro několik ná příponových bodů macOS:
- Finder
- Sdílení
- Dnes
Omezení a známé problémy
Níže jsou uvedená omezení a známé problémy, ke kterým může dojít při vývoji rozšíření v Xamarin.Macu:
- V současné době neexistuje žádná podpora ladění v Visual Studio pro Mac. Veškeré ladění je potřeba provést prostřednictvím protokolu NSLog a konzoly. Podrobnosti najdete v části s tipy níže.
- Rozšíření musí být obsažena v hostitelské aplikaci, která se spustí jednou s registrací v systému. Potom je nutné je povolit v části Rozšíření v předvolbách systému.
- Některá selhání rozšíření mohou destabilizovat hostitelskou aplikaci a způsobit neobvyklé chování. Konkrétně se může stát, že se Finder a část Centrum oznámení Dnes "zaseknou" a přestane reagovat. To má také zkušenosti s projekty rozšíření v Xcode a v současné době se zdá, že nesouvisí s Xamarin.Mac. Často se to může zobrazit v systémovém protokolu (přes konzolu ,viz Tipy podrobnosti) tisk opakujících se chybových zpráv. Zdá se, že restartováním macOS tento problém opravíte.
Tipy
Následující tipy mohou být užitečné při práci s rozšířeními v Xamarin.Mac:
Protože Xamarin.Mac v současné době nepodporuje rozšíření ladění, bude prostředí ladění primárně záviset na provádění příkazů
printfa podobně. Rozšíření se však spouštějí v procesu sandboxu, takže nebudou fungovat stejně jako vConsole.WriteLinejiných aplikacích Xamarin.Mac. Přímé vyvolání bude výstupem zpráv ladění do systémového protokolu.Všechny nezachycené výjimky dojde k chybě procesu rozšíření a v systémovém protokolu získáte jen malé množství užitečných informací. Zabalení problémového kódu do bloku (Exception), který je před vyvoláním znovu,
try/catchNSLogmůže být užitečné.Systémový protokol je přístupný z konzolové aplikace v části Nástrojeaplikací:
Jak je uvedeno výše, spuštění hostitelské aplikace rozšíření ji zaregistruje v systému. Odstraňte sadu aplikací pomocí zrušení registrace.
Pokud jsou zaregistrované "vychýlí" verze rozšíření aplikace, vyhledejte je pomocí následujícího příkazu (aby je bylo možné odstranit):
plugin kit -mv
Návod a ukázková aplikace
Vzhledem k tomu, že vývojář bude vytvářet rozšíření Xamarin.Mac a pracovat s ním stejným způsobem jako rozšíření Xamarin.iOS, další podrobnosti najdete v naší dokumentaci Úvod do rozšíření.
Příklad projektu Xamarin.Mac obsahujícího malé funkční ukázky jednotlivých typů rozšíření najdete tady.
Souhrn
Tento článek se rychle podíval na práci s rozšířeními v aplikaci Xamarin.Mac verze 2.10 (a vyšší).
