arm64 architecture for DataGraph.framework

DataGraph Forums Technical Support Support Desk arm64 architecture for DataGraph.framework

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #6499
    maraneri
    Participant

      Hello – would it be possible to release a version of the framework compatible with the new M1 architecture ?

      Here’s the compilation error I get

      The linked framework ‘DataGraph.framework’ is missing one or more architectures required by this target: arm64.

      #6510
      david
      Moderator

        I will update the DataGraph framework.  Won’t happen this week, but hopefully this month.  I’m using it internally (in ImageTank) so it will definitely work, but for the stand-alone framework I need to make sure that it contains all of the new dependencies.

        We haven’t gotten that many requests for the Framework and I’m curious to know what type of use cases people have.  ImageTank uses it quite a bit for graphical inspectors and simple interactivity.

        #6511
        maraneri
        Participant

          Thanks a lot David. We’ve been using the framework to plot financial markets tick data (and various derived signals) – happy to tell you more if you’d like to email me directly.

          #6553
          maraneri
          Participant

            Hi guys, I was wondering if you’d had a chance to update the framework for the new M1 chips ? Many thanks !

            #9971
            owen hildreth
            Participant

              I would also love an updated framework for arm64 architectures.  I use the DataGraph framework extensively in my research group and we all love it.

               

              Also, here are some instructions for anyone looking to use the framework on an M1/arm64 architectures and use them on a SwiftUI-based application.  It took me awhile to figure out some of the steps because Apple’s documentation is sparse.  I’ve tried to include links to where I found some of the unobvious steps.

               

               

              ******* Instructions *******

              • Add the Framework to the Project
                • Make sure the Framework is installed/placed in the Folder after the .proj file
                • Add the DataGraph.framework to your Target:
                • Targets → General → Frameworks, Libraries, and Embedded Content
                • Select: + button
                • Select: “Add Other” → Add Files
                • Select: the DataGraph.Framework Folder
              • Create the Bridging Header
                • Create a .h file named: YourApplicationName-Bridging-Header.h
                • Select the top-level folder in your project (just under the blue project icon
                • Select: Menubar → File → New File
                • Select: Under Source → Header File
                • Name your file:  yourApplicaitonName-Bridging_Header.h
                • Make sure Targets is checked “Yes”
                • Copy-Paste the supplied Bridging-Header information into your .h bridging-header file
              • Set Architecture to x86_64
                • Switch Architecture to x86_64 on both the Project and the Target
                • NOTE: when building the project on an arm64 computer, the compiler will suggest that you update the architectures – DON’T select okay, the framework isn’t compiled for arm_64 and the build will fail if you let it add arm_64 back to your project/target
              • Turn OFF Hardened Runtime
                • Targets → Signing and Capabilities → Hardened Runtime
                • There is a small, grey “x” in the upper left corner of the Hardened Runtime settings (just below the dividing line).
                • Click “x” to remove all hardened runtime.

               

              ******* Graph View Representable *******

              import Foundation

              import SwiftUI

              struct GraphViewRepresentable: NSViewRepresentable {

              typealias NSViewType = GraphView

              @ObservedObject var graphController: GraphController

              func makeNSView(context: Context) -> GraphView {

              let graphView = GraphView(graphController)

              graphView.autoresizingMask = [.width, .height]

              return graphView

              }

              func updateNSView(_ nsView: GraphView, context: Context) { }

              }

               

               

              ******* Bridging Header *******

              NOTE:  You need to comment out the //#import “DPDrawingView.h” line and add in

              @interface DPDrawingView : NSView

              @end

               

               

              //#import “DPDrawingView.h”

              #import “DataGraph.framework/Headers/DGAxisCommand.h”

              #import “DataGraph.framework/Headers/DGAxisCommandConstants.h”

              #import “DataGraph.framework/Headers/DGBarCommand.h”

              #import “DataGraph.framework/Headers/DGBarCommandConstants.h”

              #import “DataGraph.framework/Headers/DGBarsCommand.h”

              #import “DataGraph.framework/Headers/DGBarsCommandConstants.h”

              #import “DataGraph.framework/Headers/DGBoxCommand.h”

              #import “DataGraph.framework/Headers/DGBoxCommandConstants.h”

              #import “DataGraph.framework/Headers/DGCanvasCommand.h”

              #import “DataGraph.framework/Headers/DGCanvasCommandConstants.h”

              #import “DataGraph.framework/Headers/DGColorScheme.h”

              #import “DataGraph.framework/Headers/DGColorsCommand.h”

              #import “DataGraph.framework/Headers/DGColorsCommandConstants.h”

              #import “DataGraph.framework/Headers/DGCommand.h”

              #import “DataGraph.framework/Headers/DGCommandConstants.h”

              #import “DataGraph.framework/Headers/DGController.h”

              #import “DataGraph.framework/Headers/DGDataColumn.h”

              #import “DataGraph.framework/Headers/DGExtraAxisCommand.h”

              #import “DataGraph.framework/Headers/DGExtraAxisCommandConstants.h”

              #import “DataGraph.framework/Headers/DGFillSettings.h”

              #import “DataGraph.framework/Headers/DGFitCommand.h”

              #import “DataGraph.framework/Headers/DGFitCommandConstants.h”

              #import “DataGraph.framework/Headers/DGFunctionCommand.h”

              #import “DataGraph.framework/Headers/DGFunctionCommandConstants.h”

              #import “DataGraph.framework/Headers/DGGraph.h”

              #import “DataGraph.framework/Headers/DGGraphicCommand.h”

              #import “DataGraph.framework/Headers/DGGraphicCommandConstants.h”

              #import “DataGraph.framework/Headers/DGHistogramCommand.h”

              #import “DataGraph.framework/Headers/DGHistogramCommandConstants.h”

              #import “DataGraph.framework/Headers/DGLabelCommand.h”

              #import “DataGraph.framework/Headers/DGLabelCommandConstants.h”

              #import “DataGraph.framework/Headers/DGLegendCommand.h”

              #import “DataGraph.framework/Headers/DGLegendCommandConstants.h”

              #import “DataGraph.framework/Headers/DGLineStyleSettings.h”

              #import “DataGraph.framework/Headers/DGLinesCommand.h”

              #import “DataGraph.framework/Headers/DGLinesCommandConstants.h”

              #import “DataGraph.framework/Headers/DGMagnifyCommand.h”

              #import “DataGraph.framework/Headers/DGMagnifyCommandConstants.h”

              #import “DataGraph.framework/Headers/DGMaskSettings.h”

              #import “DataGraph.framework/Headers/DGMaskSettingsConstants.h”

              #import “DataGraph.framework/Headers/DGNumberVariable.h”

              #import “DataGraph.framework/Headers/DGParameter.h”

              #import “DataGraph.framework/Headers/DGPlotCommand.h”

              #import “DataGraph.framework/Headers/DGPlotCommandConstants.h”

              #import “DataGraph.framework/Headers/DGPlotsCommand.h”

              #import “DataGraph.framework/Headers/DGPlotsCommandConstants.h”

              #import “DataGraph.framework/Headers/DGPointsCommand.h”

              #import “DataGraph.framework/Headers/DGPointsCommandConstants.h”

              #import “DataGraph.framework/Headers/DGRangeCommand.h”

              #import “DataGraph.framework/Headers/DGRangeCommandConstants.h”

              #import “DataGraph.framework/Headers/DGScalarFieldCommand.h”

              #import “DataGraph.framework/Headers/DGScalarFieldCommandConstants.h”

              #import “DataGraph.framework/Headers/DGStockCommand.h”

              #import “DataGraph.framework/Headers/DGStockCommandConstants.h”

              #import “DataGraph.framework/Headers/DGStringParameter.h”

              #import “DataGraph.framework/Headers/DGStructures.h”

              #import “DataGraph.framework/Headers/DGStylesCommand.h”

              #import “DataGraph.framework/Headers/DGStylesCommandConstants.h”

              #import “DataGraph.framework/Headers/DGTextCommand.h”

              #import “DataGraph.framework/Headers/DGTextCommandConstants.h”

              #import “DataGraph.framework/Headers/DGToken.h”

              #import “DataGraph.framework/Headers/DGVariable.h”

              #import “DataGraph.framework/Headers/DGXAxisCommand.h”

              #import “DataGraph.framework/Headers/DGYAxisCommand.h”

              #import “DataGraph.framework/Headers/DataGraph.h”

               

              @interface DPDrawingView : NSView

              @end

               

               

              #14285
              owen hildreth
              Participant

                I was wondering if the Datagraph framework could be updated to include arm64?  I’m planning to refactor my Graphs app (https://github.com/HildrethResearchGroup/Graphs) this summer to use SwiftUI and SwiftData instead of AppKit and CoreData.   It would be nice to be able to make it a native application and future-proof it from when Apple’s Rosetta 2 goes away in a couple years.

                 

                FYI, Graphs is open-source and users need to have their own DataGraph license to use it.  The goal of the application is to help users organize and visualize their 2D data.  The users make graph templates in DataGraph and then use those templates to visualize their data in Graphs.

              Viewing 6 posts - 1 through 6 (of 6 total)
              • You must be logged in to reply to this topic.

              DataGraph Forums Technical Support Support Desk arm64 architecture for DataGraph.framework