Example iOS project with multiple screens

I’ve read the iOS example, which helps you getting started without having to use Apple’s documentation, which is helpful if you want to concentrate on Oxygen instead of Swift.

What I would like is a tiny bit more sophisticated example that uses multiple screens. Does anybody have a simple project that at least has the following functionality:

  • Pushing to other screens in a navigation control.
  • Table list → detail.
  • Opening a modal screen (eg. for selecting entity).

Hi,

The masterdetail template gives you an example using storyboards. Is that what you wanted ?

Cheers,
John

1 Like

I’ll see if I can create a more advanced sample/template that shows this. good idea.

Logged as bugs://E25372.

I tried to test some, like the “Page-based App”, but got an error saying:

Internal error: System.DllNotFoundException: RemObjects.Elements.LLVM.dll assembly: type: member:(null)
at (wrapper managed-to-native) LLVM.Interop.LLVMInterop.LLVMInitializeX86AsmPrinter()
at RemObjects.Elements.Toffee.Output.ObjcOutput…cctor () [0x000db] in :0

I get this for every iOS template I tried.

Beside that, I prefer a written tutorial.

Hmm, thats a separate issue. Every single project fails for you with this? Whats your Elements version? Does RemObjects.Elements.LLVM.dll’s version.timestamp match the rest of the compiler?

Above, you asked for a sample, though, not a tutorial.

I always do prefer a written tutorial, but what I’m asking for is an example indeed.

I would be very happy with an example. I can use that as a reference to get started. I don’t need a tutorial perse.

I have it with every iOS template I tried.

I had Xcode 13 installed; maybe that’s the problem. I’m now installing 12.5 to see if that solves it.

it’s not, and it wont:

Whats your Elements version? Does RemObjects.Elements.LLVM.dll’s version.timestamp match the rest of the compiler?

I’m using Fire on macOS Monterey.

Hmm, but the error message is about LLVM.dll? which is Windows. Strange. Can you send me a full build log, with Diagnostic logging enabled in Preferences?

Here’s the log (Fire on macOS Monterey, iPhone 8):

/Applications/Fire.app/Contents/Resources/Mono/bin/mono-sgen /Applications/Fire.app/Contents/Resources/EBuild.exe "--setting:Elements:ToffeeSDKFolder=/Applications/Fire.app/Contents/Resources/Toffee SDKs" "--setting:Elements:IslandSDKFolder=/Applications/Fire.app/Contents/Resources/Island SDKs" "--setting:Elements:GothamXmlFolder=/Applications/Fire.app/Contents/Resources/Gotham XMLs" "--setting:Elements:ReferencePathsXMLFolder=/Applications/Fire.app/Contents/Resources/Reference Paths with Data Abstract Trial" --setting:Elements:LldExePath=/Applications/Fire.app/Contents/Resources/lld --setting:Elements:DSymUtilExePath=/Applications/Fire.app/Contents/Resources/dsymutil --setting:Elements:ToffeeHelperExePath=/Applications/Fire.app/Contents/Resources/ToffeeHelper /Users/marcvanbreemen/Lokaal/App6/App6.sln --logger:fire --configuration:Debug --goal:79778DA9-74CF-4A67-9837-C83A5C4B3B32;Toffee-iOS --setting:79778DA9-74CF-4A67-9837-C83A5C4B3B32,Simulator=True --setting:79778DA9-74CF-4A67-9837-C83A5C4B3B32,Device=False --debug --statistics --verbosity:diagnostic --xml:/var/folders/bb/pqskcswd4jldw_qqmgmnh9fm0000gn/T/App6.fire.xml --build --setting:TreatFixableErrorsAsWarnings=True
RemObjects EBuild. An open source build engine for Elements and beyond.
Copyright RemObjects Software 2016-2021. All Rights Reserved. Created by marc hoffman.
Version 11.0.0.2671 (develop) built on talax, 20210924-133321. Commit d0337e3.

   -> Task RemObjects.EBuild.BuildSolution started.
      -> Project App6 started.
         -- Task RemObjects.EBuild.Elements.ElementsProjectPreBuildTask skipped for App6, condition not met.
         -> Task RemObjects.EBuild.Elements.ElementsBuildProject started for App6.
            -> Task RemObjects.EBuild.Elements.ElementsExpandCopyToOutputDirectoryPaths started for App6.
            <- Task RemObjects.EBuild.Elements.ElementsExpandCopyToOutputDirectoryPaths finished for App6, took 0,0067s (0.007s).
            -> Task RemObjects.EBuild.Elements.ElementsApplyLegacySettings started for App6, Toffee-iOS.
               Mapping AssemblyName=App6 to BinaryName in Target Toffee-iOS
            <- Task RemObjects.EBuild.Elements.ElementsApplyLegacySettings finished for App6, Toffee-iOS, took 0,0041s (0.004s).
            -> Task RemObjects.EBuild.Elements.ElementsSanityCheck started for App6, Toffee-iOS.
            <- Task RemObjects.EBuild.Elements.ElementsSanityCheck finished for App6, Toffee-iOS, took 0,0008s (0.001s).
            -> Task RemObjects.EBuild.Elements.ElementsPreparePlatforms started for App6, Toffee-iOS.
               Preparing target 'Toffee-iOS' (platform 'Toffee').
