Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to see XCode/SwiftUI Previews within CocoaPods frameworks #9275

Open
jayayres opened this issue Oct 20, 2019 · 60 comments
Open

Unable to see XCode/SwiftUI Previews within CocoaPods frameworks #9275

jayayres opened this issue Oct 20, 2019 · 60 comments
Labels
help wanted Help from new or existing contributors would be greatly appreciated!

Comments

@jayayres
Copy link

jayayres commented Oct 20, 2019

Report

What did you do?

Sample project https://github.com/jayayres/cocoapodsswiftuipreviewbugreport
git clone https://github.com/jayayres/cocoapodsswiftuipreviewbugreport.git
cd cocoapodsswiftuipreviewbugreport ; bundle install --binstubs ; bundle exec pod install
Open in Xcode 11.1, on Mac OS Catalina
Try using SwiftUI preview functionality for Pods/Development Pods/MyStaticPod/MyStaticPodSwiftUIView.swift , Pods/Development Pods/MyPod/MyDynamicPodSwiftUIView.swift, and MyPodTest/MyPodTest/MyMainAppSwiftUIView.swift

What did you expect to happen?

XCode previews should work for all 3 files.

What happened instead?

XCode previews always fail for MyStaticPodSwiftUIView.swift (which is set up with static_framework = true in its podspec) with:
noPreviewInfos(arch: "x86_64", sdkRoot: "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.1.sdk")

XCode previews fail most of the time for MyDynamicPodSwiftUIView.swift (unless a clean build is done, and that is the only dynamic pod in which previews are done, and previews are not done first for MyMainAppSwiftUIView.swift) with:
Xcode Previews rendering agent: Error Domain=com.apple.dt.UITestingAgent Code=-1 "failed to load library at path "/DerivedData/MyPodTest-hcoikzfhpffncqcobtylgtykwvvb/Build/Intermediates.noindex/Previews/MyPodTest/Products/Debug-iphonesimulator/MyStaticPod/MyStaticPod.framework/MyStaticPod": Optional(dlopen(/DerivedData/MyPodTest-hcoikzfhpffncqcobtylgtykwvvb/Build/Intermediates.noindex/Previews/MyPodTest/Products/Debug-iphonesimulator/MyStaticPod/MyStaticPod.framework/MyStaticPod, 0): no suitable image found

or sometimes:
MyPodTest.app: Error Domain=com.apple.dt.UITestingAgent Code=-1 "Preview provider "9MyPodTest32MyDynamicPodSwiftUIView_PreviewsV" does not exist" UserInfo={NSLocalizedDescription=Preview provider "9MyPodTest32MyDynamicPodSwiftUIView_PreviewsV" does not exist}

It looks like Xcode internally uses preview-thunk.dylib for previews. It appears that the preview functionality is not working at present within CocoaPods for either static or dynamic frameworks however.

CocoaPods Environment

   CocoaPods : 1.8.4
        Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
    RubyGems : 3.0.6
        Host : Mac OS X 10.15 (19A602)
       Xcode : 11.1 (11A1027)
         Git : git version 2.21.0 (Apple Git-122)
Ruby lib dir : /usr/local/var/rbenv/versions/2.6.3/lib
Repositories : cocoapods- - CDN - https://cdn.cocoapods.org/
               master - git - https://github.com/CocoaPods/Specs.git @ 7dd20d6b83719245167a244512860ef8b1ea5e99

Installation Source

Executable Path: ./bin/pod

Plugins

cocoapods-deintegrate : 1.0.4
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.1.0
cocoapods-trunk       : 1.4.1
cocoapods-try         : 1.1.0

Podfile

source 'https://cdn.cocoapods.org/'

platform :ios, 13.0

target 'MyPodTest' do
  use_frameworks!

  pod 'MyPod', path: 'lib/MyPod'
  pod 'MyStaticPod', path: 'lib/MyStaticPod'
end

Project that demonstrates the issue

https://github.com/jayayres/cocoapodsswiftuipreviewbugreport.git

@dnkoutso
Copy link
Contributor

Have no idea here sorry.

