Xamarin iOS: UIWebView Deprecation megoldása

This content has 5 years. Some of the information in this post may be out of date or no longer work. Please, read this page keeping its age in your mind.Április 30-tól az AppStore-ba nem tölthetjük fel az UIWebView implementációt tartalmazó binárisainkat. Erről korábban írtam már a blogon, hogy miért problémás, a Xamarin fejlesztésnél ez a történet. Amennyiben sikerült felimádkoznunk a legfrissebb csomagokat a Solutionre, abban az esetben az iOS projekt mtouch argumentumai közé a következőt kell beállítanunk: Figyelni kell rá, hogy ahol CustomWebViewRenderer-t használunk, ott az ősosztály ne WebViewRenderer legyen, hanem WKWebViewRenderer. Ezen felül a linking-nél a linker behaviourt vagy Link all, vagy Link Framework SDK-s only-ra kell állítani.

Xamarin iOS: Nem reagál az alkalmazás az értintésekre

This content has 5 years. Some of the information in this post may be out of date or no longer work. Please, read this page keeping its age in your mind.Konzolban a hibaüzenet található, de az alkalmazás hiba nélkül kifordul, de az iOS 13.4.1-es verziót futtató eszközökön az érintések nem működnek. Hiba a konzolban: Megoldás: Visual Studio for Mac 8.5.1-es verzióról (vagy ennél kisebb verzióról) fel kell frissíteni a MacVS-t, a Windowsos verzójában a hiba a 16.5.2-től lett orvosolva. https://github.com/xamarin/Xamarin.Forms/issues/10162

Xamarin iOS: FirebaseMessaging NuGet frissítés

This content has 5 years. Some of the information in this post may be out of date or no longer work. Please, read this page keeping its age in your mind.Hibajelenség: Az alkalmazás lefordul, és deployolódik az iOS-t futtató telefonra, de az indítás után azonnal bezárul, és a debugger nem veszi ezt észre. Hibaüzenet az OutputWindow-ban Clean solution nem oldja meg a problémát. Nálam a bin és az obj mappák manuális törlése megoldotta a problémát a DEBUG buildhez, de akinek továbbra is problémája adódik ezzel az próbálja ki a következő módszereket:https://stackoverflow.com/questions/57131541/issue-with-nuget-package-xamarin-firebase-ios-cloudmessaging-3-1-2 Azonban Release módban ugyanúgy nem működik az alkalmazás.

Xamarin Forms / iOS: Backspace detektálás Entryben

This content has 5 years. Some of the information in this post may be out of date or no longer work. Please, read this page keeping its age in your mind.Androidtól eltérően, iOS-en az EntryRenderer nem rendelkezik overrideolható DispatchKeyEventtel. Viszont magának a UITextFieldnek van egy DeleteBackward metódusa, ami a visszatörlés esetén hívódik meg. Ahhoz, hogy ezt felüldefiniáljuk, örököltetnünk kell egy UITextField-et. Mivel ez egy natív Custom UserControl, ahelyett, ahogy StackOverFlow-n, és egyéb helyeken ajánlják, nem az EntryRenderer-ben fogjuk beállítani natív kontrolként. StackOverflow-on, és Xamarin Fórumon CTRL+C, CTRL-V kód működik jól, de nem tekinthető szép megoldásnak. Ezeken a helyeken azt ajánlják, hogy az EntryRenderer OnElementChanged metódusában hozzunk létre egy új példányt az általunk örököltetett natív usercontrolból, majd állítsuk be azt natív kontrolként. Ilyenkor létrejön feleslegesen egy UITextField, és mi is létrehozunk egy UITextField gyereket, és az előzőleg létrejött field feleslegesen került a memóriában lefoglalásra, feleslegesen fordított a készülék erőforrásokat a konstruktorok és egyéb inicializáló függvények és procedúrák megfuttatására. Emiatt, létre kell hoznunk a natív egyedi usercontrolunkhoz egy Renderert a következőképp: Majd a Xamarin Forms Custom UserControl rendererjének ősét át kell állítani EntryRendererről az imént létrehozott rendererre. Az Forms U.C. Elementchangedjében már elérhetőek a fent definiált delegatek. A Forms-os UserControl-ban található BackspacePressed event az Androidos mintára épül.