D:             Target-specific Settings, before prepare
D:               - <BinaryName = App6 [Target: Toffee-iOS]>
D:               - <ImpliedConditionalDefines = TOFFEEV1 [Target: Toffee-iOS]>
D:               - <Mode = Toffee [Target: Toffee-iOS]>
D:               - <ModeNameResolveOverride = ToffeeV1 [Target: Toffee-iOS]>
D:               - <SubMode = iOS [Target: Toffee-iOS]>
               -> Task RemObjects.EBuild.Elements.ElementsPreflightIsland started for App6.
               <- Task RemObjects.EBuild.Elements.ElementsPreflightIsland finished for App6, took 0,0057s (0.005s).
               -> Task RemObjects.EBuild.Elements.ElementsDarwinGatherXcodeDetails started for App6.
               <- Task RemObjects.EBuild.Elements.ElementsDarwinGatherXcodeDetails finished for App6, took 0,0000s (0.000s).
               -> Task RemObjects.EBuild.Elements.ElementsPreflightToffee started for App6.
                  Toffee SDK Folder found in '/Applications/Fire.app/Contents/Resources/Toffee SDKs'.
               <- Task RemObjects.EBuild.Elements.ElementsPreflightToffee finished for App6, took 0,0028s (0.003s).
               -> Task PrepareToffeePlatform started for App6, Toffee-iOS.
D:                Xcode developer folder is '/Applications/Xcode.app/Contents/Developer'
                  Xcode Version is 13.0 (13A233), macOS Version is 12.0 (21A5522h).
D:                Supported iOS SDKs in local FXs:
D:                - iOS 15.0
D:                - iOS 14.5
D:                Supported iOS SDKs in Xcode 13.0:
D:                - iOS 15.0
                  No exact iOS SDK version was specified for target 'Toffee-iOS', using 'iOS 15.0'.
               <- Task PrepareToffeePlatform finished for App6, Toffee-iOS, took 0,1894s (0.199s).
