Posts

Showing posts with the label iOS Frameworks

Resume App with SwiftUI

Introduction: If you’re looking for an introduction to SwiftUI, this serves as a good starting point. This is about my experience learning/building the first SwiftUI app, that was built while learning the SwiftUI’s layout system. I tried to build out an iPad app(Since iPhone doesn’t fit well for this app) that’d display Resume based upon the content provided to it in the intended format.  Here’s the Github repo of the open-sourced iPad app for the complete details. The entire app’s/resume’s template is based upon this resume template with just a few tweaks added to it. So, now we have the UI for the app ready that we intend to develop with SwiftUI. On top of it, I planned to have a couple of additions with respect to the requirements of the app: Theming: The entire app should be easily ‘Themable’ aka easy to configure/apply themes Icons: The app shouldn’t use any of the images and should use only the fonts so that it easily adapts to our ‘Themabl...

SwiftUI - The UIKit's Successor

Introduction Let’s start with Apple’s Own Definition : “SwiftUI is an innovative, exceptionally simple way to build user interfaces across all Apple platforms with the power of Swift. Build user interfaces for any Apple device using just one set of tools and APIs. With a declarative Swift syntax that’s easy to read and natural to write, SwiftUI works seamlessly with new Xcode design tools to keep your code and design perfectly in sync. Automatic support for Dynamic Type, Dark Mode, localization, and accessibility means your first line of SwiftUI code is already the most powerful UI code you’ve ever written.” Although it is NOT a replacement for UIKit/AppKit, take it or not, UIKit/AppKit is about to die slowly just like Objective-C and SwiftUI is going to replace UIKit/Appkit in the iOS/macOS platforms.  On SwiftUI Views: “SwiftUI Views are functions of state and not a sequence of events like UIKit”, meaning the views are created based upon your data/model and ...

iOS: Playing with Static Libs, Fat Frameworks, Static/Dynamic Frameworks with Swift & Objective-C classes mixed up

Recently, I got to know few facts on how exactly Static Library(SL), Fat Frameworks(FF), Static/Dynamic Frameworks(SDF) actually works while I was working on a legacy code base which had a ton of all of the above stuff working altogether. This article is to log the few notes on the struggles we faced with having all these above things mixed up altogether with both Swift & Objective-C mixed up. Static Library(SL): Static Libraries was the initial(Way too Older now) way of code distribution where any project integrating the library would include .a file(Which contains the implementation classes) and all the header '.h' files separately along with the .a file in order for them to work in conjunction. Fat Frameworks(FF): Fat Frameworks are nothing but just the Static Library compressed as a framework, which was a means of distributing the code before Xcode6 when Apple introduced Static/Dynamic Frameworks(SDF). Static/Dynamic Frameworks(SDF): In Frameworks world,...

Story of "SARAddressBookBackup" library, that helps to backup contacts in iOS Devices

  SARAddressBookBackup : This is an iOS library to Backup the Contacts in iOS Devices as .vcf file. Also, the Example project in Github illustrates on how to email the .vcf file. The .vcf file can also be accessed/shared through iTunes File Sharing. Story Behind its Birth : Searched the App Store for Apps that could backup all my contacts in my iPhone5. I would usually go mostly with free apps (Kind of a Freebie). When trying to backup my contacts, most of the apps asked me to purchase to backup contacts more than 500 or 1000 or whatever, completely depends on the app developer's decision and i have to abide their rules. I have more than 1000 contacts in my iPhone Contacts App. Finally, i found an app that backed up all my contacts, and it even allowed me to send the output file to my email, but that was not reliable (The app crashed several times). [Note : I didn't mention the App name here :) ] Just thought of how hard it is to develop an app that ...

Scratching the surface of NSURLSession

NSURLSession is the replacement of NURLConnection, which resolves the issues occurring with the latter. Session objects are created with the class methods which takes the configuration object. There are 3 types of possible sessions: Default Ephemeral, in-process session Background session NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration]; The above configuration object has properties which controls the way it behaves, for instance, whether the cookies are allowed, timeouts etc. And also few more properties like : * allowsCellularAccess : Could be set to say the operating system whether the device is permitted to run the networking session when the cellular network is available. * discretionary : Could be set to say the operating system to run the networking session when the device is connected to Wifi or has good power. After creating the session configuration object, we can create the session object...

Introduction to iOS For Very Beginners

Introduction to iOS Here's the presentation for the following people :       * For those who own an iPhone/iPad/iPod-Touch and want to have a knowledge about the iOS Eco-System.      * For those who don't have even have a little exposure to iOS.      * For those who want to land onto the iOS Ecosystem and start off.

iOS7 Updates High Level Summary

iOS7 Changes : # Features : * Flat Translucent UI * Airdrop * Control Centre * Notification view changes * Siri Enhancement  * Automatic Updates * Real Multitasking(Copied from HP's WebOS) * Photos app collection view * Inter-App Audio # New frameworks : * Game Controller * Sprite Kit * Multi-peer Connectivity(iBeacons) * Javascript Core * Safari Services # Foundation Framework Changes: * [NSArray firstObject] * NSData - base64 Encoding * NSProgress Class (New class to handles event progress) # Enhanced Frameworks /API's : * UIKitDynamics * Multitasking * Games * Maps * AVFoundation(Videos Zooming added) # Objective C Features :  * Modules. * New return type – "instancetype" (As oppose to "id" datatype).  These are all the changes that i have seen so far.  Will update here i...

My Very First iOS Unarchiving Library "SARUnArchiveANY"

My Very First iOS UnArchiving Library " SARUnArchiveANY " has been posted in GitHub and published on " maniacdev.com " Hoping that it might be useful to many iOS buddies. Here's the story behind this library : I was working on a project, in which i needed to handle a different set of files that comes from several sources for Offline Access. So, files from each source were of different kind/type/format. For example, one was in .zip, another one with .rar and other in .7z and some .tar, .tar.gz formats too, but however we managed to get all the files from all the sources in 3 formats at the most - zip, rar, 7z, which are all the top most popular formats for file archiving. Coming to iOS part : I was the only one guy handling the complete iOS App/Project. I found that there is no framework or library to UnArchive files in iOS. But, there were few great libraries for each format separately and integrating all those took many of my days. I fo...