Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
PHPickerDelegate Derleme Sorunu [ÇÖZÜLDÜ]
#11
Varsayılan olarak, "mobil" cihazlarda neredeyse her şey kullanıcı izinleri gerektirir! İnternet kullanımı, kendi dosyalarınızı, fotoğraflarınızı, ses dosyalarınızı vb. görüntüleme gibi günlük işlemler hariç...
Dosya Seçici de aynı prensibe dayanır: Size ait olan hiçbir şey için izinlere ihtiyacınız yoktur. Ancak, size ait değilse, izinlere ihtiyacınız olacaktır!
Fotoğraf Seçici, görüntü dosyası seçiminin bir kapsüllemesidir; arka planda, bir "dosya sağlayıcısına" (sistem proxy'si) erişme kuralını izler. Bu şekilde, Android veya iOS olsun, bir akıllı telefondaki dosyalara asla gerçekten erişemezsiniz. Her zaman "dosya sağlayıcısından", bir "URI" aracılığıyla, disk/bellekteki dosyayı temsil eden verileri (bitleri) size vermesini isteyeceksiniz! MS Windows da bunu daha basitleştirilmiş bir şekilde yapar ve kullanıcıyı, ham veri kullanımı açısından doğrudan dosyaya eriştiğini düşünmeye kandırır!

Ancak size en iyi deneyimi veren seçeneği tercih etmekte özgürsünüz! Fotoğraf seçici zaten mevcut, bu yüzden her şeyi sıfırdan oluşturmanıza gerek yok...

Not: iOS konusunda çok bilgili değilim, bu yüzden daha iyi bir cevap veremem!
MSWindows, AndroidRAD Studio 13 Florence ve kafamda bir fikir  Tongue  
WWW
Cevapla
#12
@codder71 hocam iOS @emailx45 dediği gibi diğer tüm işletim sistemlerinden daha fazla kullanıcı izinleri ve sertifikalar istiyor. "Files Selector" TFileOpenDialog yani Picker kullanıyor
Cevapla
#13
Öncelikle hocam cevaplarınız için çok teşekkür ederim. @emozgun @emailx45

Hocam izin konusuna gelince picker gerçekten izin gerektirmiyor. Ben dosya görüntülemesi izni aktif olmamasına rağmen ios da ve androide kendi diyalog penceresi dahilinde imageleri uygulamama aktarabiliyorum. Tabiki bu benim kontrolümde kesinlikle değil uygulamayı kullanan kontrolünde oluyor. Muhtemelen de güvenilir olduğu için izin sistemi kaldırılmışlar buda hem biz geliştiricilere hem de uygulama kullanıcılarına büyük kolaylık oldu. 

Aynı zamanda ayrı bir diyalog penceresi dizayn etmek zorunda da bizi bırakmamış oldular. File Selector gibi sistemler ise arka planda klasörler içinde gezmemizi de sağladığı için izin isteme sistemine dayanıyor. Kullanıcı ister istemez izin ekranı görünce tereddüt ediyor maalsef hatta kullanmak dahi istemeyebiliyor. 
Bunları göz önünde bulundurunca picker tarzı diyalog işlemleri daha ben açısından en azından ön plana çıkıyor.

Bu arada güzel haber Smile  sorunu çözdüm.

    
@emailx45 hocamın alta paylaştığı örnek kodda da olduğu gibi TNSItemProviderBlockMethod3 içeren fonksiyonun içeriği buradaki istediğim işlemi desteklediğini gördüm.
TNSItemProviderBlockMethod3 bu metodun içeriğini kütüphaneden kontrol ettiğimde ise  TNSItemProviderBlockMethod3 = procedure(data: NSData; error: NSError) of object; böyle bir prosedür eşitliğini farkettim. Kendi prosedürümü buraya göre uyarladığımda kod sorunsuz çalıştı.

TPHPickerDelegate.LoadCompleted(data: NSData; error: NSError);

procedure TPHPickerDelegate.picker(picker: PHPickerViewController; didFinishPicking: NSArray); cdecl;
var
 I: Integer;
 ResultItem: PHPickerResult;
begin
 FResimNo := FOwner.Resim_list.Items.Count;
 Son_Count := didFinishPicking.count;

 if (didFinishPicking <> nil) and (didFinishPicking.count > 0) then
 begin
   FOwner.Bekleme_Durumu(True);

   for I := 0 to didFinishPicking.count - 1 do
   begin
     ResultItem := TPHPickerResult.Wrap(didFinishPicking.objectAtIndex(I));

     if ResultItem.itemProvider.hasItemConformingToTypeIdentifier( StrToNSStr('public.image') ) then
     begin
     try

      ResultItem.itemProvider.loadDataRepresentationForTypeIdentifier(
      StrToNSStr('public.image'), LoadCompleted );

     except on e : Exception do
     begin
       FOwner.Bildirim_Mesaji(e.Message, True, False);
     end;
     end;

     end;

   end;

 end
 else
 begin
   FOwner.Bekleme_Durumu(False);
   FOwner.Bildirim_Mesaji('Resim Seçimi İptal Edildi.', True, False);
 end;

 picker.dismissViewControllerAnimated(True, nil);

end;
Cevapla
#14
good, ... end case!
MSWindows, AndroidRAD Studio 13 Florence ve kafamda bir fikir  Tongue  
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Wmware Macos Apple Hesap Sorunu nurah 3 355 20-08-2026, Saat: 22:35
Son Yorum: codder71
  Google Play Billing Versiyon Sorunu[ÇÖZÜLDÜ] codder71 12 1.157 01-08-2026, Saat: 22:45
Son Yorum: codder71
  Android 16 Uygulama Ekran Taşma Sorunu[ÇÖZÜLDÜ] codder71 5 670 31-07-2026, Saat: 23:38
Son Yorum: mcuyan
  ios için uygulama derleme [ÇÖZÜLDÜ] codder71 29 3.883 01-07-2026, Saat: 14:39
Son Yorum: codder71
  Çözüldü _ Delphi Community Edition SDK ayarları hatası cinarbil 2 882 08-06-2026, Saat: 16:22
Son Yorum: emailx45



Konuyu Okuyanlar: 1 Ziyaretçi