<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Prabaljit Walia on Medium]]></title>
        <description><![CDATA[Stories by Prabaljit Walia on Medium]]></description>
        <link>https://medium.com/@prabal4546?source=rss-80c604e6e0d7------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*IdtduLw2USQoqR7twJTxzg@2x.jpeg</url>
            <title>Stories by Prabaljit Walia on Medium</title>
            <link>https://medium.com/@prabal4546?source=rss-80c604e6e0d7------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 01 Jun 2026 06:49:25 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@prabal4546/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Change App Icons in SwiftUI]]></title>
            <link>https://medium.com/geekculture/change-app-icons-in-swiftui-11c7b5f2b2ed?source=rss-80c604e6e0d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/11c7b5f2b2ed</guid>
            <category><![CDATA[xcode]]></category>
            <category><![CDATA[apple]]></category>
            <category><![CDATA[ios-development]]></category>
            <category><![CDATA[swift]]></category>
            <category><![CDATA[swiftui]]></category>
            <dc:creator><![CDATA[Prabaljit Walia]]></dc:creator>
            <pubDate>Sun, 23 May 2021 17:05:04 GMT</pubDate>
            <atom:updated>2021-05-26T13:58:06.169Z</atom:updated>
            <content:encoded><![CDATA[<p>Alternate App Icon switcher in SwiftUI</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HLZf2Q2jBWrOqddi4MbEZA.jpeg" /><figcaption>Image Credits: Alexander Shatov on Unsplash</figcaption></figure><p>Alternate App icons feature has been around for a while now(since iOS 10.3). Popular apps like Slack, Github, Telegram already offer this functionality. It is fairly simple to implement and adds a nice customisation option for the user.</p><p><strong>Our Aim</strong></p><p>This article will show you how to build an Alternate App Icon Switcher in SwiftUI.</p><p>Be sure to be ready with your app icon set following <a href="https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon/">Apple’s Human Interface Guidelines</a>.</p><p>Let’s get started!</p><p><strong><em>Step 1:</em></strong></p><p>Head to Info.plist file and Add Row &amp; name it Icon files(iOS 5). Once you have done that, it’ll show you a Primary Icon and a Newsstand Icon.</p><p>With this, we’ll go ahead and create a new section inside the Icon Files(iOS 5) called <strong>CFBundleAlternateIcons</strong> of type Dictionary.</p><p>Inside our Dictionary(CFBundleAlternateIcons) we’ll create another dictionary and name it Black<strong>. </strong>And inside this dictionary here we’ll add an array called <strong>CFBundleIconFiles. </strong>We’ll add the name of our icons in this array.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/634/1*RwGROR6Yyoar64ljGiYhdw.png" /><figcaption>Info.plist</figcaption></figure><p>Now let’s actually import the app icons into our project.</p><blockquote>Note: We won’t be adding these icons inside the <strong>Assets.xcassets</strong> folder(as you might’ve done for the default app icon).</blockquote><p>Create a group named <strong>Icons </strong>and go ahead &amp; add your alternate icons there. I’ll suggest to smartly name these icon image sets sets since you’ll be referring to them later.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/207/1*H1fTFoKPUyRR6JRxzv0ChQ.png" /><figcaption>The example project is called “Marvel”, you’ll create the folder “Icons” within the structure of your Xcode project.</figcaption></figure><p>Inside the array, we’ll add the name of our first icon Black, I have just added one alternate icon here but feel free to copy the dictionary Black for as many icons as you want, just replace Black with your corresponding icon name.</p><p>We’ve done the initial setup of adding the icons in our project. Now let’s see how to access these icons in the next step.</p><p><strong><em>Step 2:</em></strong></p><p>1.)Create a class IconNames which confirms to <em>ObservableObject</em>.</p><p>2.)We’ve madeiconNames optional to prevent crashes in case the icons couldn’t be located.</p><p>3.)Now declare another variable to keep the track of the index we’re at and define a function <em>getAlternateIconNames()</em> to access the icon names as implemented below:-</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/bb6600c9628bef10bca0e24571d27da5/href">https://medium.com/media/bb6600c9628bef10bca0e24571d27da5/href</a></iframe><p><strong><em>Step 3:</em></strong></p><p>Now let’s start setting up ContentView by adding a Picker with it’s selection binding to iconSettings i.e when the current index &amp; icon name changes, it’s also going to change our Picker.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/49df88e4889a23defd11e8bdf0cabee9/href">https://medium.com/media/49df88e4889a23defd11e8bdf0cabee9/href</a></iframe><p>Inside the ForEach we’ll iterate from 0 to all the icon names &amp; grab the value of the index that it’s at &amp; since it’s optional we’ll provide the value of our default app icon to fallback if nothing’s there.</p><p>For the image, we’ll again fetch the <em>iconName</em> of our current index, provide our Default AppIcon image as our fallback option &amp; if everything is nil then it’ll just show a blank image.</p><p>Now what happens if the user opens the picker but changes his/her mind and ends up clicking the default app icon? We don’t wanna do anything in that case since that app icon is already in use. That’s exactly what we are handling in the <em>onReceive</em> instance method, we’ll check if any alternate app icon name was picked, if not then we’ll just fallback on our default AppIcon. But, if an alternate icon was selected then we’ll change the Application Icon. (Refer the code shown above)</p><p><strong><em>Step 4</em></strong>:</p><p><strong>For UIKit App lifecycle:</strong></p><p>In SceneDelegate.swift, make sure to edit the root view so that ContentView has the environmentObject IconNames() &amp; what it does is that it initiates our ContentView with IconNames so when the ContentView builds, it’ll already be filled with information.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wcKglyK0ssPOMG8_PR_8OA.png" /><figcaption>SceneDelegate.swift</figcaption></figure><p><strong>For SwiftUI App lifecycle:</strong></p><p>Since their are no SceneDelegate and AppDelegate files, you can either pass IconNames() as an environmentObject inside <strong>“YourAppName&quot;</strong>App.swift file or inside the ContentView if you are performing this feature from another view (example: a separate SettingsView).</p><h4><strong>Result:</strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/183/1*enIdKUcj4lSmVYEjJzyj3w.gif" /></figure><p><strong>References</strong>: <a href="https://www.youtube.com/watch?v=ZRg7JDnYAQ8">Create Interchangeable App Icons</a> by Jared Davidson</p><p>Thanks for reading!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=11c7b5f2b2ed" width="1" height="1" alt=""><hr><p><a href="https://medium.com/geekculture/change-app-icons-in-swiftui-11c7b5f2b2ed">Change App Icons in SwiftUI</a> was originally published in <a href="https://medium.com/geekculture">Geek Culture</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[iPhone SE: Cheapest ticket to the Apple Ecosystem]]></title>
            <link>https://medium.com/macoclock/iphone-se-cheapest-ticket-to-the-apple-ecosystem-baeb553d5c7f?source=rss-80c604e6e0d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/baeb553d5c7f</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[iphone]]></category>
            <category><![CDATA[iphone-se]]></category>
            <category><![CDATA[iphone-se-review]]></category>
            <category><![CDATA[apple]]></category>
            <dc:creator><![CDATA[Prabaljit Walia]]></dc:creator>
            <pubDate>Thu, 18 Jun 2020 16:53:25 GMT</pubDate>
            <atom:updated>2020-06-21T06:20:03.220Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/917/1*LYpddg2QmU7ziJozPLS2aA.jpeg" /></figure><p>Apple introduced the successor to the iPhone SE 2016 last month, iPhone SE 2020(or the iPhone SE 2nd generation). I have used this phone for some time now and here is my review.</p><h3>Specifications</h3><ul><li><strong>Screen:</strong> 4.7in Retina HD (LCD) (326ppi)</li><li><strong>Processor:</strong> Apple A13 Bionic</li><li><strong>RAM:</strong> 3GB</li><li><strong>Storage:</strong> 64, 128 or 256GB</li><li><strong>Operating system:</strong> iOS13</li><li><strong>Camera:</strong> 12MP rear camera with OIS, 7MP front-facing camera</li><li><strong>Connectivity:</strong> esim, LTE, wifi 6, NFC, Bluetooth 5 and GPS</li><li><strong>Water resistance:</strong> IP67 (1metre up to 30 minutes)</li><li><strong>Dimensions:</strong> 138.4 x 67.3 x 7.3mm</li><li><strong>Weight:</strong> 148g</li></ul><h3><strong>Design</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*X_YHftmRD2bQq3CIgS2q7Q.jpeg" /></figure><p>iPhone 8’s design was left outdated within a few minutes when Apple presented the iPhone X . This was a dilemma created by Apple where you had to trade in the modern design to save money and get the best performance possible or pay a premium to get the premium smartphone. The story isn’t much different this time and you must be thinking that Apple must be crazy to repeat the same mistake even after 3 years where it should be considered a crime to launch a smartphone with those BIG,UGLY BEZELS. Well… i’ll get back to this later in the Verdict section of this review.</p><h3><strong>Performance:</strong></h3><p>This is my favourite part about this phone. The iPhone SE has the same A13 Bionic processor as the $1000 iPhone 11 Pro Max and performs similarly in day to day usage. Technically it has a 3 gigabyte RAM as compared to 4 gigs in iPhone 11 series but in iOS when you’re pushing way less pixels on a tiny 4.7 inch screen, 3 gigs is more than enough to create a situation where “The cheapest iPhone could compete with the most expensive Android phone out there”.(Note that on direct comparison you might feel the other iPhones in the lineup with bezel-less display are faster. But, that’s mainly due to the gesture based navigation.)</p><p>The only downside of the super fast performance is a below average battery life. This device could easily handle performance intensive heavy games like asphalt 9, call of duty etc without any lag or serious heating issues but, the amount of battery drain is unacceptable. I was skeptical of the battery performance from the day this device was announced but also had faith in the A13 chipset still results aren&#39;t groundbreaking exactly and we would see that in the battery section.</p><h3><strong>Battery:</strong></h3><p>The iPhone SE lasts 27 hours between charges, making it from 7am on day 1 until 10am on day 2. That’s one hour longer than the iPhone 8, but 7 hours short of the iPhone XR.This usage data didn’t include any heavy gaming or such stuff, just basic social media, browsing and some music using bluetooth headsets.</p><p>The included 5 watt charger is seriously slow, like seriously apple it’s 2020 but, no point in saying this for their “cheapest” product when the higher end iPhone 11 also has the same slow charging brick. So, you could live with that or buy the 12 watt or 18 watt Apple certified charger as I did which charges up to 60% at the rate of like 1% per minute.The phone has standard Qi wireless charging too.</p><p>To sum up, you won’t very happy with this battery life if your phone is the only entertainment centre for you but, if you are a pretty average user who uses the phone for general usage like watching videos, browsing and such light stuff then their is a chance that you’ll be pretty happy.</p><h3>Camera:</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8vijfk0nkYPf0mL6jAbwHA.jpeg" /></figure><p>The iPhone SE has a single 12-megapixel rear camera that is essentially identical to that used in the iPhone 8, but with the image processing power of A13 Bionic chip. The combination works like peas and carrots. The A13 chip gives this device all the latest portrait mode effects but, just like the XR this single camera is still restricted to portrait shots of only human subjects. So, no cute puppy portraits.</p><p>In favourable lighting conditions it’s hard to differentiate between photos shot on the iPhone SE and the iPhone 11 Pro — the superior one in this lineup. Images are great in detail with natural colours and great saturation. In artificial lighting, noise and grain are more prevalent and images can be dark as there is no Night mode.</p><p>Overall the only competition to this camera at this price point is Google Pixel 3a which still is behind the iPhone in terms of video recording.</p><p>The selfie camera is also good but not anywhere near to the iPhone 11 series because of the wider angle.</p><h3><strong>Final Thoughts:</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*haipuPYTljCabYmUvEiXZg.jpeg" /></figure><p>Apple has always been criticised for the value to price ratio of their products but this iPhone SE is the testament of how far Apple has come from the days of selling an iPhone 5c.Only a company as big as Apple could revive one of their old product and still make it one of the most hyped smartphones of the year. The biggest advantage with this device would be sustainability which is usually not expected at a price point of $399, this phone would be getting software updates for at least 5 years which is a big deal because of the price user would be paying.</p><p>It only comes down to the 4.7 inch display with the bezels. I can’t classify the small form factor of this phone as a downside as this would be variable from user to user. The one thing I could confirm is that it is a completely functional and colour accurate LCD screen with our trusty friend Touch ID in the front.</p><p>So, if you are a person who wants small phone or wants to save some money then, you could buy this right away.</p><p>If you are a person who wanted to buy an iPhone 11 then you should still buy an iPhone 11, don&#39;t make me trick you into believing that iPhone SE is better than 11.</p><p>Now my suggestion for all of you would be to wait for the iPhone 12 series if you can. Trust me, this year’s iPhone lineup would have some major changes like high refresh rate display, smaller notch, 5G etc etc.</p><p>But if you are a person who doesn&#39;t want to spend more than $500 on your phone then, just go with the iPhone SE. You won’t regret it.Period.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=baeb553d5c7f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/macoclock/iphone-se-cheapest-ticket-to-the-apple-ecosystem-baeb553d5c7f">iPhone SE: Cheapest ticket to the Apple Ecosystem</a> was originally published in <a href="https://medium.com/macoclock">Mac O’Clock</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>