20 Mart 2019 Çarşamba

Resource fork, Finder information, or similar detritus not allowed hatası

Error: /Users/imac/Desktop/HangiFilm/HangiFilm.iOS/bin/iPhone/Debug/device-builds/iphone9.3-12.1.4/HangiFilm.iOS.app: resource fork, Finder information, or similar detritus not allowed

şeklinde bir hata alıyorsanız büyük ihtimalle eskiden dosya sisteminizde attribute'u olan bir dosyayı projenize eklemişsiniz. Büyük ihtimalle simulator'de çalışırken cihaz'da uygulamanızı çalıştırmayı denediğinizde bu hatayı alıyorsunuz. Çünkü iOS dosya özellikleriyle sizin masaüstü dosyanızın özellikleri arasında çakışma söz konusu.

Kurtulmak için projenizin ana klasöründe konsol açın veya konsolu açıp ana klasör konumuna gidin ardından

"xattr -cr ." ifadesini çalıştırın. (Çift tırnaklar yok ve sondaki noktayı eklemeyi unutmayın, o klasörün kendisi)

bu komut proje klasörünüz ve alt klasörlerdeki dosyaların özel atanmış özelliklerini kaldırır.
Daha sonra Visual Studio'dan clean çekin ve yeniden derleyin büyük ihtimalle çalışması lazım :)

20 Ağustos 2018 Pazartesi

Android'de TitleBar'ı kaybetmek...

Uğraştığınızda göreceksiniz bir türlü kaybolmuyor.
En klasik yöntem NoTitle uzantılı Style'ı MainActivity'de set etmek. Ama bu yöntem oldukça eski moda.

Yeni yöntem daha güzel gibi geldi bana:

MainActivity.cs dosyanızın içindeki
global::Xamarin.Forms.Forms.Init(this, savedInstanceState); satırının hemen altına:

global::Xamarin.Forms.Forms.SetTitleBarVisibility(this, AndroidTitleBarVisibility.Never);

ekleyin bu iş tamamdır.

25 Ağustos 2017 Cuma

Resource not defined in MainActivity hatası

Güzel kardeşim suç sende değil aslında. Uyuz android "-" işaretini beğenmiyor. Dosyalarına bir bak kesin "-" işareti içinde olan bir dosyan var. O yüzden Resource sınıfı havada oluşmuyor. Sakın Xamarin.Forms.Android altındaki Resource'u eklemeye kalkma bu Resource o Resource değil. Bu istediği mevcut görsellerin, fontların v.b. ile oluşturulan constant'larla dolu olan sınıf. "-"'leri "_" (alt tire) ile değiştir herşey 10 numara 5 yıldız. Hadi adyos.

19 Ağustos 2017 Cumartesi

Xamarin iOS Custom Renderer'ımda hiçbir touch event'i çalışmıyor?!?!?!?

protected override void OnElementChanged(ElementChangedEventArgs<ContentView> e)
{
base.OnElementChanged(e);

if (e.OldElement != null)
return;

UserInteractionEnabled = true;
}


Öncelikle OnElementChanged method'unu ezip oldElement null değilse çıkma işlemi yaparak ayarlarımızın sadece bir kez işletilmesini sağlarız. Bu klasik bir yöntemdir. Sonra asıl probleminiz XCode'da yazarken UserInteractionEnabled'ın designer'dan dolayı default olarak Yes gelmesidir. Highlight ettiğim satırı eklersen kodun tıkır tıkır çalışacaktır güzel kardeşim. Tabi bu arada Touch event'lerini aşağıdaki gibi handle etmeyi unutma.

public override void TouchesBegan(Foundation.NSSet touches, UIKit.UIEvent evt)
{
base.TouchesBegan(touches, evt);

...
}

public override void TouchesEnded(Foundation.NSSet touches, UIKit.UIEvent evt)
{
base.TouchesEnded(touches, evt);

...
}

29 Nisan 2017 Cumartesi

iOS StatusBar'ı kaybetmek (Hemidene efektnen)

Önce iOS projesinde Info.plist açılır. Alt soldan Source tab'ına geçilir. Listeye

"View controller-based status bar appearance"

öğresi eklenir.

Değeri de "No" yapılır. (Default Yes geliyor dikkat)

Sonra da AppDelegate.cs içindeki FinishedLaunching method'unda LoadApplication satırının altına

UIApplication.SharedApplication.SetStatusBarHidden(true, UIStatusBarAnimation.Fade);

ekliyoruz ve hayırlı uğurlu ossun.

8 Nisan 2017 Cumartesi

11 Mart 2017 Cumartesi

Sourcetree "unable to resolve reference refs/remotes/origin/master" hatası

Sizin yerinize ben çıldırdım ve çözümü buldum Allah'a şükür :D

Sourcetree terminal'dan
rm .git/refs/remotes/origin/master
git fetch
bu işlem sonunda conflict'ler oluşabilir. Genellikle DLL'ler için oluyor o yüzden yerel kopyayı kullan diyebilirsiniz.