New AppCode 2017.1 EAP: first part of Xcode 8.3 support, build messages improvements and more!

Posted on by Stanislav Dombrovsky

AppCode 2017.1 EAP (build 171.3566.27) is available for download on our confluence page (if using previous 2017.1 EAP build, the patch update is also available).

This build brings fixes for the following important issues:

  • Problems with running iOS applications and debugging Swift 3.0 projects when using AppCode with Xcode 8.3 beta
  • Problem with nullability attributes ignored in Objective-C refactorings (OC-12150)
  • Find Usages regression when searching for function arguments (OC-14994)

Build Messages

We added the filter button on the left-hand side of the Build Messages (⌘0) toolwindow. Now you can choose, which message types you want to see in the build output of particular project:

Build Messages

Find in Path

The UI of Find in Path dialog was significantly re-worked by IntelliJ platform team. Now it shows all the options on the single pane together with the results’ preview:

Find in Path

The full release notes are available here.

Your AppCode team
JetBrains
The Drive to Develop

Comments below can no longer be edited.

2 Responses to New AppCode 2017.1 EAP: first part of Xcode 8.3 support, build messages improvements and more!

  1. szh says:

    February 23, 2017

    When open a Typescript file (.tsx) in a React Native Project, throw Exception:

    In file: file:///Users/appleuser/Documents/ios/RNExamples/ts/DialogView.tsx: String index out of range: -4
    java.lang.StringIndexOutOfBoundsException: String index out of range: -4
    at java.lang.String.substring(String.java:1931)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedNameResolver.getQualifiedNameWithoutParentModule(TypeScriptQualifiedNameResolver.java:387)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedNameResolver.getModulesForAugmentations(TypeScriptQualifiedNameResolver.java:365)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedNameResolver.addAugmentationsForModuleResults(TypeScriptQualifiedNameResolver.java:344)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedNameResolver.addMergedAndGlobalElements(TypeScriptQualifiedNameResolver.java:253)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedNameResolver.getGlobalElements(TypeScriptQualifiedNameResolver.java:129)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptQualifiedNameResolver.getElements(TypeScriptQualifiedNameResolver.java:63)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler.findReferencedElements(TypeScriptImportHandler.java:339)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler.access$500(TypeScriptImportHandler.java:39)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler$SubTypeVisitor.processQualifier(TypeScriptImportHandler.java:179)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler$SubTypeVisitor.processQualifier(TypeScriptImportHandler.java:176)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler.resolveTypeElements(TypeScriptImportHandler.java:324)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler.resolveNameImpl(TypeScriptImportHandler.java:221)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptImportHandler.resolveTypeName(TypeScriptImportHandler.java:196)
    at com.intellij.lang.javascript.psi.types.JSTypeImpl.resolveType(JSTypeImpl.java:66)
    at com.intellij.lang.javascript.psi.types.JSTypeImpl.addToContextQualifierName(JSTypeImpl.java:249)
    at com.intellij.lang.javascript.psi.types.JSTypeImpl.isDirectlyAssignableTypeImpl(JSTypeImpl.java:194)
    at com.intellij.lang.javascript.psi.types.JSTypeBaseImpl.isDirectlyAssignableType(JSTypeBaseImpl.java:61)
    at com.intellij.lang.javascript.psi.types.JSCompositeTypeImpl.isDirectlyAssignableTypeImpl(JSCompositeTypeImpl.java:226)
    at com.intellij.lang.javascript.psi.types.JSTypeBaseImpl.isDirectlyAssignableType(JSTypeBaseImpl.java:61)
    at com.intellij.lang.javascript.psi.types.JSRecordTypeImpl.checkCallSignaturesAssignable(JSRecordTypeImpl.java:443)
    at com.intellij.lang.javascript.psi.types.JSRecordTypeImpl.isDirectlyAssignableRecordType(JSRecordTypeImpl.java:379)
    at com.intellij.lang.javascript.psi.types.JSRecordTypeImpl.isDirectlyAssignableTypeImpl(JSRecordTypeImpl.java:318)
    at com.intellij.lang.javascript.psi.types.JSTypeBaseImpl.isDirectlyAssignableType(JSTypeBaseImpl.java:61)
    at com.intellij.lang.javascript.psi.types.JSFunctionTypeImpl.isDirectlyAssignableTypeImpl(JSFunctionTypeImpl.java:154)
    at com.intellij.lang.javascript.psi.types.JSTypeBaseImpl.isDirectlyAssignableType(JSTypeBaseImpl.java:61)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptAnnotatingVisitor.checkOverride(TypeScriptAnnotatingVisitor.java:327)
    at com.intellij.lang.javascript.ecmascript6.TypeScriptAnnotatingVisitor.checkOverriddenMethods(TypeScriptAnnotatingVisitor.java:285)
    at com.intellij.lang.javascript.validation.TypedJSAnnotatingVisitor.visitJSReferenceList(TypedJSAnnotatingVisitor.java:132)
    at com.intellij.lang.javascript.psi.ecmal4.impl.JSReferenceListImpl.accept(JSReferenceListImpl.java:69)
    at com.intellij.lang.javascript.validation.JSAnnotator.annotate(JSAnnotator.java:17)
    at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.a(DefaultHighlightVisitor.java:139)
    at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:102)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:368)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:307)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:327)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:330)
    at com.intellij.codeInsight.daemon.RainbowVisitor.analyze(RainbowVisitor.java:50)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:330)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:330)
    at com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor.analyze(XmlHighlightVisitor.java:634)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:330)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:330)
    at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:86)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:330)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:298)
    at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:238)
    at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:83)
    at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:438)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1125)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.c(PassExecutorService.java:431)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:556)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.d(PassExecutorService.java:430)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:406)
    at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:142)
    at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:242)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:404)
    at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:165)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

  2. AppCode 2017.1 EAP 发布新版本 支持 Xcode 8.3 | News Pod says:

    February 23, 2017

    […] 发布主页和下载地址 […]

Subscribe

Subscribe to product updates