Methods and tools to improve iOS development efficiency

Methods and tools to improve iOS development efficiency

introduce

This article mainly introduces some methods and tools I use in iOS development to improve development efficiency.

IDE

The first thing to talk about is definitely IDE. Speaking of IDE, Xcode cannot run. Of course, you may also be using other IDEs such as AppCode at the same time. Here I will mainly introduce how to improve development efficiency in Xcode.

1. Make good use of shortcut keys

Shortcut keys are indispensable in development. When you are good at using shortcut keys, your ten fingers flying on the keyboard is so beautiful that I can’t even imagine it [[141139]] .

  • Common shortcut key operations

2. Common code snippets

There are some commonly used codes in development, which can be put into code snippets, and then you can use shortcut methods to use these codes next time. Here are some code snippets in my Xcode:

[[141140]]

  • Lazy Tips

3. Xcode plugin

I think plugins are essential for Xcode.

  • Xcode plugins that you can't miss

In addition, the plugins I often use include:

1. Quickly Add #import

2. Check the project's 'TODO', 'FIXME', etc.

I highly recommend it to everyone.

You may be thinking, what if there is no plugin I need? Young man, it is time to do it yourself. I think you can take a look at this Xcode6 plugin development introduction.

4. Annotations

There is no need to explain the role of comments, and now all companies require that codes must have comments.

I have been using VVDocumenter-Xcode, an open source software developed by onevcat.

But later I thought that this kind of comment would have such a problem: one comment has three more lines

  1. /**
  2. * Top announcement btn
  3. */  
  4. @property (nonatomic, strong) UIButton *topAnnouncementBtn;

The interface will be simple and clear using this method, but as for the attributes, I always feel that there are too many things in the .h file (in fact, there are not many attributes 😱😱😱)

Later it was changed to this:

  1. /**Top announcement btn */  
  2. @property (nonatomic, strong) UIButton *topAnnouncementBtn;

There is still one more line, and then it is changed to this:

  1. @property (nonatomic, strong) UIButton *topAnnouncementBtn; // Top announcement btn  

But in this way, when you use this property, there will be no comment prompt. If there is no comment prompt, just skip it. When you encounter an unknown property, jump to the .h file and take a look. ("Bah, how could you compromise so easily!!!", I should have cursed myself in my heart at that time 😭😭😭)

Then one day I saw Fangzai Xiaojiaoyin's blog How I Clean Up My Code on Weibo, where she introduced how she annotated properties like this:

  1. UIButton *btnSend; /**< Send button */  

[[141141]]

I tried it and it was very convenient. I have been using this method to annotate attributes since then, and I would like to share it with you here.

Thanks to Fangzai's Little Footprints for sharing 😘

Network data related

1. Debug interface

Young man, are you still writing method debugging interfaces? If so, you definitely need the following two:

[[141136]]

DHC online debugging interface, supports HTTP and HTTPS.

[[141137]]

Postman is a powerful Chrome plug-in for web debugging and sending web HTTP requests. (Thanks to Ye Gucheng___ for the reminder😘)

#p#

2. JSON data editing

Without further ado, here are the pictures:

[[141142]]

  • JSON Editor Online

[[141143]]

  • JSON formatting tool (Thanks to iOS programmer 犭袁 for providing 😘)

UI related

1. Distance

No! It's 20px! 1px, 2px, 5px, 10px difference, it doesn't count as 20px! 😂

When I meet a designer with pixel eyes, I always feel like crying. But sometimes they may forget to mark X, Y, or width and height. Below is a picture given by our UI . It is not appropriate to use the picture below as an example, but the general meaning is that they may forget to mark 😰

[[141144]]

Damn it, where are X and Y? 😡

Then I did this at first

[[141145]]

😂But there will always be a little error, and it is tiring for the eyes... Later, I happened to hear a product friend say that they were using Marker, which has two versions: free and paid. The free version can use basic functions and feels pretty good.

Today, onevcat posted a measurement tool on Weibo: Pixel Winch. I tried it and it works better than Marker.

#p#

2. Image compression

Our UI doesn’t pay much attention to the size of the image. Damn, once the image I was given was more than 4M, so I had to compress it myself 😭

  • Tinypng, quality compression, I think it's pretty good, I recommended it to our UI and backend, they all said it's good after using it👍

  • It is better to use the tinypng batch compression image script together😃. (Thanks to newbee_nAn for providing😘)

3.AppIcon

AppIcon only needs the UI to provide a 1024*1024 image. The specific icon can be generated using Prepo

[[141138]]

Dual Offices

Suppose this is the case: the company uses SVN, there is a company computer at work, and there is a personal computer at home. Sometimes you may want to continue typing code after you come back. What should you do?

Let’s assume another situation: the company uses SVN, and the product wants to achieve a certain effect, but you are not sure whether you can write it, so you may be confused about whether to make changes to the company project. What should you do?

If you have the above two troubles, then Github and Bitbucket are your first choice. Here is a comparison article on which one to choose: GitHub vs. Bitbucket is not just different in function.

Github

There are too many good open source projects on Github. Starring them one by one is too slow. What should I do?

language:Objective-C stars:>900

[[141146]]

This is actually Github's Advanced search function:

[[141147]]

[[141148]]

My friends, remember, getting a star does not mean you have mastered it. Only when you truly understand it in depth can it be yours.

<<:  Android-x86 4.4-r3 released, supports Baytrail platform

>>:  Xiaomi Vice President: It is nonsense to say Xiaomi copied Apple

Recommend

How much does it cost to customize a catering mini program in Qitaihe?

There are two types of customization of Qitaihe c...

This is what an App Store chart manipulation studio looks like

You may have heard about App ranking manipulation...

Two major ideas for attracting new users

Any product or project faces the problem of new u...

What is brand community identity?

In this era of material prosperity, the dazzling ...

Peak has passed, consumer expectations for wearable devices plummet

[[146121]] Interest in the Apple Watch and other ...

2019 APP promotion experience sharing!

As the Matthew effect in the industry deepens, it...

How to grow users from 100 to 100,000!

This article is divided into two parts. The first...

Traffic War: How do I operate e-commerce on JD.com (Part 1)

Beijing has been sunny in recent days, and people...

Perhaps this is the "ultimate secret" of user operation

Among all operations , user operation is the most...

Guan Lixin's lecture video on "New Profit Model"

Course catalog: ├──001. 【Internet Innovation】Let t...