<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Çağrı Baş</title>
    <description>The latest articles on DEV Community by Çağrı Baş (@ar_ba_791f84532293105).</description>
    <link>https://dev.to/ar_ba_791f84532293105</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4137616%2F65d6f506-a4f9-4730-9e5f-c47188f97c48.png</url>
      <title>DEV Community: Çağrı Baş</title>
      <link>https://dev.to/ar_ba_791f84532293105</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ar_ba_791f84532293105"/>
    <language>en</language>
    <item>
      <title>Three App Store surprises from shipping my first Flutter app</title>
      <dc:creator>Çağrı Baş</dc:creator>
      <pubDate>Fri, 23 Oct 2026 11:25:31 +0000</pubDate>
      <link>https://dev.to/ar_ba_791f84532293105/three-app-store-surprises-from-shipping-my-first-flutter-app-1a0m</link>
      <guid>https://dev.to/ar_ba_791f84532293105/three-app-store-surprises-from-shipping-my-first-flutter-app-1a0m</guid>
      <description>&lt;p&gt;I'm the solo developer of Vela, an iPhone app built with Flutter (Riverpod, Drift, Supabase, RevenueCat). It shipped in October. None of these three issues showed up in tests; all three showed up in App Store Connect.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The store's language row ignores &lt;code&gt;CFBundleLocalizations&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;The app is fully localized in Turkish and English through Flutter's ARB files, and &lt;code&gt;Info.plist&lt;/code&gt; lists both languages. The store page still said English only. In App Store Connect, the build's metadata listed &lt;code&gt;locales = ["en"]&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Apple seems to read the languages from the &lt;code&gt;.lproj&lt;/code&gt; folders inside the bundle, and my Flutter iOS project shipped only &lt;code&gt;Base.lproj&lt;/code&gt;. The fix:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;add &lt;code&gt;en.lproj&lt;/code&gt; and &lt;code&gt;tr.lproj&lt;/code&gt;, each with an &lt;code&gt;InfoPlist.strings&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;add &lt;code&gt;tr&lt;/code&gt; to &lt;code&gt;knownRegions&lt;/code&gt; in the Xcode project&lt;/li&gt;
&lt;li&gt;check that the folders actually exist inside the built &lt;code&gt;Runner.app&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The next build's metadata in App Store Connect showed &lt;code&gt;["tr", "en"]&lt;/code&gt;, and once that build went live the store page listed "English and Turkish".&lt;/p&gt;

&lt;h2&gt;
  
  
  2. TestFlight shows dollar prices to a Turkish account
&lt;/h2&gt;

&lt;p&gt;On TestFlight, my Turkish account saw USD prices on the paywall, while RevenueCat recorded the same purchases in Turkish lira. This is known sandbox behaviour: the sandbox storefront can fall back to the US catalog. RevenueCat's docs cover it in the &lt;a href="https://www.revenuecat.com/docs/test-and-launch/sandbox/apple-app-store" rel="noopener noreferrer"&gt;Currency section of their App Store sandbox guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The paywall just prints the store's &lt;code&gt;priceString&lt;/code&gt;, so there was nothing to fix in the app. The lesson: don't "fix" currency in code based on what TestFlight shows you.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Your next App Review reviewer may already be a subscriber
&lt;/h2&gt;

&lt;p&gt;In the review sandbox a yearly plan renews daily, and reviewers can come back with the same Apple account. If your UI hides the purchase screen from subscribers, the reviewer can't reach the thing they're asked to review. Keep a path to the paywall open for subscribers too.&lt;/p&gt;




&lt;p&gt;That's the list. The app itself, if you're curious: &lt;a href="https://apps.apple.com/us/app/id6761649496" rel="noopener noreferrer"&gt;Vela on the App Store&lt;/a&gt;. It's built on ACT principles (stepping back from thoughts instead of fighting them) and is not a substitute for therapy.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>ios</category>
      <category>appstore</category>
      <category>indiedev</category>
    </item>
  </channel>
</rss>
