AppCode offers a wide variety of code refactorings, which track down and correct the affected code references automatically. Some of them are widely known and often used, others are just missed. Move refactoring is present in AppCode since 2.1 version, but have you ever used it? Let’s take a closer look at it.
Generally speaking there’s nothing special about Move refactoring, but in complex projects with a large code base it really saves your time when, for example, you move a method to a new place that turns out to be a lot harder than you thought it would be. The Move refactoring allows you to move classes, protocols, methods, functions within a project – AppCode automatically corrects all references to the moved symbols in the source code. Continue reading →
Join us Tuesday, September 2nd, 10:00 AM – 11:00 AM CEST (8:00 AM – 9:00 AM GMT) for a free webinar, BDDing your Objective-C Apps with Paweł Dudek and Łukasz Warchoł.
BDD is a great way to improve quality of your app and its code base. It is also a great way to improve your workflow and the way you create code. At the same time it is not easy to start BDDing your apps. If fact it is not easy to start writing tests at all.
With AppCode writing tests becomes easier. But when it comes to BDD it feels as if AppCode was designed from ground up to support it. This webinar will show how you can leverage AppCode to really empower BDD workflow. You will learn how code completion and code generation, as well as other, more advances, features of AppCode, can be used to greatly reduce time spent on typing and increase time spent on designing the architecture of your app.
Paweł Dudek is Senior Software Engineer at Taptera, where he builds beautiful iOS apps for enterprise. TDD believer and practitioner. Beer and coffee lover. And bass guitars during free time.
Łukasz Warchoł is iOS Software Engineer at Berlin based startup, Up-next. He believes that clean and well tested code are essential while working in a team. While not coding he is probably snowboarding or kitesurfing.
This guest blog post is from Julian Król, iOS developer at Trifork.
He has been developing iOS apps for more than two years and continues to find it very exciting. In his free time he enjoys travelling and training martial arts. You can find him on LinkedIn.
In this blog post I would like to mention a few features (from the very long list) that makes AppCode very valuable IDE for an iOS developer. Some of those features are in the AppCode for quite a long time but someone may missed them or be unaware of them. The functionalities I’m describing below are not the most popular and famous features of AppCode of them all but I want to highlight the things that can be unknown/forgotten and in my opinion are very valuable, making AppCode special IDE. As a word of an introduction and just mentioning for AppCode opponents, with this IDE you can create and modify xib and storyboards files! Describing features below I’m mentioning keyboard shortcuts, I’m referring to the Default AppCode key mapping (if you choose different – it’s totally fine but some features might be available through different key’s combination), keep that in mind. Examples and screenshots comes from the 3.0.3 version of the AppCode.
The feature I would like to start with is live templates. Here I would like to mention only three from the list (the full list of live templates can be found in the preferences, moreover you can add your own). Those three are: log, logv and logm. They makes logging very fast and easy to add. log stands for general purpose logs whereas logv is targeted for variables, logm for methods. While using logv there is very helpful context analyser which helps you log the right value with the prefix saying what exactly you are logging, awesome.
We’ve announced 3.0.3 update recently. Unfortunately a critical bug in formatting was there – thanks to our user who mentioned and reported the problem. Today the update 3.0.4 with the fix is available.
Also in C/C++ code the autocompletion is now working after ‘->’, ‘::’, ‘->*’, etc.
You can download the build from our website or via ‘Check for updates’ AppCode menu.
In this update we’ve improved compatibility with the latest Xcode 6 beta releases (including beta 2 and beta 3) and iOS 8 and fixed a couple of problems. For instance, here are several crucial problems that were addressed in this build:
OC-10186 – XCTest does not work on iOS7.1, iOS8 device with Xcode 6;
OC-10232 – Logic tests don’t work under simulator in Xcode 6;
OC-10303 – Reveal library couldn’t be injected to iOS 8 (however still an issue exists in case of iPhone 4S).
Please note here that in case of Xcode 6 to run logic tests under simulator or OS X (or for any other tests that failed to run under simulator/OS X) do the following:
For the simulator: add $(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks to Runpath Search Paths and to Framework search paths fields in Project Settings (Cmd+;)
For the OS X: add $(DEVELOPER_DIR)/Platforms/MacOSX.platform/Developer/Library/Frameworks to Runpath Search Paths and to Framework search paths fields in Project Settings (Cmd+;)
We’ve also added some fixes for the UI Designer issues, including exception while pasting Table View Cell.
Please pay attention to the fact that “Select word at caret” action was renamed to “Extend/Shrink Selection” to match the corresponding action in IntelliJ IDEA and other products from JetBrains.
The full list of changes is available here, and you can download the build from our website or via ‘Check for updates’ AppCode menu.
In this webinar, Rafał Legiędźshows some “standard” magic like code assistance, code generation and refactoring features, goes through debugging and CocoaPods support, and even gives a small demo of Swift coding in AppCode.
Below are some questions from our webinar answered by Rafał and Anastasia.
Q: Does AppCode have Interface Builder? Does it support storyboard format?
A: Yes, since 3.0 version AppCode includes integrated UI Designer that provides all the essential UI editor features and works with the full component palette supported by iOS SDK. For developing your application’s UI, you can use either .xib or .storyboard formats.
Q: How to synchronize code style convention (autoformat) between Xcode and AppCode team members?
A: Right now there is no automatic option to do that. AppCode has a possibility to import colour schemes from Xcode and includes Xcode keymap, fully re-worked in 3.0 version to better match the native one, and to have fewer conflicts with Xcode itself. As for the other there is an issue in our tracker. Feel free to vote to increase the priority.
Q: What are the possible cases for using Cmd+N shortcut? Where code generation can be used in AppCode?
A: There are vast code generation options in AppCode.
You can use it in the main code:
for Objective-C (initWith, init/encodeWithCoder, copyWithZone, Override/Implement Methods, @synthesize, etc.)
or C++ (constructor, destructor, getter, setter, etc.).
for setUp/tearDown methods or test methods in OCUnit, XCTest or Google Test;
it, context, beforeEach, afterEach and specify blocks for Kiwi.
Create new File / Class / Protocol / Category / File from Xcode template, when pressed in Project View.
Create new Target, when executed in Project Settings.
About the Presenter:
Thanks to all the attendees for the nice features suggestions! If you still have some, please, put them to our tracker.
One of the most notable features of AppCode is code analysis, which helps keep your code accurate and clean. The flexible mechanism of resolving problems works on the fly and allows you to easily improve code structure, detect unreachable and redundant code, conform to numerous guidelines and standards, detect performance issues, and much more.
AppCode not only highlights code issues in the editor, but also suggests intelligent quick-fixes and adds useful indicators to the right-hand gutter which let you instantly see the status of the file and navigate around the detected issues:
AppCode also provides shortcuts for navigating between these issues (Go to next highlighted error with F2; go to previous with Shift+F2). This detailed tutorial on code inspections will help you explore and learn more useful shortcuts and preferences.
In AppCode 3 we improved the handling of one of the most intelligent case for code analysis: context-sensitive analysis. The IDE helps you with many smart scenarios, for example if a condition is redundant, or if you are trying to access a reference that can be nil, or if you use an unrecognized selector, or if you cast to a type that’s probably incompatible. AppCode warns you about any potential problems and suggests quick-fixes for all cases. Here we’d like to show you a few examples.
Last week Apple presented a bunch of new fantastic software pieces and technologies for iOS/OS X developers. New OS X, new iOS, new Xcode and even a new language! These innovations looks really impressive and promising, and we know you undoubtedly want to try them. So we did our best to deliver the new Xcode 6 support together with basic Swift support in a short time. And here it comes, please, welcome AppCode 3.0.1 update!
To try the new features check you have Xcode 6 installed and selected in AppCode’s Preferences | Xcode. Create new project from Xcode 6 template, build and run your app on simulator or device.
There is a couple of known issues with Xcode 6 however: XCTest does not work on iOS7.1, iOS8 devices; Logic tests don’t work on a simulator. These hopefully will be fixed in the upcoming updates.
We were really thrilled with the new programming language shown by Apple. It’s concise and full of modern concepts and ideas, which are familiar to us because of Kotlin language that we develop here in JetBrains. What we do in 3.0.1 update is the basic Swift support – you can open and edit coloured *.swift files. Let’s start with it and learn all together this new fantastic language.
A few other improvements and fixes were also included. Especially, for the UI Designer, where we’ve fixed some exceptions, added UITableViewCell/UICollectionViewCell subviews (OC-9654) and improved the font size (OC-10161).
A week ago we’ve published AppCode 3.0 release. With all the new features and improved workflow with less switches we hope this version will make you more productive.
And now it’s time to thank those users who evaluated the EAP builds, submitted feedback and suggested code to reproduce the problems. Some of you were really active and your contribution was especially valuable. We’d like to say ‘thank you’ and to present free licenses (or renewals) to the most notable evaluators:
Also we would like to thank our friends from the Itty Bitty Apps. Plugin with the Reveal app integration became one of the most valuable feature in this release and we really enjoyed the collaboration. So free licenses (renewals) are also issued to:
And one more person we’d like to mention here. Many of you have met him at our forum or in twitter, some has received valuable assistance from him. We really appreciate his help and would like to thank:
A personal message will be sent to each one with the details on how to obtain the license. If you see your name above and you do not get any e-mails during the day, ping us here in the comments.