@amorde
Copy link
Member

amorde commented Oct 23, 2019

I think Interface Builder doesn't work with static libs, does this work without setting static_framework = true?

@dnkoutso dnkoutso added the s1:awaiting input Waiting for input from the original author label Oct 25, 2019
@jayresta
Copy link

It partially works with non-static libs. In the example at https://github.com/jayayres/cocoapodsswiftuipreviewbugreport , Pods/Development Pods/MyPod/MyDynamicPodSwiftUIView.swift is in a dynamic lib. If the first file previewed is in a dynamic lib, previews work in that one dynamic lib, but subsequently fail in the main app + other dynamic libs with the "failed to load library at path" error. If the first file previewed is in the main app, then subsequently previews fail in all dynamic libs.

So it entirely depends on which dynamic lib has the file which is previewed first.

@stale stale bot removed the s1:awaiting input Waiting for input from the original author label Oct 29, 2019
@dnkoutso
Copy link
Contributor

So is this a cocoapods library issue?

@amorde
Copy link
Member

amorde commented Oct 29, 2019

I see. There's definitely some weirdness in this, unfortunately there isn't much documentation on how we are supposed to set things up here.

For example, I noticed that Bundle(for:) passing a class from a static lib does not return the main bundle when building for Xcode Previews - it returns a bundle pointing to an intermediate directory inside DerivedData. This can mess with resource loading if you rely on that bundle to manually load fonts.

It's possible there's something else we could do here but I'm not 100% sure at the moment what we would need to change to make this work more reliably

Edit: SwiftUI Xcode Previews

@amorde
Copy link
Member

amorde commented Oct 29, 2019

@dnkoutso it could be a CocoaPods issue but I'm not 100% sure. @jayresta if you link your dependencies natively in Xcode (without CocoaPods, and without the CocoaPods script phases) does it work as expected?

@dnkoutso
Copy link
Contributor

A bunch of fixes in Xcode 11.2 for Previews https://developer.apple.com/documentation/xcode_release_notes/xcode_11_2_release_notes

@amorde
Copy link
Member

amorde commented Oct 31, 2019

Xcode Previews now passes BUILT_PRODUCTS_DIR correctly as a DYLD_FRAMEWORK_PATH when rendering previews to allow you to reference and resolve built frameworks and other products. (53967108)

This is interesting, would love to see how this manifests. I haven't tried the 11.2 beta at all yet

@dnkoutso dnkoutso added the help wanted Help from new or existing contributors would be greatly appreciated! label Nov 4, 2019
@guseducampos
Copy link

guseducampos commented Nov 14, 2019

I think I have a similar issue trying to use Xcode previews with UIKit. I got this error even on Xcode 11.2.1

Undefined symbols for architecture x86_64:
  "___llvm_profile_runtime", referenced from:
      ___llvm_profile_runtime_user in FirebaseABTesting(ABTConditionalUserPropertyController.o)
      ___llvm_profile_runtime_user in FirebaseABTesting(ExperimentPayload.pbobjc.o)
      ___llvm_profile_runtime_user in FirebaseABTesting(FIRExperimentController.o)
      ___llvm_profile_runtime_user in FirebaseABTesting(FirebaseABTesting-dummy.o)
      ___llvm_profile_runtime_user in FirebaseABTesting(FIRLifecycleEvents.o)
      ___llvm_profile_runtime_user in FirebaseCore(FIRAppAssociationRegistration.o)
      ___llvm_profile_runtime_user in FirebaseCore(FIRComponentType.o)
      ...
     (maybe you meant: ___llvm_profile_runtime_user)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

I think this isn't a cocoapods issue, is from Xcode previews, looks like others are having similar problems with static frameworks that contains objective-c code see JetBrains/kotlin-native#3059

@luizmb
Copy link

luizmb commented Nov 16, 2019

Hi, I'm able to reproduce 100% of the times this problem, with any pod, statically or dynamically linked. I'm trying with Xcode 11.2, 11.2.1 and 11.3 beta, and if the iOS Framework has a SwiftUI and at least one Pod, the preview crashes even if the project is completely empty:
https://github.com/luizmb/SwiftUIPodsCrash

