Expo iOS “Connection Offline” Hatası ve Çözümü
Expo Go’nun iPhone’da offline görünmesinin nedenini ve iOS yerel ağ izniyle nasıl çözüleceğini anlatıyorum.
· 1 dk okuma

React Native ile uygulama geliştirirken testlerimi genelde Android emülatör veya fiziksel bir Android cihaz üzerinde yapıyorum. Projeyi iPhone üzerinde açmak istediğimde Android tarafında sorunsuz çalışan uygulamanın iOS’ta açılmadığını gördüm.
Karşılaştığım ekran tam olarak şuydu:
There was a problem running the requested app. Unknown error: The Internet connection appears to be offline.
exp://192.168.1.101:8081
Sorunun tespiti
İlk başta interneti veya Metro sunucusunu suçladım. Modem arayüzü ve bilgisayar tarafında kesinti yoktu. Aynı saniyede Android cihaz QR kodu okutup sunucuya bağlanabiliyordu.
Sorun kodda değildi, sunucuda değildi. iPhone, makinemdeki yerel sunucuyu (8081) göremiyordu.
iOS 14 ve sonrasında Apple, uygulamaların kullanıcı izni olmadan yerel ağdaki diğer cihazları taramasını kısıtlıyor. Expo Go bu izni almazsa “internet yok” gibi yanıltıcı bir hata üretebiliyor.
Çözüm: yerel ağ iznini açmak
Bilgisayar veya kod tarafında değişiklik gerekmez. Adımlar:
- iPhone’da Ayarlar uygulamasını açın.
- Uygulama listesinde Expo Go’yu bulun.
- Yerel Ağ / Local Network kapalıysa açın.
- Expo Go’yu uygulama değiştiriciden tamamen kapatıp yeniden açın.
- QR kodu tekrar okutun.
Alternatif: tünel bağlantısı
Kurumsal ağ, misafir Wi-Fi veya yerel ağ kısıtı varsa Expo trafiğini internet üzerinden dolaştırabilirsiniz:
npx expo start --tunnel
Tünel, yerel ağ sorununu bypass eder; bağlantı yerel LAN’a göre daha yavaş olabilir. Mümkünse önce yerel ağ iznini deneyin.
Sonuç
“Connection appears to be offline” mesajı Expo + iOS’ta çoğu zaman gerçek bir internet kesintisi değildir. Aynı ağdaki Android cihaz çalışıyorsa ilk bakılacak yer iPhone’un Expo Go yerel ağ iznidir.