{"id":43814,"date":"2026-08-03T21:06:18","date_gmt":"2026-08-03T18:06:18","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/"},"modified":"2026-08-03T21:06:18","modified_gmt":"2026-08-03T18:06:18","slug":"testflight-kullanici-limitleri-nasil-asilir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/","title":{"rendered":"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r?"},"content":{"rendered":"<h2>TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r?<\/h2>\n<p>iOS uygulaman\u0131z\u0131n TestFlight kullan\u0131c\u0131 limitine tak\u0131lmadan daha geni\u015f kitlelere ula\u015fmas\u0131 i\u00e7in uygulayabilece\u011finiz teknik ve stratejik \u00e7\u00f6z\u00fcm yollar\u0131n\u0131 ke\u015ffedin.<\/p>\n<p>Mobil uygulama geli\u015ftirme s\u00fcrecinde, kullan\u0131c\u0131 geri bildirimleri \u00fcr\u00fcn\u00fcn ba\u015far\u0131s\u0131n\u0131 belirleyen en kritik unsurlar aras\u0131nda yer al\u0131r. Apple ekosisteminde yeni bir iOS uygulamas\u0131n\u0131 veya mevcut bir s\u00fcr\u00fcm\u00fcn g\u00fcncellenmi\u015f halini test etmek istedi\u011fimizde ilk ba\u015fvurdu\u011fumuz resmi ara\u00e7 ku\u015fkusuz TestFlight platformudur. Ancak uygulaman\u0131z h\u0131zla b\u00fcy\u00fcmeye ba\u015flad\u0131\u011f\u0131nda veya geni\u015f \u00e7apl\u0131 bir kapal\u0131 beta testi ger\u00e7ekle\u015ftirmek istedi\u011finizde Apple\u2019\u0131n koydu\u011fu s\u0131n\u0131rlar ciddi bir engel haline gelebilir. \u00d6zellikle T\u00fcrkiye&#8217;deki h\u0131zl\u0131 b\u00fcy\u00fcyen teknoloji giri\u015fimleri ve y\u00fcksek kullan\u0131c\u0131 trafi\u011fine sahip e-ticaret platformlar\u0131, bu limitlere olduk\u00e7a k\u0131sa s\u00fcrede ula\u015fmaktad\u0131r.<\/p>\n<p>Peki, uygulaman\u0131z\u0131 binlerce farkl\u0131 kullan\u0131c\u0131ya ula\u015ft\u0131rmak istedi\u011finizde kar\u015f\u0131n\u0131za \u00e7\u0131kan bu duvarlar\u0131 nas\u0131l a\u015fabilirsiniz? Bu makalede, TestFlight s\u0131n\u0131rlar\u0131n\u0131n mant\u0131\u011f\u0131n\u0131 detayl\u0131ca inceleyecek, mimari seviyede uygulayabilece\u011finiz teknik \u00e7\u00f6z\u00fcmleri ele alacak ve alternatif da\u011f\u0131t\u0131m kanallar\u0131 ile test s\u00fcre\u00e7lerinizi nas\u0131l kesintisiz s\u00fcrd\u00fcrebilece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz.<\/p>\n<h2>TestFlight S\u0131n\u0131rlar\u0131 Nedir ve Neden Kar\u015f\u0131m\u0131za \u00c7\u0131kar?<\/h2>\n<p>Apple, platform g\u00fcvenli\u011fini ve kullan\u0131c\u0131 deneyimini korumak amac\u0131yla TestFlight \u00fczerinden yap\u0131lan test da\u011f\u0131t\u0131mlar\u0131na belirli s\u0131n\u0131rlamalar getirir. Konuyu tam anlam\u0131yla kavrayabilmek i\u00e7in \u00f6ncelikle bu s\u0131n\u0131rlar\u0131n kategorilerini ve \u00e7al\u0131\u015fma prensiplerini iyi analiz etmemiz gerekir. TestFlight i\u00e7erisindeki test kullan\u0131c\u0131lar\u0131 temel olarak iki ana gruba ayr\u0131lmaktad\u0131r: Dahili Test Kullan\u0131c\u0131lar\u0131 (Internal Testers) ve Harici Test Kullan\u0131c\u0131lar\u0131 (External Testers).<\/p>\n<p>Dahili test grubu, App Store Connect hesab\u0131n\u0131zda &#8220;Y\u00f6netici&#8221;, &#8220;Geli\u015ftirici&#8221; veya &#8220;Aray\u00fcz Tasar\u0131mc\u0131s\u0131&#8221; gibi rollere sahip olan ekip \u00fcyelerinden olu\u015fur. Apple, bu grup i\u00e7in en fazla 100 kullan\u0131c\u0131 s\u0131n\u0131r\u0131 belirlemi\u015ftir. Bu grubun en b\u00fcy\u00fck avantaj\u0131, g\u00f6nderilen derlemelerin (build) Apple\u2019\u0131n Beta Uygulama \u0130ncelemesi (Beta App Review) s\u00fcrecinden ge\u00e7me zorunlulu\u011funun olmamas\u0131d\u0131r. Y\u00fckledi\u011finiz bir derleme birka\u00e7 dakika i\u00e7inde dahili test kullan\u0131c\u0131lar\u0131n\u0131n eri\u015fimine a\u00e7\u0131l\u0131r.<\/p>\n<p>Harici test grubu ise uygulaman\u0131z\u0131 ger\u00e7ek d\u00fcnya ko\u015fullar\u0131nda test edecek anonim veya davet edilmi\u015f son kullan\u0131c\u0131lar\u0131 temsil eder. Apple, tek bir uygulama i\u00e7in harici test kullan\u0131c\u0131s\u0131 limitini maksimum 10.000 olarak belirlemi\u015ftir. Ayr\u0131ca, olu\u015fturaca\u011f\u0131n\u0131z her bir genel ba\u011flant\u0131 (public link) i\u00e7in de ayr\u0131 bir kota bulunur. Bir derlemenin \u00f6mr\u00fc ise y\u00fcklendi\u011fi tarihten itibaren tam 90 g\u00fcnd\u00fcr. Bu s\u00fcre doldu\u011funda derleme otomatik olarak pasif hale gelir ve kullan\u0131c\u0131lar uygulamay\u0131 a\u00e7amaz.<\/p>\n<p>Geni\u015f \u00f6l\u00e7ekli bir uygulamada 10.000 ki\u015filik limit ilk bak\u0131\u015fta yeterli gibi g\u00f6r\u00fcnse de kullan\u0131c\u0131lar\u0131n uygulamay\u0131 indirip bir kez a\u00e7t\u0131ktan sonra unutmas\u0131, kullan\u0131lmayan hesaplar\u0131n kotay\u0131 doldurmas\u0131 ve farkl\u0131 test senaryolar\u0131n\u0131n e\u015fzamanl\u0131 y\u00fcr\u00fct\u00fclebilmesi gibi nedenlerle bu s\u0131n\u0131r h\u0131zla dolmaktad\u0131r.<\/p>\n<h2>Dahili ve Harici Test Grubu Stratejileri Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?<\/h2>\n<p>TestFlight limitlerini verimli y\u00f6netmenin ilk ad\u0131m\u0131, test gruplar\u0131n\u0131 do\u011fru bir mimariyle segmentlere ay\u0131rmakt\u0131r. Rastgele davet g\u00f6ndermek yerine kullan\u0131c\u0131lar\u0131 kullan\u0131m al\u0131\u015fkanl\u0131klar\u0131na ve test hedeflerinize g\u00f6re grupland\u0131rmal\u0131s\u0131n\u0131z. B\u00f6ylelikle hem 10.000 ki\u015filik harici test s\u0131n\u0131r\u0131n\u0131 gereksiz yere doldurmazs\u0131n\u0131z hem de daha nitelikli geri bildirimler toplars\u0131n\u0131z.<\/p>\n<p>\u0130lk olarak, harici test grubunuzu tek bir havuz olarak d\u00fc\u015f\u00fcnmek yerine alt gruplara (sub-groups) b\u00f6l\u00fcn. \u00d6rne\u011fin, uygulaman\u0131zda a\u015fa\u011f\u0131daki gibi bir yap\u0131land\u0131rma kurabilirsiniz:<\/p>\n<ul>\n<li><strong>\u00c7ekirdek Beta Ekibi (VIP Testers):<\/strong> S\u00fcrekli geri bildirim veren, uygulaman\u0131z\u0131 g\u00fcnl\u00fck hayat\u0131nda aktif kullanan 500-1000 ki\u015filik sad\u0131k kitle.<\/li>\n<li><strong>Saha Test Ekibi (Regional Testers):<\/strong> Sadece belirli b\u00f6lge veya lokasyon bazl\u0131 \u00f6zellikleri test eden ge\u00e7ici kullan\u0131c\u0131 grubu.<\/li>\n<li><strong>Stres ve Performans Ekibi:<\/strong> Yeni bir altyap\u0131 de\u011fi\u015fikli\u011finde y\u00fcksek anl\u0131k trafik olu\u015fturmak i\u00e7in kullan\u0131lan geni\u015f kitle.<\/li>\n<\/ul>\n<p>Bu grupland\u0131rmay\u0131 yapt\u0131ktan sonra, her derlemeyi (build) t\u00fcm gruplara ayn\u0131 anda a\u00e7mak zorunda kalmazs\u0131n\u0131z. Sadece ilgili \u00f6zelli\u011fi kapsayan grubu hedefleyerek testleri y\u00fcr\u00fctebilirsiniz. Ayr\u0131ca, genel davet ba\u011flant\u0131lar\u0131n\u0131 (public links) s\u0131n\u0131rs\u0131z s\u00fcreli\u011fine a\u00e7\u0131k b\u0131rakmak en b\u00fcy\u00fck hatalardan biridir. Genel ba\u011flant\u0131lara mutlaka kullan\u0131c\u0131 say\u0131s\u0131 kotas\u0131 koymal\u0131s\u0131n\u0131z. \u00d6rne\u011fin, 1.000 ki\u015filik bir kota belirleyip doldu\u011funda ba\u011flant\u0131y\u0131 kapatmak, kontrol\u00fcn sizde kalmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Pasif Kullan\u0131c\u0131lar\u0131 Otomatik Temizleme ve Rotasyon Y\u00f6ntemi<\/h2>\n<p>TestFlight limitini a\u015fman\u0131n en pratik ve etkili yolu, mevcut 10.000 ki\u015filik kotay\u0131 bir &#8220;d\u00f6ner sermaye&#8221; veya &#8220;rotasyon&#8221; mant\u0131\u011f\u0131yla \u00e7al\u0131\u015ft\u0131rmakt\u0131r. \u00c7o\u011fu zaman harici test listesindeki kullan\u0131c\u0131lar\u0131n %40 ila %60\u2019\u0131 uygulamay\u0131 y\u00fcklemez bile veya sadece bir kez y\u00fckleyip bir daha a\u00e7maz. Pasif kalan bu kullan\u0131c\u0131lar de\u011ferli kotalar\u0131n\u0131z\u0131 i\u015fgal eder.<\/p>\n<p>Kullan\u0131c\u0131 rotasyonu stratejisinde hedefimiz, belirli bir s\u00fcredir aktif olmayan kullan\u0131c\u0131lar\u0131 tespit edip onlar\u0131 test grubundan \u00e7\u0131karmak ve yerlerine yeni istekte bulunan kullan\u0131c\u0131lar\u0131 dahil etmektir. Apple, App Store Connect \u00fczerinde kullan\u0131c\u0131lar\u0131n en son hangi tarihte test yapt\u0131\u011f\u0131n\u0131 ve ka\u00e7 oturum a\u00e7t\u0131\u011f\u0131n\u0131 g\u00f6steren veriler sunar.<\/p>\n<p>Bu s\u00fcreci manuel olarak yapmak y\u00fczlerce kullan\u0131c\u0131 i\u00e7in olduk\u00e7a zahmetlidir. Bunun yerine App Store Connect API kullanarak bu s\u00fcreci tamamen otomatize edebilirsiniz. Otomasyon senaryonuz \u015fu ad\u0131mlar\u0131 izlemelidir:<\/p>\n<ol>\n<li>Haftal\u0131k olarak App Store Connect API \u00fczerinden test kullan\u0131c\u0131lar\u0131n\u0131n listesini ve son etkinlik tarihlerini \u00e7ekin.<\/li>\n<li>Son 14 veya 30 g\u00fcn boyunca hi\u00e7bir derlemeyi y\u00fcklememi\u015f veya a\u00e7mam\u0131\u015f kullan\u0131c\u0131lar\u0131 filtreleyin.<\/li>\n<li>Bu kullan\u0131c\u0131lara otomatik bir uyar\u0131 e-postas\u0131 g\u00f6ndererek test s\u00fcrecine devam etmek isteyip istemediklerini sorun.<\/li>\n<li>Yan\u0131t vermeyen veya pasif kalmaya devam eden hesaplar\u0131 API arac\u0131l\u0131\u011f\u0131yla harici test grubundan silin.<\/li>\n<\/ol>\n<p>Bu dinamik temizlik y\u00f6ntemi sayesinde 10.000 ki\u015filik kapasiteniz hi\u00e7bir zaman tam anlam\u0131yla at\u0131l kalmaz ve s\u00fcrekli olarak aktif test yapan taze bir kullan\u0131c\u0131 kitlesine sahip olursunuz.<\/p>\n<h2>\u00c7oklu Uygulama Kimli\u011fi (Bundle ID) ile Limitleri \u00c7arpanlara Ay\u0131rma<\/h2>\n<p>E\u011fer uygulaman\u0131z tek bir TestFlight hesab\u0131ndaki 10.000 aktif kullan\u0131c\u0131 s\u0131n\u0131r\u0131n\u0131 tamamen dolduruyorsa ve hi\u00e7bir kullan\u0131c\u0131y\u0131 gruptan \u00e7\u0131karmak istemiyorsan\u0131z, mimari bir \u00e7\u00f6z\u00fcme ge\u00e7meniz gerekir. Bu \u00e7\u00f6z\u00fcm, uygulaman\u0131z\u0131n farkl\u0131 ortamlar\u0131n\u0131 (environment) veya s\u00fcr\u00fcmlerini ba\u011f\u0131ms\u0131z birer App Store Connect projesi olarak tan\u0131mlamakt\u0131r.<\/p>\n<p>Normal \u015fartlarda uygulaman\u0131z\u0131n bir paket kimli\u011fi (Bundle Identifier) bulunur; \u00f6rne\u011fin <code>com.sirket.uygulama<\/code>. Xcode \u00fczerinde derleme ayarlar\u0131n\u0131 ve \u015femalar\u0131n\u0131 (schemes) yap\u0131land\u0131rarak farkl\u0131 Bundle ID&#8217;lere sahip t\u00fcrev uygulamalar olu\u015fturabilirsiniz:<\/p>\n<ul>\n<li><code>com.sirket.uygulama.alpha<\/code> (Alpha S\u00fcr\u00fcm\u00fc)<\/li>\n<li><code>com.sirket.uygulama.beta<\/code> (Beta S\u00fcr\u00fcm\u00fc)<\/li>\n<li><code>com.sirket.uygulama.staging<\/code> (Haz\u0131rl\u0131k S\u00fcr\u00fcm\u00fc)<\/li>\n<\/ul>\n<p>Apple, her farkl\u0131 Bundle ID\u2019yi tamamen ba\u011f\u0131ms\u0131z bir uygulama olarak de\u011ferlendirir. Bu durum, her bir uygulama projesi i\u00e7in ayr\u0131 bir 10.000 harici kullan\u0131c\u0131 kotas\u0131na sahip olaca\u011f\u0131n\u0131z anlam\u0131na gelir. Yukar\u0131daki gibi 3 farkl\u0131 ortam olu\u015fturdu\u011funuzda, toplam harici test kapasitenizi an\u0131nda 30.000 kullan\u0131c\u0131ya \u00e7\u0131karm\u0131\u015f olursunuz.<\/p>\n<p>Bu y\u00f6ntemi uygularken dikkat edilmesi gereken en \u00f6nemli nokta, derleme yap\u0131land\u0131rmas\u0131n\u0131 (Build Configuration) do\u011fru ayarlamakt\u0131r. A\u015fa\u011f\u0131da Xcode projenizde kullanabilece\u011finiz \u00f6rnek bir Configuration\/Build Settings yakla\u015f\u0131m\u0131 yer almaktad\u0131r:<\/p>\n<div class=\"code-container\">\n<pre><code>\/\/ Xcode Build Settings - User-Defined Settings \u00d6rne\u011fi\nPRODUCT_BUNDLE_IDENTIFIER_APP = com.sirket.uygulama\nPRODUCT_BUNDLE_IDENTIFIER_BETA = com.sirket.uygulama.beta\nPRODUCT_BUNDLE_IDENTIFIER_ALPHA = com.sirket.uygulama.alpha\n\n\/\/ Info.plist i\u00e7erisindeki Bundle Identifier tan\u0131m\u0131\n\/\/ $(PRODUCT_BUNDLE_IDENTIFIER)\n<\/code><\/pre>\n<\/div>\n<p>Geli\u015ftirme ekibiniz CI\/CD (S\u00fcrekli Entegrasyon \/ S\u00fcrekli Teslimat) s\u00fcre\u00e7lerinde Fastlane veya GitHub Actions kullan\u0131yorsa, hedef ortama g\u00f6re ilgili \u015femay\u0131 derleyip do\u011fru App Store Connect projesine otomatik olarak y\u00fckleyebilir.<\/p>\n<h2>TestFlight Alternatifi Da\u011f\u0131t\u0131m Kanallar\u0131 Nelerdir?<\/h2>\n<p>TestFlight, Apple\u2019\u0131n sundu\u011fu en entegre \u00e7\u00f6z\u00fcm olsa da tek se\u00e7enek de\u011fildir. \u00d6zellikle kapal\u0131 beta a\u015famas\u0131ndan a\u00e7\u0131k alfa s\u00fcre\u00e7lerine ge\u00e7erken veya \u015firket i\u00e7i \u00e7ok geni\u015f \u00e7al\u0131\u015fan kitlelerine test yapt\u0131r\u0131rken alternatif ara\u00e7lar\u0131 s\u00fcrece dahil etmek esneklik kazand\u0131r\u0131r.<\/p>\n<p>A\u015fa\u011f\u0131daki tabloda, TestFlight ve en pop\u00fcler alternatif da\u011f\u0131t\u0131m kanallar\u0131n\u0131n temel \u00f6zelliklerini, limitlerini ve kullan\u0131m senaryolar\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rmal\u0131 olarak inceleyebilirsiniz:<\/p>\n<table>\n<thead>\n<tr>\n<th>Da\u011f\u0131t\u0131m Kanal\u0131<\/th>\n<th>Maksimum Kullan\u0131c\u0131 Limiti<\/th>\n<th>Inceleme S\u00fcreci (App Review)<\/th>\n<th>\u00d6ne \u00c7\u0131kan Kullan\u0131m Senaryosu<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>TestFlight (External)<\/strong><\/td>\n<td>10.000 Kullan\u0131c\u0131<\/td>\n<td>Evet (\u0130lk derlemede gerekli)<\/td>\n<td>Genel beta testleri ve son kullan\u0131c\u0131 geri bildirimleri<\/td>\n<\/tr>\n<tr>\n<td><strong>Firebase App Distribution<\/strong><\/td>\n<td>Cihaz limitine ba\u011fl\u0131 (Ad-Hoc \/ Enterprise)<\/td>\n<td>Hay\u0131r<\/td>\n<td>H\u0131zl\u0131 geli\u015ftirme testleri ve QA ekipleri<\/td>\n<\/tr>\n<tr>\n<td><strong>Apple Enterprise Program<\/strong><\/td>\n<td>S\u0131n\u0131rs\u0131z (Sadece \u015eirket \u00c7al\u0131\u015fanlar\u0131)<\/td>\n<td>Hay\u0131r<\/td>\n<td>B\u00fcy\u00fck kurum i\u00e7i \u00e7al\u0131\u015fan testleri ve \u00f6zel uygulamalar<\/td>\n<\/tr>\n<tr>\n<td><strong>Ad-Hoc Distribution<\/strong><\/td>\n<td>Hesap ba\u015f\u0131na 100 Cihaz (UDID)<\/td>\n<td>Hay\u0131r<\/td>\n<td>\u00c7ok k\u0131s\u0131tl\u0131, \u00f6zel y\u00f6netici\/yat\u0131r\u0131mc\u0131 sunumlar\u0131<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Firebase App Distribution gibi platformlar, iOS cihazlar\u0131n\u0131n UDID (Benzersiz Cihaz Kimli\u011fi) numaralar\u0131n\u0131 toplayarak Ad-Hoc profilleri \u00fczerinden da\u011f\u0131t\u0131m yap\u0131lmas\u0131na imkan tan\u0131r. Apple Bireysel veya Kurumsal Geli\u015ftirici hesab\u0131nda y\u0131ll\u0131k 100 iPhone, 100 iPad ve 100 Apple Watch tan\u0131mlama s\u0131n\u0131r\u0131n\u0131z vard\u0131r. E\u011fer test kitleniz kurum i\u00e7i \u00e7al\u0131\u015fanlardan olu\u015fuyorsa, Apple Developer Enterprise Program (Kurumsal Geli\u015ftirici Program\u0131) kullanarak s\u0131n\u0131rs\u0131z say\u0131da cihaza uygulama y\u00fckleyebilirsiniz. Ancak bu lisans\u0131n sadece \u015firket personeline \u00f6zel oldu\u011funu unutmamal\u0131s\u0131n\u0131z.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryosu: Yerel Bir FinTech Giri\u015fiminin Test Otomasyonu<\/h2>\n<p>Konuyu somutla\u015ft\u0131rmak ad\u0131na T\u00fcrkiye pazar\u0131nda hizmet veren hayali bir FinTech giri\u015fiminin (&#8220;Parabox&#8221;) kar\u015f\u0131la\u015ft\u0131\u011f\u0131 krizi ve \u00e7\u00f6z\u00fcm yolunu inceleyelim. Parabox, yeni nesil dijital c\u00fczdan \u00f6zelli\u011fini canl\u0131ya almadan \u00f6nce 25.000 kullan\u0131c\u0131l\u0131 devasa bir topluluk ile test etmek istedi. Ancak TestFlight\u2019\u0131n 10.000 ki\u015filik harici test engeline tak\u0131ld\u0131lar.<\/p>\n<p>\u015eirket, kriz an\u0131nda \u00fc\u00e7 a\u015famal\u0131 bir strateji geli\u015ftirdi ve uygulad\u0131:<\/p>\n<p>\u0130lk ad\u0131m olarak, kullan\u0131c\u0131lara uygulama i\u00e7i ve e-posta \u00fczerinden bir bilgilendirme g\u00f6nderildi. Test kullan\u0131c\u0131lar\u0131 &#8220;Aktif Test\u00e7iler&#8221; ve &#8220;G\u00f6zlemciler&#8221; olarak ikiye ayr\u0131ld\u0131. Son 10 g\u00fcnd\u00fcr uygulamaya girmeyen 4.200 kullan\u0131c\u0131 TestFlight listesinden temizlendi. B\u00f6ylelikle an\u0131nda 4.200 ki\u015filik yeni alan a\u00e7\u0131ld\u0131.<\/p>\n<p>\u0130kinci ad\u0131mda, uygulaman\u0131n teknik altyap\u0131s\u0131 ikiye b\u00f6l\u00fcnd\u00fc. Sad\u0131k ve s\u00fcrekli geri bildirim veren 10.000 kullan\u0131c\u0131 <code>com.parabox.app.beta<\/code> paketi alt\u0131nda toplan\u0131rken, sosyal medya \u00fczerinden gelen ge\u00e7ici test kullan\u0131c\u0131lar\u0131 i\u00e7in <code>com.parabox.app.community<\/code> ad\u0131nda ikinci bir Bundle ID olu\u015fturuldu. Bu sayede kapasite tek gecede 20.000&#8217;e \u00e7\u0131kar\u0131ld\u0131.<\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc ve son ad\u0131mda ise \u015firket i\u00e7i 300 personelin testi i\u00e7in Apple Enterprise lisans\u0131 kullan\u0131larak Firebase App Distribution altyap\u0131s\u0131na ge\u00e7ildi. B\u00f6ylece kurum i\u00e7i trafik, d\u0131\u015f kullan\u0131c\u0131 limitlerinden tamamen izole edildi. Sonu\u00e7 olarak Parabox, tek bir kullan\u0131c\u0131s\u0131n\u0131 dahi d\u0131\u015far\u0131da b\u0131rakmadan test s\u00fcrecini ba\u015far\u0131yla tamamlad\u0131.<\/p>\n<h2>App Store Connect API ve Fastlane ile Otomatik Test Y\u00f6netimi<\/h2>\n<p>TestFlight s\u00fcre\u00e7lerini manuel olarak y\u00f6netmek bir s\u00fcre sonra s\u00fcrd\u00fcr\u00fclemez hale gelir. S\u00fcrekli geli\u015fen mobil ekipler i\u00e7in Fastlane otomasyon arac\u0131 ve App Store Connect API bi\u00e7ilmi\u015f kaftand\u0131r. Bu b\u00f6l\u00fcmde, pasif kullan\u0131c\u0131lar\u0131 veya derleme s\u00fcre\u00e7lerini otomatize etmek i\u00e7in kullanabilece\u011finiz teknik yap\u0131lar\u0131 ele alaca\u011f\u0131z.<\/p>\n<p>Fastlane kullanarak bir test grubuna otomatik olarak yeni bir derleme y\u00fcklemek ve kullan\u0131c\u0131lar\u0131 bilgilendirmek son derece basittir. Projenizdeki <code>Fastfile<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki gibi bir lane (g\u00f6rev) ekleyebilirsiniz:<\/p>\n<div class=\"code-container\">\n<pre><code># Fastfile \u0130\u00e7eri\u011fi\ndefault_platform(:ios)\n\nplatform :ios do\n  desc \"TestFlight Harici Beta Grubuna Otomatik Derleme G\u00f6nderir\"\n  lane :deploy_to_beta do\n    build_app(scheme: \"AppBeta\") # Beta \u015femas\u0131n\u0131 derler\n    \n    upload_to_testflight(\n      skip_waiting_for_build_processing: true,\n      groups: [\"Genel Beta Ekibi\", \"VIP Testers\"],\n      changelog: \"Bu s\u00fcr\u00fcmde performans iyile\u015ftirmeleri ve hata d\u00fczeltmeleri yap\u0131ld\u0131.\"\n    )\n  end\nend\n<\/code><\/pre>\n<\/div>\n<p>Pasif kullan\u0131c\u0131lar\u0131n tespiti i\u00e7in ise Python ve App Store Connect API entegrasyonu tercih edilebilir. JWT (JSON Web Token) ile kimlik do\u011frulamas\u0131 yapt\u0131ktan sonra API&#8217;nin <code>\/v1\/betaTesters<\/code> u\u00e7 noktas\u0131na (endpoint) istek atarak kullan\u0131c\u0131 durumlar\u0131n\u0131 sorgulayabilirsiniz. A\u015fa\u011f\u0131daki Python kod par\u00e7ac\u0131\u011f\u0131, API&#8217;ye ba\u011flan\u0131p kullan\u0131c\u0131 verilerini nas\u0131l \u00e7ekebilece\u011finizi g\u00f6stermektedir:<\/p>\n<div class=\"code-container\">\n<pre><code>import requests\nimport time\nimport jwt\n\n# App Store Connect API Anahtar Bilgileri\nKEY_ID = 'YOUR_KEY_ID'\nISSUER_ID = 'YOUR_ISSUER_ID'\nPRIVATE_KEY_PATH = 'AuthKey_YOUR_KEY_ID.p8'\n\nwith open(PRIVATE_KEY_PATH, 'r') as f:\n    private_key = f.read()\n\npayload = {\n    'iss': ISSUER_ID,\n    'exp': int(time.time()) + (20 * 60),\n    'aud': 'appstoreconnect-v1'\n}\n\nheaders = {\n    'alg': 'ES256',\n    'kid': KEY_ID,\n    'typ': 'JWT'\n}\n\n# Token \u00dcretimi\ntoken = jwt.encode(payload, private_key, algorithm='ES256', headers=headers)\n\n# Beta Test Kullan\u0131c\u0131lar\u0131n\u0131 Getir\napi_url = \"https:\/\/api.appstoreconnect.apple.com\/v1\/betaTesters\"\napi_headers = {'Authorization': f'Bearer {token}'}\n\nresponse = requests.get(api_url, headers=api_headers)\n\nif response.status_code == 200:\n    testers = response.json()\n    print(f\"Toplam Test Kullan\u0131c\u0131s\u0131 Say\u0131s\u0131: {len(testers.get('data', []))}\")\nelse:\n    print(f\"Hata Olu\u015ftu: {response.status_code} - {response.text}\")\n<\/code><\/pre>\n<\/div>\n<p>Bu t\u00fcr scriptleri bir Cron Job veya GitHub Actions Workflow i\u00e7erisine ba\u011flayarak her pazar gecesi pasif kullan\u0131c\u0131lar\u0131n taranmas\u0131n\u0131 ve kotan\u0131z\u0131n otomatik olarak temizlenmesini sa\u011flayabilirsiniz. B\u00f6ylece geli\u015ftirme ekibiniz zaman\u0131n\u0131 operasyonel i\u015flerle de\u011fil, do\u011frudan kod kalitesiyle harcar.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>TestFlight limitleri, h\u0131zl\u0131 b\u00fcyyen mobil projeler i\u00e7in cayd\u0131r\u0131c\u0131 bir engel gibi g\u00f6r\u00fcnse de do\u011fru strateji ve teknik otomasyonlar ile tamamen kontrol alt\u0131na al\u0131nabilir. Tek bir y\u00f6nteme ba\u011f\u0131ml\u0131 kalmak yerine; aktif rotasyon mekanizmalar\u0131 kurmak, \u00e7oklu Bundle ID mimarisini benimsemek ve alternatif da\u011f\u0131t\u0131m kanallar\u0131n\u0131 hibrit bir \u015fekilde kullanmak en sa\u011fl\u0131kl\u0131 yakla\u015f\u0131md\u0131r.<\/p>\n<p>Test s\u00fcre\u00e7lerinizi optimize ederken kullan\u0131c\u0131 gizlili\u011fini (KVKK\/GDPR) g\u00f6z \u00f6n\u00fcnde bulundurmay\u0131, kullan\u0131c\u0131lar\u0131n\u0131za d\u00fczenli geri bildirim kanallar\u0131 sunmay\u0131 ve otomasyon ara\u00e7lar\u0131ndan maksimum d\u00fczeyde faydalanmay\u0131 unutmay\u0131n.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h3>1. TestFlight harici test kullan\u0131c\u0131s\u0131 limiti tam olarak ka\u00e7t\u0131r?<\/h3>\n<p>Apple, bir iOS uygulamas\u0131 i\u00e7in harici test kullan\u0131c\u0131s\u0131 (External Tester) s\u0131n\u0131r\u0131n\u0131 maksimum 10.000 olarak belirlemi\u015ftir. Dahili test kullan\u0131c\u0131lar\u0131 (Internal Testers) i\u00e7in bu s\u0131n\u0131r 100 ki\u015fidir.<\/p>\n<h3>2. Bir TestFlight derlemesinin (build) kullan\u0131m s\u00fcresi ne kadard\u0131r?<\/h3>\n<p>Y\u00fcklenen her bir test derlemesi, y\u00fcklendi\u011fi tarihten itibaren 90 g\u00fcn boyunca ge\u00e7erlidir. 90 g\u00fcn sonunda derleme otomatik olarak kapan\u0131r ve kullan\u0131c\u0131lar\u0131n yeni bir derleme y\u00fcklemesi gerekir.<\/p>\n<h3>3. TestFlight i\u00e7in her g\u00fcncellenen derleme Apple incelemesinden ge\u00e7er mi?<\/h3>\n<p>Harici test grubuna g\u00f6nderilen ilk derleme mutlaka Beta Uygulama \u0130ncelemesi (Beta App Review) s\u00fcrecinden ge\u00e7er. Ancak ayn\u0131 s\u00fcr\u00fcm numaras\u0131 alt\u0131nda yap\u0131lan k\u00fc\u00e7\u00fck hata d\u00fczeltmeleri ve alt derlemeler (build number g\u00fcncellemeleri) genellikle \u00e7ok daha h\u0131zl\u0131 onaylan\u0131r veya do\u011frudan yay\u0131nlan\u0131r. Dahili test grubunda ise inceleme s\u00fcreci hi\u00e7 yoktur.<\/p>\n<h3>4. \u00c7oklu Bundle ID kullanmak Apple kurallar\u0131na ayk\u0131r\u0131 m\u0131d\u0131r?<\/h3>\n<p>Hay\u0131r, kesinlikle ayk\u0131r\u0131 de\u011fildir. B\u00fcy\u00fck \u00f6l\u00e7ekli yaz\u0131l\u0131m \u015firketleri mimari olarak Alpha, Beta, Staging ve Production ortamlar\u0131n\u0131 ay\u0131rmak i\u00e7in farkl\u0131 Bundle ID\u2019ler kullan\u0131rlar. Bu, yaz\u0131l\u0131m m\u00fchendisli\u011finde kabul g\u00f6rm\u00fc\u015f standart bir uygulamad\u0131r.<\/p>\n<p>#Teknoloji #WebGeli\u015ftirme #iOSGeli\u015ftirme #TestFlight #MobileTesting<\/p>\n","protected":false},"excerpt":{"rendered":"iOS uygulaman\u0131z\u0131n TestFlight kullan\u0131c\u0131 limitine tak\u0131lmadan daha geni\u015f kitlelere ula\u015fmas\u0131 i\u00e7in uygulayabilece\u011finiz teknik ve stratejik \u00e7\u00f6z\u00fcm yollar\u0131n\u0131 ke\u015ffedin.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-43814","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r?\" \/>\n<meta property=\"og:description\" content=\"iOS uygulaman\u0131z\u0131n TestFlight kullan\u0131c\u0131 limitine tak\u0131lmadan daha geni\u015f kitlelere ula\u015fmas\u0131 i\u00e7in uygulayabilece\u011finiz teknik ve stratejik \u00e7\u00f6z\u00fcm yollar\u0131n\u0131 ke\u015ffedin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-03T18:06:18+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r?\",\"datePublished\":\"2026-08-03T18:06:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/\"},\"wordCount\":2476,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/\",\"name\":\"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-08-03T18:06:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/","og_locale":"tr_TR","og_type":"article","og_title":"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r?","og_description":"iOS uygulaman\u0131z\u0131n TestFlight kullan\u0131c\u0131 limitine tak\u0131lmadan daha geni\u015f kitlelere ula\u015fmas\u0131 i\u00e7in uygulayabilece\u011finiz teknik ve stratejik \u00e7\u00f6z\u00fcm yollar\u0131n\u0131 ke\u015ffedin.","og_url":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-08-03T18:06:18+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"14 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r?","datePublished":"2026-08-03T18:06:18+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/"},"wordCount":2476,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/","url":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/","name":"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-08-03T18:06:18+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/testflight-kullanici-limitleri-nasil-asilir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"TestFlight Kullan\u0131c\u0131 Limitleri Nas\u0131l A\u015f\u0131l\u0131r?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=43814"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43814\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=43814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=43814"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=43814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}