I just open a radar but maybe it could be some misconfiguration on the Pods project. It compiles correctly and runs correctly, only the SwiftUI Preview doesn't work.

Any ideas on how to debug this to understand better the problem?
Any help will be appreciated.

@amorde
Copy link
Member

amorde commented Nov 16, 2019

I would recommend attempting to embed the framework natively in Xcode to see if that fixes the issue. We can then try to narrow down what CocoaPods is doing differently

@luizmb
Copy link

luizmb commented Nov 16, 2019

Thanks @amorde , I'm gonna try later today and share my findings. So far my workaround is creating the preview in any file that is in the Main App target, that works. But what's more interesting about this workaround is that, if I split the Xcode screen and open the View source code side-by-side to the preview running on main app, then it crashes again!

@luizmb
Copy link

luizmb commented Nov 18, 2019

Hi @amorde,

I've added 2 branches to my repo:

Both work as expected, I even added some Rx logic to be sure the 3rd party is working.
With CocoaPods I still have the previews crash, unless the preview struct is in the main app.

@amorde
Copy link
Member

amorde commented Nov 18, 2019

Thank you! I'll try to look into this when I get the chance

@luizmb
Copy link

luizmb commented Nov 18, 2019

Thanks for the support. From my side I'll try to understand better the issue when I have some time and will share here if I learn something.

@nicerice
Copy link

@luizmb This is more of a workaround I guess but I had success by copying the required frameworks in a folder called Frameworks inside the Framework the SwiftUI View you want to preview is belonging to (e.g. LibWithUI in your case).
I looked at projects where the preview was working and by looking at the error messages.
Currently we run a script in the Build Phases to copy those Frameworks but I’m not sure if this is a setup step that’s missing from CocoaPods atm.
Screenshot 2019-11-21 at 10 24 33

@luizmb
Copy link

luizmb commented Nov 25, 2019

Hi @nicerice

Thanks to your suggestion I managed to make preview work again. Very nice workaround.

I think I didn't follow exactly what you suggested, because my logs pointed me to a slightly different direction (in my real-world project, I mean). Probably because my DerivedData is located in a custom place (~/code/DerivedData) and the intermediates and builds are subfolders of it.

So in my case, logs pointed me to:
/Users/my.user/code/DerivedData/Build/Intermediates.noindex/Previews/MyProject/Products/Debug-iphonesimulator

Which is my custom Intermediates folder + "/Previews/MyProject/Products/Debug-iphonesimulator"

From there I open MyViewLib.framework/Frameworks and noticed that only some frameworks were there, basically only the ones I use Xcode to link.

Initially I tried to copy Pods_MyViewLib.framework into this folder, but that didn't help. So, instead, I copied all the dependencies that should be there, individually:

From:
/Users/my.user/code/DerivedData/Build/Intermediates.noindex/Previews/MyProject/Products/Debug-iphonesimulator/RxSwift/RxSwift.framework

To:
/Users/my.user/code/DerivedData/Build/Intermediates.noindex/Previews/MyProject/Products/Debug-iphonesimulator/MyViewLib.framework/Frameworks/

And the SwiftUI Preview started working immediately. As you suggested, I'm gonna try to automate this process in my build phases.

Thanks again for the help!

@dylanreich
Copy link

Same issue, can also confirm placing the framework in another Frameworks folder fixed the Previews for me as well.

@cltnschlosser
Copy link
Contributor

Any luck in automating this?

@luizmb
Copy link

luizmb commented Dec 9, 2019

Hi @cltnschlosser

For now I am using a Xcode Build Phase of type run script, and running this:

cp -R "$BUILT_PRODUCTS_DIR/SwiftRex/SwiftRex.framework" "$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH"
cp -R "$BUILT_PRODUCTS_DIR/CombineRex/CombineRex.framework" "$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH"
cp -R "$BUILT_PRODUCTS_DIR/RxSwift/RxSwift.framework" "$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH"
cp -R "$BUILT_PRODUCTS_DIR/RxBluetoothKit/RxBluetoothKit.framework" "$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH"

