<?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: Mayur ..</title>
    <description>The latest articles on DEV Community by Mayur .. (@mayur__675080e7483e2fdd).</description>
    <link>https://dev.to/mayur__675080e7483e2fdd</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3267010%2F7da1de12-8cb2-4538-8506-54c057ecb0a8.png</url>
      <title>DEV Community: Mayur ..</title>
      <link>https://dev.to/mayur__675080e7483e2fdd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mayur__675080e7483e2fdd"/>
    <language>en</language>
    <item>
      <title>🚀How I Built and Deployed My First iOS App with SwiftUI, Firebase, and QR Code Integration</title>
      <dc:creator>Mayur ..</dc:creator>
      <pubDate>Sun, 15 Jun 2025 16:57:50 +0000</pubDate>
      <link>https://dev.to/mayur__675080e7483e2fdd/how-i-built-and-deployed-my-first-ios-app-with-swiftui-firebase-and-qr-code-integration-1fl4</link>
      <guid>https://dev.to/mayur__675080e7483e2fdd/how-i-built-and-deployed-my-first-ios-app-with-swiftui-firebase-and-qr-code-integration-1fl4</guid>
      <description>&lt;p&gt;Hi everyone! 👋&lt;br&gt;
I'm Mayur, a final-year Engineering student passionate about iOS development. In this post, I’ll walk you through how I built my first fully functional iOS app — TRINGQR-PRO — and deployed it to the App Store. I’ll also share the tools, challenges, and lessons I learned along the way.&lt;/p&gt;

&lt;p&gt;📱 What the App Does&lt;br&gt;
TRINGQR-PRO is a QR code scanner and generator app. It allows users to:&lt;/p&gt;

&lt;p&gt;[]Scan QR codes in real time using the device camera&lt;br&gt;
[]Generate custom QR codes from text&lt;br&gt;
[]Save and view scan/generation history&lt;br&gt;
[]Sign in with Apple ID or phone number&lt;br&gt;
[]Store data securely using Firebase&lt;/p&gt;

&lt;p&gt;🛠️ Tools &amp;amp; Technologies Used&lt;br&gt;
[]Swift &amp;amp; SwiftUI – For building the UI and app logic&lt;br&gt;
[]Firebase (Auth + Firestore) – For authentication and cloud storage&lt;br&gt;
[]AVFoundation – For live camera-based QR code scanning&lt;br&gt;
[]Postman + Swagger – For API testing and documentation&lt;br&gt;
[]Apple Sign-In + Phone Number Auth – For secure and smooth user onboarding&lt;br&gt;
[]Xcode + App Store Connect – For development, &lt;br&gt;
testing, and deployment.&lt;/p&gt;

&lt;p&gt;🔐 Authentication: Apple Sign-In + Phone Number&lt;br&gt;
One of the first features I implemented was user authentication. I gave users two options:&lt;/p&gt;

&lt;p&gt;Sign in with Apple: Perfect for privacy-conscious users&lt;br&gt;
Phone number login: Using Firebase Auth with SMS OTP&lt;br&gt;
I used Firebase’s built-in auth services to handle both, and it worked flawlessly across devices.&lt;/p&gt;

&lt;p&gt;📷 QR Code Scanning with AVFoundation&lt;br&gt;
To scan QR codes in real time, I used AVFoundation. Setting up the camera session, metadata detection, and handling various QR formats took some effort, but I learned a lot about working with live camera input and real-time UI updates.&lt;/p&gt;

&lt;p&gt;code:&lt;/p&gt;

&lt;p&gt;let metadataOutput = AVCaptureMetadataOutput()&lt;br&gt;
metadataOutput.setMetadataObjectsDelegate(self, queue: DispatchQueue.main)&lt;br&gt;
metadataOutput.metadataObjectTypes = [.qr]&lt;/p&gt;

&lt;p&gt;🧪 API Integration: Swagger + Postman&lt;br&gt;
Some parts of the app required interacting with APIs — for example, logging scan events or fetching data. I tested all backend endpoints using:&lt;/p&gt;

&lt;p&gt;[]Postman – For manually testing and verifying&lt;br&gt;
[]Swagger – For understanding and documenting the API structure.&lt;br&gt;
This helped me catch issues early and ensure smooth client-server communication.&lt;/p&gt;

&lt;p&gt;🧾 QR Code Generation + History Tracking&lt;br&gt;
Users can also generate custom QR codes by typing text into the app. I used built-in CoreImage filters to create the QR code and added options to save/share it.&lt;/p&gt;

&lt;p&gt;Every scan or generation action is stored in Firebase Firestore, which allowed me to implement a history screen where users can view past scans and generations.&lt;/p&gt;

&lt;p&gt;🧪 Testing and Debugging&lt;br&gt;
Xcode’s simulator, console logs, and breakpoints were my best friends during testing. I also tested on real devices to ensure the camera, Firebase auth, and App Store sign-in flows worked correctly.&lt;/p&gt;

&lt;p&gt;🚀 Deployment to the App Store&lt;br&gt;
After testing and polishing the app:&lt;/p&gt;

&lt;p&gt;I created an App Store Connect listing&lt;br&gt;
Uploaded my build via Xcode&lt;br&gt;
Set up app screenshots, privacy policy, and metadata&lt;br&gt;
Waited for Apple’s review (it was approved in 24 hours!)&lt;br&gt;
And just like that… my first app was live on the App Store 🎉&lt;/p&gt;

&lt;p&gt;📚 What I Learned&lt;br&gt;
[]SwiftUI makes UI building fast and elegant, but debugging layout issues takes practice.&lt;br&gt;
[]Firebase is incredibly powerful, but watch out for rules and billing if you scale.&lt;br&gt;
[]Deployment takes time — be ready with icons, screenshots, and legal info.&lt;br&gt;
[]Always test on real devices, especially for camera and auth features.&lt;/p&gt;

&lt;p&gt;💡 Tips for Beginners&lt;br&gt;
If you’re starting with iOS development:&lt;/p&gt;

&lt;p&gt;[]Start small — but make it real. Even a simple QR scanner teaches you camera, UI, and storage.&lt;br&gt;
[]Use open-source GitHub projects to learn patterns&lt;br&gt;
[]Document your journey — blog posts like this one help you reflect and improve&lt;/p&gt;

&lt;p&gt;🙌 Thanks for Reading!&lt;br&gt;
I hope this post helps fellow students and iOS developers get inspired to build their own apps. If you have questions, feel free to connect with me:&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/mayur7267" rel="noopener noreferrer"&gt;https://github.com/mayur7267&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub: &lt;/p&gt;

&lt;p&gt;[]Start small — but make it real. Even a simple QR scanner teaches you camera, UI, and storage.&lt;br&gt;
[]Use open-source GitHub projects to learn patterns&lt;br&gt;
Document your journey — blog posts like this one help you reflect and improve&lt;/p&gt;

</description>
      <category>ios</category>
      <category>programming</category>
      <category>career</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