D:             Target-specific Settings, after prepare
D:               - <Architecture-Device = arm64 [Target: Toffee-iOS]>
D:               - <Architecture-Mac = x86_64 [Target: Toffee-iOS]>
D:               - <Architecture-Simulator = x86_64 [Target: Toffee-iOS]>
D:               - <BinaryName = App6 [Target: Toffee-iOS]>
D:               - <BuildOSBuild = 21A5522h [Target: Toffee-iOS]>
D:               - <BuildOSVersion = 12.0 [Target: Toffee-iOS]>
D:               - <BundleIdentifier-Device = org.me.App6 [Target: Toffee-iOS]>
D:               - <BundleIdentifier-Simulator = org.me.App6 [Target: Toffee-iOS]>
D:               - <DeploymentTargetVersion = 15.0 [Target: Toffee-iOS]>
D:               - <FinalBinaryName = App6 [Target: Toffee-iOS]>
D:               - <FinalOutputFolderOverride-Mac = ../Mac Catalyst [Target: Toffee-iOS]>
D:               - <FinalOutputFolderOverride-Simulator = ../iOS Simulator [Target: Toffee-iOS]>
D:               - <IDE:TargetInfo = iOS ; Xcode 13.0 (13A233) [Target: Toffee-iOS]>
D:               - <ImpliedConditionalDefines = TOFFEEV1 [Target: Toffee-iOS]>
D:               - <IntermedateFolderSuffix-Device = Device [Target: Toffee-iOS]>
D:               - <IntermedateFolderSuffix-Mac = Mac Catalyst [Target: Toffee-iOS]>
D:               - <IntermedateFolderSuffix-Simulator = Simulator [Target: Toffee-iOS]>
D:               - <Mode = Toffee [Target: Toffee-iOS]>
D:               - <ModeNameResolveOverride = ToffeeV1 [Target: Toffee-iOS]>
D:               - <SDK = iOS 15.0 [Target: Toffee-iOS]>
D:               - <SDKBuild-Simulator = 19A339 [Target: Toffee-iOS]>
D:               - <SDK-Device = iOS 15.0 [Target: Toffee-iOS]>
D:               - <SDKDisplay = iOS 15.0 [Target: Toffee-iOS]>
D:               - <SDKDisplay-Device = iOS 15.0 [Target: Toffee-iOS]>
D:               - <SDKDisplay-Simulator = iOS 15.0 Simulator [Target: Toffee-iOS]>
D:               - <SDKFolder = /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 [Target: Toffee-iOS]>
D:               - <SDKFolder-Device = /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 [Target: Toffee-iOS]>
D:               - <SDKFolderInXcode-Simulator = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.0.sdk [Target: Toffee-iOS]>
D:               - <SDKFolder-Simulator = /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator [Target: Toffee-iOS]>
D:               - <SDKName = iOS [Target: Toffee-iOS]>
D:               - <SDKName-Device = iOS [Target: Toffee-iOS]>
D:               - <SDKNameInXcode-Device = iPhoneOS [Target: Toffee-iOS]>
D:               - <SDKNameInXcode-Mac = MacOSX [Target: Toffee-iOS]>
D:               - <SDKNameInXcode-Simulator = iPhoneSimulator [Target: Toffee-iOS]>
D:               - <SDKName-Simulator = iOS [Target: Toffee-iOS]>
D:               - <SDK-Simulator = iOS 15.0 [Target: Toffee-iOS]>
D:               - <SDKVersion = 15.0 [Target: Toffee-iOS]>
D:               - <SDKVersion-Device = 15.0 [Target: Toffee-iOS]>
D:               - <SDKVersion-Simulator = 15.0 [Target: Toffee-iOS]>
D:               - <SubMode = iOS [Target: Toffee-iOS]>
D:               - <XcodeBuild = 13A233 [Target: Toffee-iOS]>
D:               - <XcodeDeveloperFolder = /Applications/Xcode.app/Contents/Developer [Target: Toffee-iOS]>
D:               - <XcodeVersion = 13.0 [Target: Toffee-iOS]>
            <- Task RemObjects.EBuild.Elements.ElementsPreparePlatforms finished for App6, Toffee-iOS, took 0,2113s (0.212s).
            -> Task RemObjects.EBuild.Elements.ElementsResolveSourceFiles started for App6, Toffee-iOS.
            <- Task RemObjects.EBuild.Elements.ElementsResolveSourceFiles finished for App6, Toffee-iOS, took 0,0053s (0.005s).
            -- Task RemObjects.EBuild.Elements.ElementsResolveHeaderImportFiles skipped for App6, Toffee-iOS, condition not met.
            -> Task RemObjects.EBuild.Elements.ElementsPreCompile started for App6, Toffee-iOS.
               -- Task RemObjects.EBuild.Elements.ElementsPreCompileEchoes skipped for App6, Toffee-iOS, condition not met.
               -> Task RemObjects.EBuild.Elements.ElementsPreCompileToffee started for App6, Toffee-iOS.
                  -- Task RemObjects.EBuild.Elements.ElementsToffeeProcessResources skipped for App6, Toffee-iOS, condition not met.
                  -> Task RemObjects.EBuild.Elements.ElementsPreCompileDarwin started for App6, Toffee-iOS.
                     -- Task ProcessCoreMLModels skipped for App6, condition not met.
                     -- Task ProcessIntentDefinitions skipped for App6, condition not met.
                     -- Task ProcessMetalShaders skipped for App6, condition not met.
                  <- Task RemObjects.EBuild.Elements.ElementsPreCompileDarwin finished for App6, Toffee-iOS, took 0,0000s (0.002s).
               <- Task RemObjects.EBuild.Elements.ElementsPreCompileToffee finished for App6, Toffee-iOS, took 0,0000s (0.004s).
               -- Task RemObjects.EBuild.Elements.ElementsPreCompileCooper skipped for App6, Toffee-iOS, condition not met.
               -- Task RemObjects.EBuild.Elements.ElementsPreCompileIsland skipped for App6, Toffee-iOS, condition not met.
            <- Task RemObjects.EBuild.Elements.ElementsPreCompile finished for App6, Toffee-iOS, took 0,0000s (0.226s).
            -- Task RemObjects.EBuild.Elements.ElementsApplyLegacySettings skipped for App6, Toffee-iOS, already ran.
            -- Task RemObjects.EBuild.Elements.ElementsPreparePlatforms skipped for App6, Toffee-iOS, already ran.
            -> Task RemObjects.EBuild.Elements.ElementsCheckForTargetlessReferences started for App6.
            <- Task RemObjects.EBuild.Elements.ElementsCheckForTargetlessReferences finished for App6, took 0,0008s (0.001s).
            -> Task RemObjects.EBuild.Elements.ElementsResolveReferences started for App6.
               -> Target Toffee-iOS started.
