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

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

banner
This entry was posted in Announcement and tagged , . Bookmark the permalink.

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

  1. szh says:

    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. Pingback: AppCode 2017.1 EAP 发布新版本 支持 Xcode 8.3 | News Pod

Leave a Reply

Your email address will not be published. Required fields are marked *