Not super elegant but it's what I could come up with in a few minutes.

One interesting thing that I found during writing this script, and it could be the root cause of this problem, is that "Build" and "Build for SwiftUI Preview" are two distinct things, and ALL environment variables are different, including the "/Previews" part between "Intermediates" and "PRODUCT_NAME".

My assumption is that the Embed Pods Framework phase has some hardcoded path that's not working for the Previews because it's assuming the path incorrectly. I'm not familiar with CocoaPods source code but I can try to find something.

@cltnschlosser
Copy link
Contributor

@cltnschlosser
Copy link
Contributor

${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH} It's being installed here, from "${BUILT_PRODUCTS_DIR}/Apollo/Apollo.framework". Looks like TARGET_BUILD_DIR needs to be replaced with BUILT_PRODUCTS_DIR when doing a preview build.

@luizmb
Copy link

luizmb commented Dec 9, 2019

Because the env vars are different when building for preview, I believe there should be a way to write this script that works regardless if it's build or preview. I didn't have time to check the Ruby code you sent me, but I'm gonna try when I have some time.

@cltnschlosser
Copy link
Contributor

Hmm, it looks like the embed frameworks script only runs for the app itself, and we need the frameworks copied to the correct folders for the frameworks.

@cltnschlosser
Copy link
Contributor

Anyone know if there are any mechanisms in cocoapods now to add script phases to the framework targets?

@dnkoutso
Copy link
Contributor

dnkoutso commented Dec 10, 2019

You can add script phases both from Podfile and in podspecs. See podspec here https://guides.cocoapods.org/syntax/podspec.html#script_phases.

@cltnschlosser
Copy link
Contributor

Right, I was thinking internally in the cocoapods tool itself, but I'll check out how that works, should be similar. I think we need a script like the Embed Frameworks script, but that runs for every pod framework. Script will look similar to the one here. I think we should be able to just simlink and not copy though.

@JanC
Copy link

JanC commented May 3, 2020

Hello,
was this ever addressed in the cocoapods sources?

@satan87
Copy link

satan87 commented May 8, 2020

On Xcode 11.3 I've been able to get SwiftUI Previews building by simply disabling Code Coverage gathering for my scheme. The above solutions weren't working as I was still getting "failedToBuildDylib" errors for Firebase. In fact, the above fixes don't seem to be necessary at all, at least on my case. Hope this helps someone.

Credits to: https://twitter.com/dannypier/status/1190312160557068293 🙏

Xcode : Version 11.4.1 (11E503a)
This worked for me also.

@dnkoutso
Copy link
Contributor

Would appreciate someone open a PR here with the proposed fix and a test. This is a long issue thread and its hard to follow which answer is the right one.

@izibazi
Copy link

izibazi commented Jun 30, 2020

I used Gemfile for cocoapods and Ruby 2.6.4p104. so I had this problem.
I changed to not use Gemfile and use Ruby 2.5.1p57.

then

$ pod install

I resolve this problem.

This is diff.

--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-2.6.4
+2.5.1
diff --git a/Gemfile b/Gemfile
index 8b0c454..0cdb6dd 100644
--- a/Gemfile
+++ b/Gemfile
@@ -5,5 +5,5 @@ source "https://rubygems.org"
 git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

 gem "fastlane"
-gem "cocoapods"
+# gem "cocoapods"

diff --git a/Podfile.lock b/Podfile.lock
index a000b61..54110b9 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -114,4 +114,4 @@ SPEC CHECKSUMS:

 PODFILE CHECKSUM: 7c9dc03baafc5241ee84a5cc678cec1deda775a7

-COCOAPODS: 1.9.3
+COCOAPODS: 1.9.0

@dnkoutso
Copy link
Contributor

can someone verify with Xcode 12 Beta 5? https://twitter.com/NeoNacho/status/1295793181871599616

@ryanwilson
Copy link

ryanwilson commented Aug 31, 2020

can someone verify with Xcode 12 Beta 5? https://twitter.com/NeoNacho/status/1295793181871599616

