Windows Üzerinde Native Kütüphanelerle iOS Uygulamalarının Hata Ayıklaması
Bir Windows makinesinden .NET MAUI iOS uygulamasında hata ayıklarken, IronOCR gibi yerel üçüncü taraf kütüphaneleri yüklenemez. Uygulama bağlı bir iPhone'da başlatılabilir, ancak IronOCR'un bağımlı olduğu yerel Tesseract kodu düzgün bir şekilde yüklenmez.
Failed to locate 'libtesseract.5'...
Access to the path ... is denied.
Neden, Apple'ın sıkı kontrol altındaki geliştirme modelidir. iOS uygulamaları, geçerli bir Apple Developer sertifikası ile imzalanmalıdır, yerel kütüphaneler ARM64 için derlenmeli ve Apple araç zincirleri aracılığıyla bağlanmalıdır ve uygulamalar, çalışma zamanında dosya sistemi erişimini kısıtlayan katı bir sandboxing altında çalışır. Apple'ın araçları (Xcode, codesign, lipo) yalnızca macOS'ta çalışır, bu yüzden bir Windows makinesi, yerel kütüphaneyi tam olarak paketleyemez veya imzalayamaz. Windows'da hata ayıklarken, Tesseract binary'i genellikle eksik, imzasız veya sandbox tarafından engelli şekilde sonuçlanır, bu da yukarıdaki hataları üretir.
Aynı kod tabanı Android veya Windows hedeflerinde sorunsuz çalıştığı için bu durumdur: bu platformlar, yerel kütüphaneleri Apple's imzalama gereklilikleri olmaksızın yükler ve IronOCR'un bağlı olduğu Tesseract beklendiği gibi çalışır.
Çözüm
1. Bir Mac üzerinden derleyin
MacOS üzerinde doğrudan geliştirin veya Visual Studio'nun Pair to Mac özelliğini kullanarak iOS derlemelerini bir Mac'e yönlendirin, enquanto Windows üzerinde kod yazarken. Derlemeyi Apple's araç zinciri yoluyla yönlendirmek, yerel kütüphanenin doğru bir şekilde derlenmesi ve imzalanması için tek yoludur.
2. IronOCR'un kendi kütüphanelerini dağıtmasına izin verin
Yerel kütüphane dosyalarını elle kopyalamayın veya taşımayın. IronOCR, Tesseract'ı sizin için dağıtır ve yolları elle düzenlemek iOS paketleme modelini bozar.
3. macOS üzerinden gerçek cihazlarda test yapın
Testlerinizi fiziksel bir iPhone veya bir Mac'ten başlatılan iOS simülatörüne karşı çalıştırın. Bu, imzalı, sandboxed uygulamanın nasıl davrandığına dair doğru bir resim verir, ki bir Windows hata ayıklama oturumu üretilemez.

