Podpora rozšíření Xamarin.Mac

V Xamarin.Mac 2.10 byla přidána podpora pro více bodů rozšíření 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.Mac:

  • V Visual Studio pro Mac se momentálně nepodporuje ladění. Veškeré ladění bude potřeba provést prostřednictvím protokolu NSLog a konzoly. Podrobnosti najdete v části Tipy níže.
  • Rozšíření musí být obsažena v hostitelské aplikaci, která při jednorázovém spuštění s registrací v systému. Potom musí být povoleny v části Předvolby systému v části Rozšíření.
  • Některé chyby rozšíření můžou poškodit hostitelskou aplikaci a způsobit neobvyklé chování. Konkrétně se finder a část Dnes centra oznámení můžou stát "zaseknutým" a přestane reagovat. K tomu došlo také v projektech rozšíření V Xcode a v současné době se zdá, že nesouvisí s Xamarin.Mac. Často to lze vidět v systémovém protokolu (prostřednictvím konzoly, viz Tipy podrobnosti) tisk opakovaných chybových zpráv. Zdá se, že tento problém vyřešíte restartováním macOS.

Tipy

Při práci s rozšířeními v Xamarin.Mac můžou být užitečné následující tipy:

  • Vzhledem k tomu, že Xamarin.Mac v současné době nepodporuje rozšíření ladění, prostředí ladění bude primárně záviset na provádění a printf podobných příkazech. Rozšíření však běží v procesu sandboxu, takže Console.WriteLine nebudou fungovat stejně jako v jiných aplikacích Xamarin.Mac. Voláním NSLog přímo se do systémového protokolu zobrazí zprávy ladění.

  • Jakékoli nezachycené výjimky způsobí chybové ukončení procesu rozšíření a poskytne pouze malé množství užitečných informací v systémovém protokolu. Zabalení problematického kódu do bloku (Exception), který NSLogje před opětovným try/catch vyvoláním může být užitečný.

  • K systémovému protokolu je možné získat přístup z konzolové aplikace v části Nástroje pro aplikace>:

    The system log

  • Jak je uvedeno výše, spuštění hostitelské aplikace rozšíření ji zaregistruje v systému. Odstraněním sady aplikací zrušíte jeho registraci.

  • Pokud jsou zaregistrované "stray" 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ář vytvoří rozšíření Xamarin.Mac a bude pracovat s rozšířeními Xamarin.Mac stejným způsobem jako rozšíření Xamarin.iOS, další podrobnosti najdete v naší dokumentaci úvodu k rozšířením .

Tady najdete příklad projektu Xamarin.Mac, který obsahuje malé pracovní ukázky jednotlivých typů rozšíření.

Shrnutí

Tento článek se rychle podíval na práci s rozšířeními v aplikaci Xamarin.Mac verze 2.10 (a novější).