Author Archives: Tang

About Tang

A mobile developer, work in Stockholm, Sweden

gitsubree usage

Basic commands about subtree git subtree add –prefix=<prefix> <commit> git subtree add –prefix=<prefix> <repository> <ref> git subtree pull –prefix=<prefix> <repository> <ref> git subtree push –prefix=<prefix> <repository> <ref> git subtree merge –prefix=<prefix> <commit> git subtree split –prefix=<prefix> [OPTIONS] [<commit>] 1. Add … Continue reading

Posted in git | Tagged | Leave a comment

CommentPlus for Swift Func

Usage reference: https://zhihuitang.github.io/2019/01/13/CommentPlus-for-Swift-Func.html Download the Xcode extension from here Unzip and double click the extension CommentPlus.app to install the extension In Xcode, put the cursor on the upper line of func, then select Xcode menu bar: Editor -> CommentGenerator -> … Continue reading

Posted in iOS, Mac | Tagged | Leave a comment

Charles Proxy in Android

1. SSL Proxy/Charles + Android trouble https://stackoverflow.com/questions/17823434/ssl-proxy-charles-and-android-trouble/31945622#31945622 2. Enable SSL Proxy for Nougat+ Update your AndroidManifest.xml application section with networkSecurityConfig.xml <application android:name=”AppName” android:icon=”@mipmap/ic_launcher” android:label=”@string/app_name” android:networkSecurityConfig=”@xml/network_security_config”> Add network_security_config.xml file to your xml resource folder app/src/main/res/xml/network_security_config.xml <?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config> <trust-anchors> … Continue reading

Posted in Android | Tagged | 2 Comments

Intermediate iOS Debugging

1. Stop when exception 1.1 Open Breakpoint navigator (Cmd + 8) 1.2 Add Exception Breakpoint  1.3 Keep default values  1.4 Move breakpoint to User level  2. Edit breakpoint Edit Breakpoint  Add Debugger Command:  We will … Continue reading

Posted in iOS, Mobile | Tagged | Leave a comment

Auto Layout

let view = UIView() view.translatesAutoresizingMaskIntoConstraints = false Interface Builder will automatically set its value to false if the view has constraints defined. But for the views created in code, it defaults to true. UIView has a property called auto resizing … Continue reading

Posted in iOS | Tagged | Leave a comment

Key-Value Observing

Key-value observing is a mechanism that allows objects to be notified of changes to specified properties of other objects. You can use key-value observing with a Swift class, as long as the class inherits from the NSObject class. You can … Continue reading

Posted in iOS, Mobile | Tagged | 1 Comment

How to upload an App with universal framework to AppStore?

Cocoapods is a popular dependencies management tool for iOS development. We notice that in Cocoapods-v1.3, the framework MUST include simulator (x86_64, i386) architectures, otherwise the pod spec lint will fail and the pod cannot be uploaded to Cocoapods server. It … Continue reading

Posted in iOS, Mobile | Tagged | 2 Comments

Cocoapod tips

check installed cocoapod plugin gem list –local | grep cocoapods create pod pod spec create POD_NAME https://eladnava.com/publish-a-universal-binary-ios-framework-in-swift-using-cocoapods/ Register an account by running the following, entering your full name and e-mail address: pod trunk register you@email.com 'Full Name' create pod demo … Continue reading

Posted in iOS, Mobile | Tagged | Leave a comment

Hide implementation of swift framework when distributing

In this article, I will demonstrate how to create a Swift NiceLogger framework and push to Cocoapods without sharing source code. You can download the final project from NiceLogger 1. Create a Swift framework 1.1 Create a new framework project … Continue reading

Posted in iOS, Mobile | Tagged , | 7 Comments

CoreLocation in iOS

CoreLocation in iOS11  

Posted in iOS | Tagged | Leave a comment