Understand the basics of Xcode . You will become more efficient in programming, just by knowing how your environment works. That's why I would like to dedicate some time around the new 9. This is a perfect tutorial if you are a beginner in Development. Let's start… 🚀 Part of being a great software developer is mastering your IDE Xcode iOS Left Sidebar On the top left sidebar, we can see many tabs available. This is probably the most used area as it contains many key features that Xcode offers called . I would start explaining them one by one (from left to right). navigators - your file manager. Whatever you need to do with your files it's done here. This navigator enables you to add, remove, edit or group files. Always keep this tab in focus. Project Navigator ( ) ⌘ + 1 A super-useful navigator meant for source control. It has an integrated support for GitHub accounts, which enables you to manage your repositories directly from your sidebar, and push changes to the cloud without having to use other tools. This is only available from Xcode 9. Source Control Navigator ( ) - ⌘ + 2 This navigator will enable you to quickly jump to a specific method or a property definition**.** Instead of going through your files to find the method you are looking for, just click on the file you need and then click the desired method or property definition. Useful for files that contain lots of lines of code. You can display the symbols in a hierarchical or flat list. Symbol Navigator ( ) - ⌘ + 3 Something that I use quite often. This makes a global search for the given text and returns results that are matching. You can also include various filters in the search. Find Navigator ( ) - ⌘ + 4 It's a place that keeps all the errors and warnings that appeared as a result of your coding. Errors are shown with a red color, while warnings are yellow. It will provide you with a detailed log of what is going on. You can display Buildtime or Runtime issues. Issue Navigator ( ) - ⌘ + 5 Is used for running the written test cases. This navigator is a shortcut for your . Test Navigator ( ) - ⌘ + 6 XCTest's **Debug Navigator (**⌘ + 7) - Whenever the app crashes, this tab gets automatically opened. It will provide you with exact lines where the app has stopped and provide you with a reason in the console. Also, you can find useful information about your app's Memory, CPU, Disk and Network consumption. Another tab that I use a lot for debugging**.** From here, you can easily set breakpoints and monitor their activities. I really love how clean this feature is. Breakpoint Navigator ( ) - ⌘ + 8 Control your continuous integration from here. You should create a bot, and it will provide you access to a detailed information about your bots and the integrations performed on the server. Report Navigator ( ) - ⌘ + 9 _Many iOS apps use Google Maps. This is a very common feature, so I have decided to prepare an ultimate guide on Google…_theappspace.com Google Maps SDK for iOS using Swift 4 - The App Space Right Sidebar Moving on the other side of Xcode. On the right side, you can see another sidebar with various tabs. But, unlike the left sidebar, this one contains a different set of tabs (depending on your location). On this side, the tabs are called . inspectors Swift/Objective-C File If you click on a Swift/Objective-C file you will see the following tabs. You will use these tabs to less than 10% of your projects, but let's cover them. this inspector provides basic details and settings about the selected file. It's divided into three main sections. File Inspector - - provides you with an information where the file is located in the directory and gives you a possibility to open it in Finder. Also, you can set the location of the file whether it should be an absolute or relative path. Identity and Type - if your file doesn't get recognized in the project, the first place you should search is here. This tells the project that the file belongs to its target. Make sure your target is always checked, otherwise the file won't be found. Target Membership Personally, I have never used this part. You can set up indentation and other text settings from here. These settings are only for the selected file. Text Settings - 2. - provides you with a documentation for a selected class. For example, find a class inside your file, and move the cursor to that word. A quick explanation about the class will appear. Quick Help Inspector String Storyboard File If you click on a .storyboard file, in the right corner you will see a new set of tabs. this inspector contains the same details that I have explained above, just with a few new sections. File Inspector — enables the Auto Layout, Trait Variations, and Safe Area. Also, you can set the Global Tint color for the whole storyboard and decide if you want to use the selected UIViewController as a Launch Screen. Interface Builder Document - shows all your localization files. You can enable/disable languages that you want to appear in the storyboard. Localization - 2. same info as above. Quick Help Inspector - 3. controls the identity of the UIViewController. By identity we understand, assigning a custom class, providing a storyboard ID so you can access the view controller via code, and where you can add various styling properties, instead of adding them via code (example: ). Identity Inspector - User Defined Runtime Attributes layer.cornerRadius 4. this inspector is used for adjusting the properties of the selected object. Each object contains its own set of properties. For example, the contains settings like adjusting text, text color, font, background color etc. You can also add your own properties, by using . Attributes Inspector - UILabel @IBInspectable 5. I think the name explains it all. Anything related to the sizing of the object can be found here. Despite the x, y, width and height values you can find the Auto Layout constraints, or Autoresizing if you aren't using Auto Layout. Size Inspector - 6. used for communication between the code and the view controller using and assigning actions via . Connections Inspector - @IBOutlet @IBAction I will go through the .xcassets file which can be found in any project. It's used for storing your assets. Two of the three tabs are already familiar to you from the previous points above. - from here, you can adjust the properties for the selected asset. Most common properties are image compression, rendering type, device support, scale (vector or individual) etc. Attributes Inspector Header Next on the list is the header. We are going a little bit above the left and right sidebar, at the very top of Xcode. **Left Side**You can find actions like run and stop your project from building, managing your target's schemes, or picking and downloading a new simulator. **Right Side**A place where you can apply different options to the editor. I would start explaining them from left to right. this control represents the default view of the editor. Standard Editor - By using the assistant editor, your coding area will split into two parts. The left side represents your file, and the right side represents only your method definitions. What it does is, it ignores the code written inside your methods, and just shows you the method definitions. Useful if your class contains lots of code. Assistant Editor - Splits your coding area and adds a replica of your class which tells you what you have changed from the last commit. This is used for version control, providing you with a comparison of what was changed. Version Editor - The next three icons that are located in the top right corner, represent the showing and hiding of the sidebars and the debug area. It is used if you lack space on your screen (i.e. working on a MacBook Pro 13" screen) and want to give more focus on the coding area. 🤓 Project Settings We have finished exploring the coding area. Now let's proceed with something more complex. Something that doesn't involves code. We will go through the project settings. I am sure you have seen this screen before, so I will start explaining the tabs directly.👇 . I will explain only the most used ones General the name explains it all. Here, you can find settings that are general for the specific target. General - controls the app name, bundle identifier, version number and build. number, Identity - a section that handles the provisioning profiles. Basically, it signs the app for sending versions of the app for testing or production. Signing - from here, you can add minimal iOS version support, decide if the app is going to be Universal or only iPhone or only IPad, and add the default Storyboard file. Deployment Info - assign app icon and splash screen assets. App Icons and Launch Images - contains switches with various services that you can use. By default, all the services are OFF and you need to activate what you need, by going to your . So if you want to use Push Notifications, Background Services or , make sure that the switch is set to ON. Capabilities - App ID In-App Purchases Capabilities 3. you can assign tags to resources, and they will all end up here. I have never used this feature, but if you want to find out more about it, you can check . Resource Tags - here 4. this tab shows the properties from your active file. From here, you can add/edit/remove the property information. Info - .plist 5. the official Apple documentation explains this part well… "This tab contains many settings that are related to the build process. From assigning provisioning profiles to adding directory paths for 3rd party libraries. Each target has its own Build Settings. Build Settings - "A build setting is a variable that contains information about how a particular aspect of a product’s build process should be performed. For example, the information in a build setting can specify which options Xcode passes to the compiler. Build Settings 6. provides you a list of all your files that will be included in the compile. All your frameworks, assets, .swift files, storyboards will be shown here, with an option to add or remove. Also, there is a Run Script feature where you can add your own shell script. Build Phases - 7. Xcode gives you a possibility to write your own rules. If you got decent scripting skills you can write almost anything. For example, converting .css files into .c, or add formatting rules to the text inside the .rtf file. Build Rules - I hope that you enjoyed this tutorial and that it helped you understand more about the basic functionalities in Xcode. If you found this tutorial helpful, please 👏 or share this story so others can find it. 🙇 Check out my latest project: _This app is only available on the App Store for iOS devices. Increase your profits by following our professional BET…_apple.co VIP Sports Bet Tips & Scores on the App Store Read more of my writing on Medium: _Forget MVC, now!_hackernoon.com Introducing Clean Swift Architecture (VIP) _Many iOS apps use Google Maps. This is a very common feature, so I have decided to prepare an ultimate guide on the…_medium.freecodecamp.org Your ultimate guide to the Google Maps SDK on iOS, using Swift 4 _Custom UIView with XIB file is a very common practice in iOS Development. Custom UIView classes don’t contain XIB files…_medium.com SWIFT — Custom UIView with XIB file _A Swift tutorial that will make your app available in Spotlight search_hackernoon.com How to add Spotlight support to your iOS app _Understanding One-to-One and One-To-Many relationships_hackernoon.com Core Data Relationships _All you need to know about Auto Layout_hackernoon.com Understanding Auto Layout in Xcode 9 Subscribe to my Newsletter: