TypeScript New Version, Android 13 AOSP 📳, TestFlight Tutorial 📚

0
36
7 min read

What’s happening in tech?

The week from Android, Apple, and Microsoft rolled out these announcements and updates:

Android

  • Android 13 is now on AOSP! – Today the Android 13 source is pushed to the Android Open Source Project (AOSP) and the newest version of Android is officially released. For developers, Android 13 is focused on our core themes of privacy and security as well as developer productivity, making it easier for you to build great experiences for users. Android is even better now for OS for tablets and large screens, giving you better tools to take advantage of the 270+ million of these devices in use across the world.

Apple

Microsoft 


  • Announcing TypeScript 4.8 RC – Release Candidate (RC) of TypeScript 4.8 is now available. Between now and the stable release of TypeScript 4.8, no further changes apart from critical bug fixes are expected. To get started using the RC, you can get it through NuGet, or use npm with the following command: npm install -D [email protected]
     
  • Git Line-staging Released! – The company announced the release of Line-staging support in Visual Studio 2022. Line-staging, a.k.a. interactive staging, enables you to split your changed lines of code across different commits. Mark your changed lines or sections of code as reviewed by staging them and commit your staged changes when you are done.
     
  • What’s New in Visual Studio 2022 17.4 Preview 1 – Microsoft released Visual Studio 2022 17.4 Preview 1 last week alongside the 17.3 generally available release. In this blog, you will get details about some of the new capabilities in this preview and the focus of this release.

Weekly Picks

We’ve picked out some interesting articles from the tech world for you:
  • Tips for Faster React App – in this blog, Isaque Igor outline the a list of tips and techniques you can implement in your React Application for better performance. These tips target – virtualization, lazy loading components, dependency optimization, component renders, local state and fragments.
     
  • How to Build a Banking App – Building a banking app nowadays is a must for any company to compete and grow because their business users need to stay connected while on the go without any problems, especially in terms of their fund management. In this article you will find important banking app features, development challenges, development process and tech requirements.
     
  • HTML Parsing in Flutter for Android / iOS Development – In this tutorial, Pankaj Das explains the various steps to take for HTML parsing in flutter. Parsing analyses the String of the symbols in computer or natural languages. Particularly, HTML parsing, it takes the HTML code and extracts the relevant information, such as the page’s title, headings, paragraphs, links, bold text, and much more.
     
  • A Simplistic Review of the Lifecycle of Flutter Widgets – In this article, you will look at the different lifecycles in a flutter widget with in-depth explanation. You can also try to use these methods in building your applications and in your flutter project, when working with widget lifecycles.
     
  • How to manage your Flutter monorepos – Monorepos are extremely helpful when working with larger codebases. But they also come with additional management costs. In this article, you will go through the process of managing a monorepo with a tool like Melos and set up our repository for CI/CD with Codemagic.

Tutorial of the Week

Using TestFlight to publish a beta version of your iOS app

TestFlight is a tool developed by Apple that allows you to share your app with other users by inviting them with an email or creating a link. In this recipe, you will see how to create, sign, and publish an iOS app leveraging fastlane and TestFlight.

Getting ready

Before following along with this recipe, you should have completed all the previous recipes in this chapter that target iOS. 

How to do it…

Using the following set of steps, you will build and sign your iOS app and publish it to TestFlight:  

  1. From Xcode, open the Runner.xcodeproj file.
  2. Click on the Signing tab and select or add your development team (this is the team associated with your Apple developer account).
  3. Sign in to your Apple ID account page at https://appleid.apple.com/account/manage.
  4. In the Security section, click the Generate Password link under the APP-SPECIFIC PASSWORDS label.
  5. Choose a name for your new password and copy it somewhere secure; you will need it later.
  6. From Visual Studio Code, open Info.plist in the ios directory and add the following key before the end of the </dict> node:
<key>ITSAppUsesNonExemptEncryption</key>
 <false/>
  1. In the ios/fastlane directory, open the fastfile file and add a new beta lane, as shown:
lane :beta do
  get_certificates
  get_provisioning_profile
  increment_build_number()
  build_app(workspace: "Runner.xcworkspace", scheme: "Runner")
  upload_to_testflight
end
  1. From a Terminal window, run the following command:
bundle exec fastlane beta
  1. When prompted, insert the app-specific password you generated previously.

Uploading your app to TestFlight might take a long time, depending on your machine and the speed of your network. Do not interrupt this task until it’s completed.

  1. After a few minutes, make sure you see a success message. This means your app has been published to TestFlight.

How it works…

With a script that takes just a few lines, you can literally save yourself and your team hours of work.

The first step in this recipe was adding the development team to your Xcode project. This is needed because signing the app requires a development team.

Then you generated an app-specific password. This is a password that you can use with your Apple ID and allows you to sign in to your account from any app. So, instead of using your main password, you can give access to other apps (in this case fastlane). In this way, when a security breach happens, you only need to remove the password that was compromised and everything else will keep working securely.

Each iOS app contains an Info.plist file, where you keep configuration data. There you put the following node:

<key>ITSAppUsesNonExemptEncryption</key>
 <false/>

The purpose of this node is to tell TestFlight that you are not using any special encryption tool within the app; some encryption tools cannot be exported in all countries, which is why adding this key is recommended for most apps.

The first instruction in the beta lane that you have created, get_certificates, checks whether there are signing certificates already installed on your machine, and if necessary it will create, download, and import the certificate.

get_provisioning_profile creates a provisioning profile and saves it in the current folder. You can achieve the same result through the fastlane sign Terminal instruction.

increment_build_number() automatically increments by 1 the current build number for your app. 

You use the build_app() instruction to automatically build and sign your app, and upload_to_testflight uploads your generated file to the App Store Connect TestFlight section, which you can use to invite users for beta testing.

To install your app and provide feedback, testers will use the TestFlight app for iPhone, iPad, iPod touch, Apple Watch, and Apple TV.

Now each time you want to publish a new beta to TestFlight, you can just run the bundle exec fastlane beta command in your Terminal window, and fastlane will just do everything else. This can save you hours of work each time you need to update an app for beta testing.

This how-to was curated from the book Flutter Cookbook.

👇 Hit the button to take a deeper dive into the world of Flutter! 👇

Read the Book