Last week I have a problem while making a pod for my SDK team. I ever made my own pod long time ago and it was very easy in the process. But this one was a different story. I need to make support of Cocoapod and Carthage and SPM for the project that is built within private repo but we want to distribute it globally. So what is the option? Pod and Carthage and SPM offer capabilities to share the project repo to being used widely by many people and they can easily integrate or even contribute to it.
Wonder how to make automation for triggering the build and unit test in git with Jenkins? So this one could be the easiest tutorial you can follow. First let open our Jenkins web page, login, and create a new Free project. Once you create it, go to configure tab and you will go to this page below Fill up the textbox above on the description and tick the GitHub project row and fill in the project URL.
SwiftUI is a really powerful language since it was born in 2019. In 2020 (WWDC) Apple did announce a lot of improvement on SwiftUI. However, there is rarely a topic discussed good practices on how to do we able to implement protocol-oriented programming in SwiftUI. There are a lot of articles out there however I guarantee to cover that in 5 minutes of your time. This article is suitable for those who are just starting to learn about iOS Programming !
One of the most interesting topics in WWDC 2020 was about WidgetKit. Yeah, this small icon on the home screen of our phone will represent some of the contents within the app itself!. Recently, I try to implement WidgetKit into my own project. Let’s talk about some key points of WidgetKit itself before we go ahead. There are 4 key points what makes your WidgetKit great : Glanceable: a great widget displays the right amount of content
Here is the list of features that Apple introduced on their WWDC 2020 Event keynote: iOS 14 App Library: A new space for organizing all of your apps into a grouped library and easy to navigate Widgets: Freely search widget and choose widget and put it in the Smart Stack into the home screen. The smart stack can do it for us automatically, you can see the news in the morning, meeting on noon and activities on the evening Picture in picture: You can open a video, audio, or other media while you are on another application.
One day after we have successfully grown our app bigger, we face multiple problems. One problem we found out that our code is super messy and confusing!. Another, why the hell it took a very long time for compiling!. So what is the solution that comes up to our mind? As a beginner, we will think that Class separation would be enough for solving the messy code since we know that it is easier to build, less time consuming, and easier to code.
Now time for the next step after the previous part of my articles. After we know some basic knowledge of swift scripting lets moves to the next one! Now we will talk about ArgumentParser. It is a new library that provides multiple commands and parses the arguments in the command line. Let us first set up the dependencies and the product name on our Package.swift and run swift build to make sure we fetch the latest dependencies in the project.
Have you ever used fastlane? swiftlint? xcodegen?. Yeah as an iOS developer we must be familiar with all of those tools for doing automation stuff. How about we need something that no one provides for us? Well, we can make one of those scripts by using Swift!. First of all, if you haven’t watched a wonderful UIKonf conference featuring Federico Zanetello, you need to put it on your watchlist !. In this article, I would like to explain how does swift scripting is working also by demonstrating the usage of it.
Have you ever have a problem when designing a system that has a similar foundation and capabilities however the ingredients to form the object would vary? We may end up with an easy solution by providing different parameters for each subclass. However, multiple subclasses that need to override the constructor might also have to own those unnecessary properties into its interface. There is one design pattern that also considered as Creational Design Pattern which Android Design pattern by default having this pattern.
Wonder how to make your application can share any picture or file or text even URL into our own application? Well everyone knows we can use App Extension and create our extension for doing it. But imagine if we have multiple clients and need to use a specific token for each client, or we do have many configurations for the UI that can be displayed differently according to the clients, how we can achieve that?