Unfortunately still happens for us (Firebase) using Xcode 12 beta 6, workaround of disabling code coverage still works. Repro steps for us: firebase/firebase-ios-sdk#6219 (comment)

@mycroftcanner
Copy link

Tried running a preview that depends on AsyncDisplaykit (Texture pod) with Xcode 12 beta 6 the following workaround 👍

class Pod::Target::BuildSettings::AggregateTargetSettings
    alias_method :ld_runpath_search_paths_original, :ld_runpath_search_paths

    def ld_runpath_search_paths
        return ld_runpath_search_paths_original unless configuration_name == "Debug"
        return ld_runpath_search_paths_original + framework_search_paths
    end
end

class Pod::Target::BuildSettings::PodTargetSettings
    alias_method :ld_runpath_search_paths_original, :ld_runpath_search_paths

    def ld_runpath_search_paths
        return (ld_runpath_search_paths_original || []) + framework_search_paths
    end
end

RemoteHumanReadableError: Failed to update preview.

The preview process appears to have crashed.

Error encountered when sending 'previewInstances' message to agent.

==================================

| RemoteHumanReadableError: The operation couldn’t be completed. (BSServiceConnectionErrorDomain error 3.)
|
| BSServiceConnectionErrorDomain (3):
| ==BSErrorCodeDescription: OperationFailed

I tried disabling code coverage and that didn't work as well.

@mycroftcanner
Copy link

also crashes in Xcode 11.6

@TravelByRocket
Copy link

I'm having this issue with Xcode 12 Beta 6. Didn't succeed with the workaround posted by @mycroftcanner / @jameshurst but it's possible that I'm doing something wrong here. Code coverage seems already disabled (maybe from earlier Podfile configuration) so workaround from @dannypier (hi!) can't work for me either.

@FredericRuaudel
Copy link

FredericRuaudel commented Sep 11, 2020

Hello!

Based on @jameshurst and @kerrmarin, I fixed my issue with this code in my Podfile:

class Pod::Target::BuildSettings::AggregateTargetSettings
    alias_method :ld_runpath_search_paths_original, :ld_runpath_search_paths

    def ld_runpath_search_paths
        return ld_runpath_search_paths_original unless configuration_name == "Debug"
        return (ld_runpath_search_paths_original || []) + (framework_search_paths || [])
    end
end

class Pod::Target::BuildSettings::PodTargetSettings
    alias_method :ld_runpath_search_paths_original, :ld_runpath_search_paths

    def ld_runpath_search_paths
        return (ld_runpath_search_paths_original || []) + (framework_search_paths || [])
    end
end

It removes all errors about Error Domain=com.apple.dt.UITestingAgent Code=-1 "failed to load library at path…

Then, as I was using Firebase, I found in the crash logs that it also doesn't run the ApplicationDelegate methods and so I also missed the configuration of my FirebaseApp.

So I needed to add also a manual configuration in my preview code like this:

let options = FirebaseOptions(googleAppID: "my_id_from_ GoogleService-Info.plist file", gcmSenderID: "my_id_from_ GoogleService-Info.plist file")
FirebaseApp.configure(options: options)

BTW, I'm using Xcode 11.7

@miticous
Copy link

miticous commented Nov 5, 2020

linker command failed with exit code 1 (use -v to see invocation)


LinkDylibError: Failed to build SignUpView.swift

Linking failed: linker command failed with exit code 1 (use -v to see invocation)

ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/SharedFrameworks-iphonesimulator'
Undefined symbols for architecture x86_64:
"___llvm_profile_runtime", referenced from:
___llvm_profile_runtime_user in Pods_MyProject(Pods-MyProject-dummy.o)
(maybe you meant: ___llvm_profile_runtime_user)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I dont know why or how but the first answer here fixed this issue

@philipbel
Copy link

philipbel commented Mar 26, 2021

I dont know why or how but the first answer here fixed this issue

The problem is caused by Code Coverage being enabled. Above StackOverflow contains a fix. Thank you!