D:                Using cached data for ResolveReferences.
                  -> Task RemObjects.EBuild.Elements.ElementsValidateCachedToffeeReferencesForTarget started for App6, Toffee-iOS.
                  <- Task RemObjects.EBuild.Elements.ElementsValidateCachedToffeeReferencesForTarget finished for App6, Toffee-iOS, took 0,0029s (0.003s).
               <- Target Toffee-iOS finished.
            <- Task RemObjects.EBuild.Elements.ElementsResolveReferences finished for App6, took 0,0186s (0.020s).
            -> Task RemObjects.EBuild.Elements.ElementsPreCompile2 started for App6, Toffee-iOS.
               -- Task RemObjects.EBuild.Elements.ElementsRunGenerators skipped for App6, Toffee-iOS, condition not met.
               -- Task RemObjects.EBuild.Elements.ElementsPreCompile2Echoes skipped for App6, Toffee-iOS, condition not met.
               -- Task RemObjects.EBuild.Elements.ElementsPreCompile2Cooper skipped for App6, Toffee-iOS, condition not met.
            <- Task RemObjects.EBuild.Elements.ElementsPreCompile2 finished for App6, Toffee-iOS, took 0,0000s (0.002s).
            -> Task Compile started for App6.
D:             Loading compiler from '/Applications/Fire.app/Contents/Resources/RemObjects.Elements.dll'
               Compiling target 'Toffee-iOS', Simulator
               -> Target Toffee-iOS started compiling for Simulator.
                  Starting compile for App6 Toffee-iOS Simulator
                  RemObjects Elements Compiler for .NET, Cocoa, Java and Island.
                  Copyright 2003-2021 RemObjects Software, LLC. All rights reserved. Created by Carlo Kok
                  Version 11.0.0.2671 (develop) built on talax, 20210924-133321. Commit d0337e3.
                  Source file: /Users/marcvanbreemen/Lokaal/App6/AppDelegate.vb
                  Reference: /Applications/Fire.app/Contents/Resources/References/Toffee/iOS Simulator/libToffee.fx
                  Reference: /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator/CoreGraphics.fx
                  Reference: /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator/Foundation.fx
                  Reference: /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator/rtl.fx
                  Reference: /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator/UIKit.fx
                  Reference: /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator/CoreFoundation.fx (implicit)
                  -> Phase Resolving Bodies started.
                     Reference: /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator/UserNotifications.fx
                     Reference: /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator/Intents.fx
                     Reference: /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator/CloudKit.fx
                     Reference: /Applications/Fire.app/Contents/Resources/Toffee SDKs/iOS 15.0 Simulator/QuartzCore.fx
                  <- Phase Resolving Bodies finished, took 1.370s.
                  -> Phase Checking Members started.
                  <- Phase Checking Members finished, took 0.087s.
                  -> Phase Generating Helper Types started.
                  <- Phase Generating Helper Types finished, took 0.090s.
                  -> Phase Inlining Code started.
                  <- Phase Inlining Code finished, took 0.017s.
                  -> Phase Pre-Simplifying Code started.
                  <- Phase Pre-Simplifying Code finished, took 0.039s.
                  -> Phase Simplifying Code started.
                  <- Phase Simplifying Code finished, took 0.058s.
                  -> Phase Flow Analysis started.
                  <- Phase Flow Analysis finished, took 0.035s.
                  -> Phase Generating Output started.
E:                   Internal error: System.DllNotFoundException: RemObjects.Elements.LLVM.dll assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) LLVM.Interop.LLVMInterop.LLVMInitializeX86AsmPrinter()
  at RemObjects.Elements.Toffee.Output.ObjcOutput..cctor () [0x000db] in <c8c0684ee1f847e3a0c1e344a7d6a367>:0 
                  <- Phase Generating Output finished, took 0.078s.
               <- Target Toffee-iOS failed compiling for Simulator.
            <- Task Compile failed for App6, took 3,1073s (3.361s).
         <- Task RemObjects.EBuild.Elements.ElementsBuildProject failed for App6, took 0,0000s (3.376s).
      <- Project App6 failed, took 3.376s.
      Project 'App6' failed to build.
      Solution 'App6' failed to build project 'App6'.
   <- Task RemObjects.EBuild.BuildSolution failed for App6, took 3,3944s (3.397s).

     net time    gross time   task
-------------  ------------   -------------------------------
       0.000s        3.362s   ElementsLink 
       0.000s        3.362s   ElementsDetermineFinalOutput 
       0.000s        3.374s   ElementsCopyFinalOutput 
       0.000s        3.376s   ElementsBuildProject 
       0.000s        0.004s   ElementsPreCompileToffee 
       0.000s        0.002s   ElementsPreCompile2 
       0.000s        0.226s   ElementsPreCompile 
       0.000s        0.002s   ElementsPreCompileDarwin 
       0.000s        0.000s   ElementsDarwinGatherXcodeDetails 
       0.000s        0.001s   ElementsCheckForTargetlessReferences 
       0.000s        0.001s   ElementsSanityCheck 
       0.002s        0.003s   ElementsPreflightToffee 
       0.002s        0.003s   ElementsValidateCachedToffeeReferencesForTarget 
       0.004s        0.004s   ElementsApplyLegacySettings 
       0.005s        0.005s   ElementsResolveSourceFiles 
       0.005s        0.005s   ElementsPreflightIsland 
       0.006s        0.010s   ElementsExpandCopyToOutputDirectoryPaths 
       0.018s        0.020s   ElementsResolveReferences 
       0.189s        0.199s   ElementsPrepareToffeePlatform 
       0.211s        0.212s   ElementsPreparePlatforms 
       3.107s        3.361s   ElementsCompile 
       3.394s        3.397s   BuildSolution

very curious. we cannot reproduce this here with .2671. It somehow sounds as if the LLVM .dylib is broken. Can you try re-downloading Fire?

I’ll try and let you know. Are you sure it isn’t something with Monterey? I personally don’t have a Big Sur to test it on.

1 Like

I’ll re-check. I this ARM or Intel? right now I inks have Monterey (beta) on an Intel Mac…

Reproduced on Monterey/Intel :frowning:

Logged as bugs://E25376.

Ah, then it’s not just me :). For me personally I don’t mind to wait for a fix, as I don’t need to work the project right now. And besides that, there’s always a risk in working with beta’s :).

I’ll try to get hot fixed ASAP, as I wanna update my main machine to Monterey, as soon as possible when the final is out ;), But as of now, I have no clue want could be causing this… :upside_down_face: