New AppCode 3.2 EAP with improvements for mixed Swift/Objective-C code

Posted on by Anastasia Kazakova

Hi,

AppCode 3.2 EAP build 141.2263 is available for download. From the Swift and Objective-C side, this build delivers:

  • Resolve for the custom Swift frameworks (for example, Alamofire).
  • Swift bridging header problems fixes: OC-11488, OC-10856, OC-12151.
  • Resolve for members (properties, functions, etc) of Swift classes when used in Objective-C. Please note, that renaming Swift member elements from Objective-C code is not yet supported.
  • Code Data objects rendering for Xcode 6.3+.
  • Some small fixes for __nullable/__nonnull keywords (OC-12083 and OC-12084).

Other changes include bundled LESS, SASS and YAML plugins.

The full list of improvements can be found in our tracker.

New build is available for download on the confluence page. The patch update is also available if you are using previous 3.2 EAP build.

Develop with pleasure,
The AppCode Team

Comments below can no longer be edited.

20 Responses to New AppCode 3.2 EAP with improvements for mixed Swift/Objective-C code

  1. Jens Kohl says:

    August 4, 2015

    Does this »Resolve for the custom Swift frameworks (for example, Alamofire).« only work if I’m _not_ using CocoaPods? Since in my project »Alamofire.« does not bring up a dropdown with a list of its methods. Neither does hitting ⌃Spache help – it just says »No suggestions«.

    Or do I need a special reindexing, since I came from 3.1.2 over the last EAP release to this one?

    • Anastasia Kazakova says:

      August 4, 2015

      Should be working, so, please, yes, do Invalidate Caches and Restart.

      • Jens Kohl says:

        August 4, 2015

        I tried that but it didn’t help. Any other suggestions what I can do?

        Does the project needs to be build once? I tried it with a project where I don’t set any codesign-specific things (I just build and run it from Xcode – AppCode reports 4 errors when I try to build and run it from within AppCode).

        • Anastasia Kazakova says:

          August 4, 2015

          Probably, yes. Especially if it’s mixed code with some headers generated on build phase.

          • Jens Kohl says:

            August 4, 2015

            I setup all the codesigning things and AppCode builds the project – but it’s not working yet. So my guess from the initial comment: is it probably related to using Alamofire via CocoaPods?

            • Anastasia Kazakova says:

              August 4, 2015

              As I said before it should work for both cases, but maybe some problems exist in that case still. We’ll have a look.

          • Jens Kohl says:

            August 4, 2015

            Thanks for the effort Anastasia. Is there an OC-* issue I can follow?

            • Anastasia Kazakova says:

              August 4, 2015

              Feel free to leave you comments here: https://youtrack.jetbrains.com/issue/OC-12018. It was closed as a duplicated, but probably (like in your case) there is some independent issue still.

      • John says:

        August 4, 2015

        Not working for me either. In my case I have a workspace with 4 Swift modules in it. None of the modules can see each other. I have, obviously, imported the modules, and it all works fine in Xcode.

        • Anastasia Kazakova says:

          August 4, 2015

          Maybe you can share the project to reproduce the case? Is it possible?

          • John says:

            August 5, 2015

            Sorry, I can’t – it’s not a personal project.

            • Anastasia Kazakova says:

              August 5, 2015

              Maybe you can make some sample prj to reproduce? And we’ll try ourself at the same time, for sure.

  2. Matt Sinclair says:

    August 5, 2015

    This EAP (with your bundled JSK) is basically unusable for me on a four core MacBook Pro. I will have to revert back to the previous EAP. The CPU is working flat out.

    Indexing is done, but the code sense is completely wrong. Performance is really bad. No Swift in this project.

    After over a year of AppCode running hot, the Java performance problems are becoming really, really tedious. For me, solving it is much more of a priority than features or other bug fixes. Is there any data I can provide to help debug this?

    • Anastasia Kazakova says:

      August 5, 2015

      Yes, please, send us a CPU snapshot please (https://intellij-support.jetbrains.com/entries/29983118-Reporting-performance-problems). And if you can also share a prj, attach a prj as well, or provide the link to the repo. Send it please to appcode-support at jetbrains.com. We’ll investigate.

    • Antoni says:

      August 5, 2015

      Something is on.. I’ve just started it and it kept indexing projects until it stopped responding at all

      • Anastasia Kazakova says:

        August 5, 2015

        Could you please get a CPU snapshot when this happens? https://intellij-support.jetbrains.com/entries/29983118-Reporting-performance-problems
        Or send us some project sample.

        • Antoni says:

          August 9, 2015

          Ok, sorry for late reply, didn’t have time before for this.

          Anyhow, I’ve tried again with this profiling on, but it worked fine. So either it was one time situation or maybe AppCode had some problems with upgrading metadata (or whatever) from previous build. I had maybe 4 different, big projects open when I downloaded new build. I closed AppCode, installed the new version and opened – it started all those indexings etc for those projects and finally died. I reverted then to 3.1 as I didn’t have time for more experiments at that moment.

          • Anastasia Kazakova says:

            August 10, 2015

            Ok, thanks. Please, provide details if you meet this again. We’ll do our best to investigate and help.

  3. Antoni says:

    August 10, 2015

    I found another bug that is new to this version, in ObjC – when I use completion for block, it will add | sign inside the block (where normally cursor was placed) and will place cursor just outside the block.

    For example:
    [UIView animateWithDuration:0.3 animations:^{
    |
    }];
    with cursor between } and ];

Subscribe

Subscribe to product updates