hassan-shahbazi pushed a commit to somia/ninchat-sdk-ios-swift that referenced this issue May 7, 2021
The problem with static libraries is resolved according to
CocoaPods/CocoaPods#9275 (comment)

Signed-off-by: Hassan Shahbazi <hassan@ninchat.com>
@dnkoutso dnkoutso removed this from the 1.11.0 milestone Jul 16, 2021
@mvaios
Copy link

mvaios commented Sep 21, 2021

The "AggregateTargetSettings" script doesn't seem to work with ruby 2.6, but I managed to get the similar results with a post install script.

post_install do |installer|
    installer.pods_project.targets.each do |target|
        if target.name == 'YourSwiftUIFramework'
            target.build_configurations.each do |config|
            if config.name == 'Debug'
                config.build_settings["LD_RUNPATH_SEARCH_PATHS"] += " $(FRAMEWORK_SEARCH_PATHS)"
            end
        end
    end
end

apparently if target.name == 'YourSwiftUIFramework' can be removed if you want to add the search path to all your pods, but it's probably not a good idea.

@grigorye
Copy link

Slightly reworded solution from @FredericRuaudel (that employs prepend vs alias_method), that does not break when Podfile is sourced twice, e.g. when using https://github.com/square/cocoapods-generate:

module AggregateTargetSettingsExtensions
  def ld_runpath_search_paths
    return super unless configuration_name == "Debug"
    return (super || []) + (framework_search_paths || [])
  end
end

class Pod::Target::BuildSettings::AggregateTargetSettings
  prepend AggregateTargetSettingsExtensions
end

module PodTargetSettingsExtensions
  def ld_runpath_search_paths
    return (super || []) + (framework_search_paths || [])
  end
end

class Pod::Target::BuildSettings::PodTargetSettings
  prepend PodTargetSettingsExtensions
end

Just in case, the net result is literally the same as with the original solution.

@joninsky
Copy link

Related StackOverflow question.

@omarzl
Copy link

omarzl commented Oct 21, 2022

In Xcode 14 our previews are now failing due to a missing symbols error, so it wasn't enough by modifying the linker search paths, we needed to explicitly set the transitive framework dependencies too, this is how we solved it but there must be a better solution:

  class Target
    class BuildSettings::PodTargetSettings
      alias_method :other_ldflags_original, :other_ldflags
      
      def other_ldflags
          new_flags = other_ldflags_original.dup
          dependent_targets_to_link.each { |dep|
              dep.framework_paths.each { |key, fwk_paths|
                  fwk_paths.each { |fwk_path|
                      name = File.basename(fwk_path.source_path, ".*")
                      new_flags << '-framework' << %("#{name}") unless frameworks.include?(name)
                  }
              }
          }
          new_flags
      end
    end
  end

@srhtshn
Copy link

srhtshn commented Jan 16, 2023

Unfortunately, we're facing a similar problem quite a some time. Some of the solutions above helped us in Xcode 13, however since we're Xcode 14, previews doesn't seem to work.

RemoteHumanReadableError
|  
|  LoadingError: failed to load library at path "...Xcode/DerivedData/###- .../...
/Previews/###/Products/Debug-iphonesimulator/Pods_###.framework/Pods### (not a mach-o file)"

Somehow if we manually, remove the pod framework Pods_XXX from linked libraries in app target and add our pod add our framework (CustomUIFramework) manually, it renders the Previews but with the pod install, it originally links the pod framework and we're going back to error case.

Exact same configuration works in Xcode 13 though.

@mo5tone
Copy link

mo5tone commented Sep 10, 2023

Related StackOverflow question.

Working perfectly for previews, but it block the debug running on rosseta simulators.

@ghost
Copy link

ghost commented Dec 9, 2023

This issue still occured in xcode 15.1 beta 3. common pods into main target and framework and framework embed into main target. failing SwiftUI Preview.

@johnnieWa1ker
Copy link

Disabling this setting helped me Editor / Canvas / Automatically Refresh Canvas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Help from new or existing contributors would be greatly appreciated!
Projects
None yet
Development

No branches or pull requests