diff --git a/.rive_head b/.rive_head index 570b9359..57cf0bb3 100644 --- a/.rive_head +++ b/.rive_head @@ -1 +1 @@ -7227975fb1afd53cbb9d5c6c3149db17606a606f +d78a6561a86eb5b64ddf53c03ae9b03432927621 diff --git a/.rive_renderer b/.rive_renderer index 8799a06c..f9e47b44 100644 --- a/.rive_renderer +++ b/.rive_renderer @@ -1 +1 @@ -3baccef1651724e8a42ce6a54aef952d7d361449 +98c616d84bf6eb6ed7a63bdcc3dcd1c869f5ebca diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5557d328..ef093b35 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,6 +15,14 @@ The `./scripts/build.sh all` script will download or build appropriate libraries Rive is constantly making use of the latest clang features, so please ensure your Xcode and Xcode Command Line Tools are up to date with the latest versions. +## Targets / Schemes + +The example app has different targets/schemes. The `example` targets make use of the local Rive dependency and the `preview` targets make use of a hosted version of Rive - to make it easy to run without needing to do all of the local development setup. If you're making changes to the underlying Rive package and need to test the example app, be sure to set the target/scheme to `example`. See [Customizing the build schemes for a project](https://developer.apple.com/documentation/xcode/customizing-the-build-schemes-for-a-project) for more information. + +## Releasing + +After releasing a new Rive runtime version you'll need to manually update the Rive dependency for the `preview` targets. This is to ensure that anyone evaluating Rive is using the latest hosted version. Right click the `RiveRuntime` dependency in the inspector and select `Update Package`. If there is a major version bump it will need to be configured in the project settings, by updating the minimum version in the `Package Dependencies` section for the `RiveExample` project. + ### Uploading caches If you are contributing and you have access to Rives' AWS environment, make you sure install `aws-cli` and configure it with your credentials. If you run into permission issues here `aws sts get-caller-identity` can help make sure that your local developer environment is setup to talk to AWS correctly. diff --git a/Example-iOS/Preview (macOS)/Preview Content/Preview Assets.xcassets/Contents.json b/Example-iOS/Preview (macOS)/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/Example-iOS/Preview (macOS)/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example-iOS/Preview (macOS)/Preview__macOS_.entitlements b/Example-iOS/Preview (macOS)/Preview__macOS_.entitlements new file mode 100644 index 00000000..18aff0ce --- /dev/null +++ b/Example-iOS/Preview (macOS)/Preview__macOS_.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/Example-iOS/Preview/Assets.xcassets/AccentColor.colorset/Contents.json b/Example-iOS/Preview/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..eb878970 --- /dev/null +++ b/Example-iOS/Preview/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example-iOS/Preview/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example-iOS/Preview/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..13613e3e --- /dev/null +++ b/Example-iOS/Preview/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example-iOS/Preview/Assets.xcassets/Contents.json b/Example-iOS/Preview/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/Example-iOS/Preview/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example-iOS/Preview/Base.lproj/LaunchScreen.storyboard b/Example-iOS/Preview/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..865e9329 --- /dev/null +++ b/Example-iOS/Preview/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example-iOS/Preview/Info.plist b/Example-iOS/Preview/Info.plist new file mode 100644 index 00000000..dd3c9afd --- /dev/null +++ b/Example-iOS/Preview/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/Example-iOS/RiveExample.xcodeproj/project.pbxproj b/Example-iOS/RiveExample.xcodeproj/project.pbxproj index d3745b51..a10f98d0 100644 --- a/Example-iOS/RiveExample.xcodeproj/project.pbxproj +++ b/Example-iOS/RiveExample.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -144,6 +144,146 @@ E5A7874A27E115170056F24B /* energy_bar_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = E5A7874727E115170056F24B /* energy_bar_example.riv */; }; E5A7874C27E1158E0056F24B /* prop_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = E5A7874B27E1158E0056F24B /* prop_example.riv */; }; E5CD7D7127DC331900BFE5E2 /* SwiftMeshAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5CD7D7027DC331900BFE5E2 /* SwiftMeshAnimation.swift */; }; + F8772A872AD946D500AB5920 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9C73E9724FC471E00EF9516 /* AppDelegate.swift */; }; + F8772A882AD946FD00AB5920 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 042C88822643D6B900E7DBB2 /* Main.storyboard */; }; + F8772A892AD9470000AB5920 /* ExamplesMaster.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3357CA0280F42EC00F03B6F /* ExamplesMaster.swift */; }; + F8772A8A2AD9470700AB5920 /* blendmodes.riv in Resources */ = {isa = PBXBuildFile; fileRef = 046AFA6E2673AF04004ED497 /* blendmodes.riv */; }; + F8772A8B2AD9470700AB5920 /* light_switch.riv in Resources */ = {isa = PBXBuildFile; fileRef = 27108F2C282C96E700A99D81 /* light_switch.riv */; }; + F8772A8C2AD9470700AB5920 /* wacky.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88C92644447400E7DBB2 /* wacky.riv */; }; + F8772A8D2AD9470700AB5920 /* clean_icon_set.riv in Resources */ = {isa = PBXBuildFile; fileRef = 048002882729AA4400F7132B /* clean_icon_set.riv */; }; + F8772A8E2AD9470700AB5920 /* switch.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9E040A8264DFCFD009ABC7C /* switch.riv */; }; + F8772A8F2AD9470700AB5920 /* leg_day_events_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3ECAC29281837B300A81123 /* leg_day_events_example.riv */; }; + F8772A902AD9470700AB5920 /* testtext.riv in Resources */ = {isa = PBXBuildFile; fileRef = E577989D2A72C77900FF25C3 /* testtext.riv */; }; + F8772A912AD9470700AB5920 /* truck_v7.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9BD3925263B5FC700696C37 /* truck_v7.riv */; }; + F8772A922AD9470700AB5920 /* rating_animation.riv in Resources */ = {isa = PBXBuildFile; fileRef = E5964AB02A9CDB2100140479 /* rating_animation.riv */; }; + F8772A932AD9470700AB5920 /* energy_bar_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = E5A7874727E115170056F24B /* energy_bar_example.riv */; }; + F8772A942AD9470700AB5920 /* nothing.riv in Resources */ = {isa = PBXBuildFile; fileRef = 04D5B069266A460C004ACA5B /* nothing.riv */; }; + F8772A952AD9470700AB5920 /* life_bar.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9D3DE67264F49F4001BA265 /* life_bar.riv */; }; + F8772A962AD9470700AB5920 /* progress.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CE2644447500E7DBB2 /* progress.riv */; }; + F8772A972AD9470700AB5920 /* artboard_animations.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D42644447500E7DBB2 /* artboard_animations.riv */; }; + F8772A982AD9470700AB5920 /* constrained.riv in Resources */ = {isa = PBXBuildFile; fileRef = 0450445E26B3F71E007B25CA /* constrained.riv */; }; + F8772A992AD9470700AB5920 /* watch_v1.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3E383472837E6B00029D65E /* watch_v1.riv */; }; + F8772A9A2AD9470700AB5920 /* off_road_car_blog.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D72644447500E7DBB2 /* off_road_car_blog.riv */; }; + F8772A9B2AD9470700AB5920 /* two_bone_ik.riv in Resources */ = {isa = PBXBuildFile; fileRef = 04F1C80826A8442300CEE6BE /* two_bone_ik.riv */; }; + F8772A9C2AD9470700AB5920 /* ui_swipe_left_to_delete.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CB2644447400E7DBB2 /* ui_swipe_left_to_delete.riv */; }; + F8772A9D2AD9470700AB5920 /* f22.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D02644447500E7DBB2 /* f22.riv */; }; + F8772A9E2AD9470700AB5920 /* play_button_event_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3ECAC28281837B300A81123 /* play_button_event_example.riv */; }; + F8772A9F2AD9470700AB5920 /* teststatemachine.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3C074AA283FC75900E8EB33 /* teststatemachine.riv */; }; + F8772AA02AD9470700AB5920 /* explorer.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D32644447500E7DBB2 /* explorer.riv */; }; + F8772AA12AD9470700AB5920 /* basketball.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CF2644447500E7DBB2 /* basketball.riv */; }; + F8772AA22AD9470700AB5920 /* flux_capacitor.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D12644447500E7DBB2 /* flux_capacitor.riv */; }; + F8772AA32AD9470700AB5920 /* paper.riv in Resources */ = {isa = PBXBuildFile; fileRef = 83C89AD0298870A700044C17 /* paper.riv */; }; + F8772AA42AD9470700AB5920 /* loopy.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D62644447500E7DBB2 /* loopy.riv */; }; + F8772AA52AD9470700AB5920 /* rope.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CC2644447400E7DBB2 /* rope.riv */; }; + F8772AA62AD9470700AB5920 /* clipping.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D92644447500E7DBB2 /* clipping.riv */; }; + F8772AA72AD9470700AB5920 /* truck.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3D187F8280770EA008B739A /* truck.riv */; }; + F8772AA82AD9470700AB5920 /* juice_v7.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9CE8265263B90E000F98DDB /* juice_v7.riv */; }; + F8772AA92AD9470700AB5920 /* Bear.riv in Resources */ = {isa = PBXBuildFile; fileRef = 83DE4CB42AB3974300B88B72 /* Bear.riv */; }; + F8772AAA2AD9470700AB5920 /* hero_editor.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3745FCB282AE2320087F4AF /* hero_editor.riv */; }; + F8772AAB2AD9470700AB5920 /* bullet_man_game.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3E2B5872833ECB500A8651B /* bullet_man_game.riv */; }; + F8772AAC2AD9470700AB5920 /* marty.riv in Resources */ = {isa = PBXBuildFile; fileRef = 83C89ACE2988709400044C17 /* marty.riv */; }; + F8772AAD2AD9470700AB5920 /* testanimation.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3C074A7283FC75800E8EB33 /* testanimation.riv */; }; + F8772AAE2AD9470700AB5920 /* switch_event_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3ECAC2A281837B300A81123 /* switch_event_example.riv */; }; + F8772AAF2AD9470700AB5920 /* magic_8-ball_v2.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3ECAC222817BE1100A81123 /* magic_8-ball_v2.riv */; }; + F8772AB02AD9470700AB5920 /* prop_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = E5A7874B27E1158E0056F24B /* prop_example.riv */; }; + F8772AB12AD9470700AB5920 /* trailblaze.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D52644447500E7DBB2 /* trailblaze.riv */; }; + F8772AB22AD9470700AB5920 /* riveslider.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3D187F628075B6C008B739A /* riveslider.riv */; }; + F8772AB32AD9470700AB5920 /* vader.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88DA2644447500E7DBB2 /* vader.riv */; }; + F8772AB42AD9470700AB5920 /* halloween.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3C074F1284161E400E8EB33 /* halloween.riv */; }; + F8772AB52AD9470700AB5920 /* text_test_2.riv in Resources */ = {isa = PBXBuildFile; fileRef = E57798AD2A73264100FF25C3 /* text_test_2.riv */; }; + F8772AB62AD9470700AB5920 /* liquid.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9D3DE5A264F3B51001BA265 /* liquid.riv */; }; + F8772AB72AD9470700AB5920 /* neostream.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D22644447500E7DBB2 /* neostream.riv */; }; + F8772AB82AD9470700AB5920 /* rbutton.riv in Resources */ = {isa = PBXBuildFile; fileRef = C324DB5E280740FB0060589F /* rbutton.riv */; }; + F8772AB92AD9470700AB5920 /* mascot.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CD2644447400E7DBB2 /* mascot.riv */; }; + F8772ABA2AD9470700AB5920 /* skills.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D82644447500E7DBB2 /* skills.riv */; }; + F8772ABB2AD9470700AB5920 /* pull.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CA2644447400E7DBB2 /* pull.riv */; }; + F8772ABC2AD9471800AB5920 /* RiveButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C324DB5C280728690060589F /* RiveButton.swift */; }; + F8772ABD2AD9471800AB5920 /* RiveSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = C324DB5528071EB80060589F /* RiveSwitch.swift */; }; + F8772ABE2AD9471800AB5920 /* RiveProgressBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3D187F2280751A8008B739A /* RiveProgressBar.swift */; }; + F8772ABF2AD9471800AB5920 /* ClockViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3ECAC2E281840A300A81123 /* ClockViewModel.swift */; }; + F8772AC02AD9471800AB5920 /* RiveSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C324DB5A2807216B0060589F /* RiveSlider.swift */; }; + F8772AC12AD9471B00AB5920 /* StateMachine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C4C83D2646FE410047E614 /* StateMachine.swift */; }; + F8772AC22AD9471B00AB5920 /* BlendModes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 046AFA722673B00B004ED497 /* BlendModes.swift */; }; + F8772AC32AD9471B00AB5920 /* SimpleSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3468E6127FDCBC6008652FD /* SimpleSlider.swift */; }; + F8772AC42AD9471B00AB5920 /* SimpleAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042C88872643DB7100E7DBB2 /* SimpleAnimation.swift */; }; + F8772AC52AD9471B00AB5920 /* SimpleHttpAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0448838C29F82DD000D7523E /* SimpleHttpAnimation.swift */; }; + F8772AC62AD9471B00AB5920 /* MultipleAnimations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042C888F2644250D00E7DBB2 /* MultipleAnimations.swift */; }; + F8772AC72AD9471B00AB5920 /* StressTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C89ACA29886ECB00044C17 /* StressTest.swift */; }; + F8772AC82AD9471B00AB5920 /* Layout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042C888B2643EEE300E7DBB2 /* Layout.swift */; }; + F8772AC92AD9471E00AB5920 /* SwiftTestText.swift in Sources */ = {isa = PBXBuildFile; fileRef = E57798A82A730A9B00FF25C3 /* SwiftTestText.swift */; }; + F8772ACA2AD9471E00AB5920 /* SwiftWidgets.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9CB2F12264C92D200E7FF0D /* SwiftWidgets.swift */; }; + F8772ACB2AD9471E00AB5920 /* SwiftLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04026DC727CE3EE6002B3DBF /* SwiftLayout.swift */; }; + F8772ACC2AD9471E00AB5920 /* SwiftMultipleAnimations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04026DC927CE3EF6002B3DBF /* SwiftMultipleAnimations.swift */; }; + F8772ACD2AD9471E00AB5920 /* SwiftMeshAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5CD7D7027DC331900BFE5E2 /* SwiftMeshAnimation.swift */; }; + F8772ACE2AD9471E00AB5920 /* SwiftCannonGame.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3E2B58B2833ECFE00A8651B /* SwiftCannonGame.swift */; }; + F8772ACF2AD9471E00AB5920 /* SwiftStateMachine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04026DCD27CE3F0F002B3DBF /* SwiftStateMachine.swift */; }; + F8772AD02AD9471E00AB5920 /* SwiftTouchEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3ECAC262817BE4600A81123 /* SwiftTouchEvents.swift */; }; + F8772AD12AD9471E00AB5920 /* SwiftTestParityAnimSM.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C074ED28414F4600E8EB33 /* SwiftTestParityAnimSM.swift */; }; + F8772AD22AD9471E00AB5920 /* SwiftEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5964AAA2A9CD49200140479 /* SwiftEvents.swift */; }; + F8772AD32AD9471E00AB5920 /* SwiftSimpleAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04026DC327CE3ED6002B3DBF /* SwiftSimpleAnimation.swift */; }; + F8772AD42AD9472100AB5920 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C9C73E9D24FC471E00EF9516 /* Assets.xcassets */; }; + F8772AD52AD9472400AB5920 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C9C73EA024FC471E00EF9516 /* Preview Assets.xcassets */; }; + F8772AD62AD9472800AB5920 /* utility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042C888D2644230700E7DBB2 /* utility.swift */; }; + F8772AD72AD9472F00AB5920 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9C73E9924FC471E00EF9516 /* SceneDelegate.swift */; }; + F8772ADA2AD9483800AB5920 /* RiveRuntime in Frameworks */ = {isa = PBXBuildFile; productRef = F8772AD92AD9483800AB5920 /* RiveRuntime */; }; + F8772AE92AD94A0800AB5920 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F8772AE82AD94A0800AB5920 /* Preview Assets.xcassets */; }; + F8772AEF2AD94A3900AB5920 /* RiveRuntime in Frameworks */ = {isa = PBXBuildFile; productRef = F8772AEE2AD94A3900AB5920 /* RiveRuntime */; }; + F8772AF02AD94A4400AB5920 /* marty.riv in Resources */ = {isa = PBXBuildFile; fileRef = 83C89ACE2988709400044C17 /* marty.riv */; }; + F8772AF12AD94A4400AB5920 /* paper.riv in Resources */ = {isa = PBXBuildFile; fileRef = 83C89AD0298870A700044C17 /* paper.riv */; }; + F8772AF22AD94A4400AB5920 /* Bear.riv in Resources */ = {isa = PBXBuildFile; fileRef = 83DE4CB42AB3974300B88B72 /* Bear.riv */; }; + F8772AF32AD94A4500AB5920 /* light_switch.riv in Resources */ = {isa = PBXBuildFile; fileRef = 27108F2C282C96E700A99D81 /* light_switch.riv */; }; + F8772AF42AD94A4500AB5920 /* prop_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = E5A7874B27E1158E0056F24B /* prop_example.riv */; }; + F8772AF52AD94A4500AB5920 /* marty.riv in Resources */ = {isa = PBXBuildFile; fileRef = 83C89ACE2988709400044C17 /* marty.riv */; }; + F8772AF62AD94A4500AB5920 /* ui_swipe_left_to_delete.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CB2644447400E7DBB2 /* ui_swipe_left_to_delete.riv */; }; + F8772AF72AD94A4500AB5920 /* trailblaze.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D52644447500E7DBB2 /* trailblaze.riv */; }; + F8772AF82AD94A4500AB5920 /* testtext.riv in Resources */ = {isa = PBXBuildFile; fileRef = E577989D2A72C77900FF25C3 /* testtext.riv */; }; + F8772AF92AD94A4500AB5920 /* testanimation.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3C074A7283FC75800E8EB33 /* testanimation.riv */; }; + F8772AFA2AD94A4500AB5920 /* juice_v7.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9CE8265263B90E000F98DDB /* juice_v7.riv */; }; + F8772AFB2AD94A4500AB5920 /* nothing.riv in Resources */ = {isa = PBXBuildFile; fileRef = 04D5B069266A460C004ACA5B /* nothing.riv */; }; + F8772AFC2AD94A4500AB5920 /* wacky.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88C92644447400E7DBB2 /* wacky.riv */; }; + F8772AFD2AD94A4500AB5920 /* clipping.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D92644447500E7DBB2 /* clipping.riv */; }; + F8772AFE2AD94A4500AB5920 /* life_bar.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9D3DE67264F49F4001BA265 /* life_bar.riv */; }; + F8772AFF2AD94A4500AB5920 /* hero_editor.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3745FCB282AE2320087F4AF /* hero_editor.riv */; }; + F8772B002AD94A4500AB5920 /* progress.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CE2644447500E7DBB2 /* progress.riv */; }; + F8772B012AD94A4500AB5920 /* constrained.riv in Resources */ = {isa = PBXBuildFile; fileRef = 0450445E26B3F71E007B25CA /* constrained.riv */; }; + F8772B022AD94A4500AB5920 /* truck_v7.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9BD3925263B5FC700696C37 /* truck_v7.riv */; }; + F8772B032AD94A4500AB5920 /* skills.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D82644447500E7DBB2 /* skills.riv */; }; + F8772B042AD94A4500AB5920 /* text_test_2.riv in Resources */ = {isa = PBXBuildFile; fileRef = E57798AD2A73264100FF25C3 /* text_test_2.riv */; }; + F8772B052AD94A4500AB5920 /* leg_day_events_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3ECAC29281837B300A81123 /* leg_day_events_example.riv */; }; + F8772B062AD94A4500AB5920 /* paper.riv in Resources */ = {isa = PBXBuildFile; fileRef = 83C89AD0298870A700044C17 /* paper.riv */; }; + F8772B072AD94A4500AB5920 /* riveslider.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3D187F628075B6C008B739A /* riveslider.riv */; }; + F8772B082AD94A4500AB5920 /* f22.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D02644447500E7DBB2 /* f22.riv */; }; + F8772B092AD94A4500AB5920 /* rating_animation.riv in Resources */ = {isa = PBXBuildFile; fileRef = E5964AB02A9CDB2100140479 /* rating_animation.riv */; }; + F8772B0A2AD94A4500AB5920 /* vader.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88DA2644447500E7DBB2 /* vader.riv */; }; + F8772B0B2AD94A4500AB5920 /* explorer.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D32644447500E7DBB2 /* explorer.riv */; }; + F8772B0C2AD94A4500AB5920 /* Bear.riv in Resources */ = {isa = PBXBuildFile; fileRef = 83DE4CB42AB3974300B88B72 /* Bear.riv */; }; + F8772B0D2AD94A4500AB5920 /* halloween.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3C074F1284161E400E8EB33 /* halloween.riv */; }; + F8772B0E2AD94A4500AB5920 /* blendmodes.riv in Resources */ = {isa = PBXBuildFile; fileRef = 046AFA6E2673AF04004ED497 /* blendmodes.riv */; }; + F8772B0F2AD94A4500AB5920 /* liquid.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9D3DE5A264F3B51001BA265 /* liquid.riv */; }; + F8772B102AD94A4500AB5920 /* rope.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CC2644447400E7DBB2 /* rope.riv */; }; + F8772B112AD94A4500AB5920 /* clean_icon_set.riv in Resources */ = {isa = PBXBuildFile; fileRef = 048002882729AA4400F7132B /* clean_icon_set.riv */; }; + F8772B122AD94A4500AB5920 /* energy_bar_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = E5A7874727E115170056F24B /* energy_bar_example.riv */; }; + F8772B132AD94A4500AB5920 /* truck.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3D187F8280770EA008B739A /* truck.riv */; }; + F8772B142AD94A4500AB5920 /* pull.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CA2644447400E7DBB2 /* pull.riv */; }; + F8772B152AD94A4500AB5920 /* mascot.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CD2644447400E7DBB2 /* mascot.riv */; }; + F8772B162AD94A4500AB5920 /* switch_event_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3ECAC2A281837B300A81123 /* switch_event_example.riv */; }; + F8772B172AD94A4500AB5920 /* rbutton.riv in Resources */ = {isa = PBXBuildFile; fileRef = C324DB5E280740FB0060589F /* rbutton.riv */; }; + F8772B182AD94A4500AB5920 /* neostream.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D22644447500E7DBB2 /* neostream.riv */; }; + F8772B192AD94A4500AB5920 /* watch_v1.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3E383472837E6B00029D65E /* watch_v1.riv */; }; + F8772B1A2AD94A4500AB5920 /* magic_8-ball_v2.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3ECAC222817BE1100A81123 /* magic_8-ball_v2.riv */; }; + F8772B1B2AD94A4500AB5920 /* loopy.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D62644447500E7DBB2 /* loopy.riv */; }; + F8772B1C2AD94A4500AB5920 /* switch.riv in Resources */ = {isa = PBXBuildFile; fileRef = C9E040A8264DFCFD009ABC7C /* switch.riv */; }; + F8772B1D2AD94A4500AB5920 /* flux_capacitor.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D12644447500E7DBB2 /* flux_capacitor.riv */; }; + F8772B1E2AD94A4500AB5920 /* two_bone_ik.riv in Resources */ = {isa = PBXBuildFile; fileRef = 04F1C80826A8442300CEE6BE /* two_bone_ik.riv */; }; + F8772B1F2AD94A4500AB5920 /* play_button_event_example.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3ECAC28281837B300A81123 /* play_button_event_example.riv */; }; + F8772B202AD94A4500AB5920 /* artboard_animations.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D42644447500E7DBB2 /* artboard_animations.riv */; }; + F8772B212AD94A4500AB5920 /* basketball.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88CF2644447500E7DBB2 /* basketball.riv */; }; + F8772B222AD94A4500AB5920 /* off_road_car_blog.riv in Resources */ = {isa = PBXBuildFile; fileRef = 042C88D72644447500E7DBB2 /* off_road_car_blog.riv */; }; + F8772B232AD94A4500AB5920 /* teststatemachine.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3C074AA283FC75900E8EB33 /* teststatemachine.riv */; }; + F8772B242AD94A4500AB5920 /* bullet_man_game.riv in Resources */ = {isa = PBXBuildFile; fileRef = C3E2B5872833ECB500A8651B /* bullet_man_game.riv */; }; + F8772B252AD94AF900AB5920 /* Example__macOS_App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E51C352A151A1E0075E473 /* Example__macOS_App.swift */; }; + F8772B262AD94AF900AB5920 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E51C372A151A1E0075E473 /* ContentView.swift */; }; + F8772B272AD94AF900AB5920 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 04E51C392A151A1F0075E473 /* Assets.xcassets */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -279,6 +419,11 @@ E5A7874727E115170056F24B /* energy_bar_example.riv */ = {isa = PBXFileReference; lastKnownFileType = file; path = energy_bar_example.riv; sourceTree = ""; }; E5A7874B27E1158E0056F24B /* prop_example.riv */ = {isa = PBXFileReference; lastKnownFileType = file; path = prop_example.riv; sourceTree = ""; }; E5CD7D7027DC331900BFE5E2 /* SwiftMeshAnimation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftMeshAnimation.swift; sourceTree = ""; }; + F8772A712AD945FC00AB5920 /* Preview.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Preview.app; sourceTree = BUILT_PRODUCTS_DIR; }; + F8772A812AD945FE00AB5920 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F8772ADF2AD94A0500AB5920 /* Preview (macOS).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Preview (macOS).app"; sourceTree = BUILT_PRODUCTS_DIR; }; + F8772AE82AD94A0800AB5920 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + F8772AEA2AD94A0800AB5920 /* Preview__macOS_.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Preview__macOS_.entitlements; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -298,6 +443,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F8772A6E2AD945FC00AB5920 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F8772ADA2AD9483800AB5920 /* RiveRuntime in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F8772ADC2AD94A0500AB5920 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F8772AEF2AD94A3900AB5920 /* RiveRuntime in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -456,6 +617,8 @@ C9696B0E24FC6FD10041502A /* Assets */, C9C73E9624FC471E00EF9516 /* Source */, 04E51C342A151A1E0075E473 /* Example (macOS) */, + F8772A722AD945FC00AB5920 /* Preview */, + F8772AE02AD94A0500AB5920 /* Preview (macOS) */, C9C73E9524FC471E00EF9516 /* Products */, C9C741FF24FC53CF00EF9516 /* Frameworks */, ); @@ -466,6 +629,8 @@ children = ( C9C73E9424FC471E00EF9516 /* Example (iOS).app */, 04E51C332A151A1E0075E473 /* Example (macOS).app */, + F8772A712AD945FC00AB5920 /* Preview.app */, + F8772ADF2AD94A0500AB5920 /* Preview (macOS).app */, ); name = Products; sourceTree = ""; @@ -502,6 +667,31 @@ name = Frameworks; sourceTree = ""; }; + F8772A722AD945FC00AB5920 /* Preview */ = { + isa = PBXGroup; + children = ( + F8772A812AD945FE00AB5920 /* Info.plist */, + ); + path = Preview; + sourceTree = ""; + }; + F8772AE02AD94A0500AB5920 /* Preview (macOS) */ = { + isa = PBXGroup; + children = ( + F8772AEA2AD94A0800AB5920 /* Preview__macOS_.entitlements */, + F8772AE72AD94A0800AB5920 /* Preview Content */, + ); + path = "Preview (macOS)"; + sourceTree = ""; + }; + F8772AE72AD94A0800AB5920 /* Preview Content */ = { + isa = PBXGroup; + children = ( + F8772AE82AD94A0800AB5920 /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -541,13 +731,53 @@ productReference = C9C73E9424FC471E00EF9516 /* Example (iOS).app */; productType = "com.apple.product-type.application"; }; + F8772A702AD945FC00AB5920 /* Preview */ = { + isa = PBXNativeTarget; + buildConfigurationList = F8772A862AD945FE00AB5920 /* Build configuration list for PBXNativeTarget "Preview" */; + buildPhases = ( + F8772A6D2AD945FC00AB5920 /* Sources */, + F8772A6E2AD945FC00AB5920 /* Frameworks */, + F8772A6F2AD945FC00AB5920 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Preview; + packageProductDependencies = ( + F8772AD92AD9483800AB5920 /* RiveRuntime */, + ); + productName = Preview; + productReference = F8772A712AD945FC00AB5920 /* Preview.app */; + productType = "com.apple.product-type.application"; + }; + F8772ADE2AD94A0500AB5920 /* Preview (macOS) */ = { + isa = PBXNativeTarget; + buildConfigurationList = F8772AEB2AD94A0800AB5920 /* Build configuration list for PBXNativeTarget "Preview (macOS)" */; + buildPhases = ( + F8772ADB2AD94A0500AB5920 /* Sources */, + F8772ADC2AD94A0500AB5920 /* Frameworks */, + F8772ADD2AD94A0500AB5920 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Preview (macOS)"; + packageProductDependencies = ( + F8772AEE2AD94A3900AB5920 /* RiveRuntime */, + ); + productName = "Preview (macOS)"; + productReference = F8772ADF2AD94A0500AB5920 /* Preview (macOS).app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ C9C73E8C24FC471E00EF9516 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1420; + LastSwiftUpdateCheck = 1500; LastUpgradeCheck = 1310; ORGANIZATIONNAME = Rive; TargetAttributes = { @@ -557,6 +787,12 @@ C9C73E9324FC471E00EF9516 = { CreatedOnToolsVersion = 11.6; }; + F8772A702AD945FC00AB5920 = { + CreatedOnToolsVersion = 15.0; + }; + F8772ADE2AD94A0500AB5920 = { + CreatedOnToolsVersion = 15.0; + }; }; }; buildConfigurationList = C9C73E8F24FC471E00EF9516 /* Build configuration list for PBXProject "RiveExample" */; @@ -568,6 +804,9 @@ Base, ); mainGroup = C9C73E8B24FC471E00EF9516; + packageReferences = ( + F8772AD82AD9483800AB5920 /* XCRemoteSwiftPackageReference "rive-ios" */, + ); productRefGroup = C9C73E9524FC471E00EF9516 /* Products */; projectDirPath = ""; projectReferences = ( @@ -580,6 +819,8 @@ targets = ( C9C73E9324FC471E00EF9516 /* Example (iOS) */, 04E51C322A151A1E0075E473 /* Example (macOS) */, + F8772A702AD945FC00AB5920 /* Preview */, + F8772ADE2AD94A0500AB5920 /* Preview (macOS) */, ); }; /* End PBXProject section */ @@ -637,6 +878,7 @@ 04E51C5F2A151C230075E473 /* energy_bar_example.riv in Resources */, 04E51C602A151C230075E473 /* liquid.riv in Resources */, 04E51C612A151C230075E473 /* loopy.riv in Resources */, + F8772AF02AD94A4400AB5920 /* marty.riv in Resources */, 04E51C622A151C230075E473 /* mascot.riv in Resources */, 04E51C632A151C230075E473 /* neostream.riv in Resources */, 04E51C642A151C230075E473 /* off_road_car_blog.riv in Resources */, @@ -652,7 +894,9 @@ 04E51C6D2A151C230075E473 /* wacky.riv in Resources */, 04E51C6E2A151C230075E473 /* truck.riv in Resources */, 04E51C6F2A151C230075E473 /* truck_v7.riv in Resources */, + F8772AF12AD94A4400AB5920 /* paper.riv in Resources */, 04E51C702A151C230075E473 /* blendmodes.riv in Resources */, + F8772AF22AD94A4400AB5920 /* Bear.riv in Resources */, 04E51C3D2A151A1F0075E473 /* Preview Assets.xcassets in Resources */, 04E51C3A2A151A1F0075E473 /* Assets.xcassets in Resources */, ); @@ -718,6 +962,125 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F8772A6F2AD945FC00AB5920 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F8772AB82AD9470700AB5920 /* rbutton.riv in Resources */, + F8772AAD2AD9470700AB5920 /* testanimation.riv in Resources */, + F8772AB02AD9470700AB5920 /* prop_example.riv in Resources */, + F8772AA22AD9470700AB5920 /* flux_capacitor.riv in Resources */, + F8772A9D2AD9470700AB5920 /* f22.riv in Resources */, + F8772AAB2AD9470700AB5920 /* bullet_man_game.riv in Resources */, + F8772A942AD9470700AB5920 /* nothing.riv in Resources */, + F8772A972AD9470700AB5920 /* artboard_animations.riv in Resources */, + F8772A8C2AD9470700AB5920 /* wacky.riv in Resources */, + F8772A8F2AD9470700AB5920 /* leg_day_events_example.riv in Resources */, + F8772AA02AD9470700AB5920 /* explorer.riv in Resources */, + F8772AAC2AD9470700AB5920 /* marty.riv in Resources */, + F8772A902AD9470700AB5920 /* testtext.riv in Resources */, + F8772A912AD9470700AB5920 /* truck_v7.riv in Resources */, + F8772A8E2AD9470700AB5920 /* switch.riv in Resources */, + F8772A992AD9470700AB5920 /* watch_v1.riv in Resources */, + F8772ABA2AD9470700AB5920 /* skills.riv in Resources */, + F8772AB42AD9470700AB5920 /* halloween.riv in Resources */, + F8772A922AD9470700AB5920 /* rating_animation.riv in Resources */, + F8772A962AD9470700AB5920 /* progress.riv in Resources */, + F8772ABB2AD9470700AB5920 /* pull.riv in Resources */, + F8772AA12AD9470700AB5920 /* basketball.riv in Resources */, + F8772AD52AD9472400AB5920 /* Preview Assets.xcassets in Resources */, + F8772AD42AD9472100AB5920 /* Assets.xcassets in Resources */, + F8772A8A2AD9470700AB5920 /* blendmodes.riv in Resources */, + F8772A9F2AD9470700AB5920 /* teststatemachine.riv in Resources */, + F8772A982AD9470700AB5920 /* constrained.riv in Resources */, + F8772AA42AD9470700AB5920 /* loopy.riv in Resources */, + F8772AAE2AD9470700AB5920 /* switch_event_example.riv in Resources */, + F8772AB92AD9470700AB5920 /* mascot.riv in Resources */, + F8772AA62AD9470700AB5920 /* clipping.riv in Resources */, + F8772AA32AD9470700AB5920 /* paper.riv in Resources */, + F8772A932AD9470700AB5920 /* energy_bar_example.riv in Resources */, + F8772AB72AD9470700AB5920 /* neostream.riv in Resources */, + F8772A8B2AD9470700AB5920 /* light_switch.riv in Resources */, + F8772A882AD946FD00AB5920 /* Main.storyboard in Resources */, + F8772AB12AD9470700AB5920 /* trailblaze.riv in Resources */, + F8772A8D2AD9470700AB5920 /* clean_icon_set.riv in Resources */, + F8772AAF2AD9470700AB5920 /* magic_8-ball_v2.riv in Resources */, + F8772AB52AD9470700AB5920 /* text_test_2.riv in Resources */, + F8772A9C2AD9470700AB5920 /* ui_swipe_left_to_delete.riv in Resources */, + F8772A952AD9470700AB5920 /* life_bar.riv in Resources */, + F8772AB22AD9470700AB5920 /* riveslider.riv in Resources */, + F8772AA92AD9470700AB5920 /* Bear.riv in Resources */, + F8772A9B2AD9470700AB5920 /* two_bone_ik.riv in Resources */, + F8772AAA2AD9470700AB5920 /* hero_editor.riv in Resources */, + F8772AA52AD9470700AB5920 /* rope.riv in Resources */, + F8772AA82AD9470700AB5920 /* juice_v7.riv in Resources */, + F8772AB32AD9470700AB5920 /* vader.riv in Resources */, + F8772AA72AD9470700AB5920 /* truck.riv in Resources */, + F8772A9A2AD9470700AB5920 /* off_road_car_blog.riv in Resources */, + F8772A9E2AD9470700AB5920 /* play_button_event_example.riv in Resources */, + F8772AB62AD9470700AB5920 /* liquid.riv in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F8772ADD2AD94A0500AB5920 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F8772B172AD94A4500AB5920 /* rbutton.riv in Resources */, + F8772B092AD94A4500AB5920 /* rating_animation.riv in Resources */, + F8772B0C2AD94A4500AB5920 /* Bear.riv in Resources */, + F8772B082AD94A4500AB5920 /* f22.riv in Resources */, + F8772B002AD94A4500AB5920 /* progress.riv in Resources */, + F8772B152AD94A4500AB5920 /* mascot.riv in Resources */, + F8772B272AD94AF900AB5920 /* Assets.xcassets in Resources */, + F8772B1D2AD94A4500AB5920 /* flux_capacitor.riv in Resources */, + F8772B202AD94A4500AB5920 /* artboard_animations.riv in Resources */, + F8772B142AD94A4500AB5920 /* pull.riv in Resources */, + F8772B072AD94A4500AB5920 /* riveslider.riv in Resources */, + F8772B242AD94A4500AB5920 /* bullet_man_game.riv in Resources */, + F8772B162AD94A4500AB5920 /* switch_event_example.riv in Resources */, + F8772B1F2AD94A4500AB5920 /* play_button_event_example.riv in Resources */, + F8772AF82AD94A4500AB5920 /* testtext.riv in Resources */, + F8772B182AD94A4500AB5920 /* neostream.riv in Resources */, + F8772B212AD94A4500AB5920 /* basketball.riv in Resources */, + F8772AFB2AD94A4500AB5920 /* nothing.riv in Resources */, + F8772B0F2AD94A4500AB5920 /* liquid.riv in Resources */, + F8772B192AD94A4500AB5920 /* watch_v1.riv in Resources */, + F8772B0B2AD94A4500AB5920 /* explorer.riv in Resources */, + F8772B0E2AD94A4500AB5920 /* blendmodes.riv in Resources */, + F8772B0A2AD94A4500AB5920 /* vader.riv in Resources */, + F8772B042AD94A4500AB5920 /* text_test_2.riv in Resources */, + F8772AFA2AD94A4500AB5920 /* juice_v7.riv in Resources */, + F8772B1E2AD94A4500AB5920 /* two_bone_ik.riv in Resources */, + F8772B1C2AD94A4500AB5920 /* switch.riv in Resources */, + F8772B232AD94A4500AB5920 /* teststatemachine.riv in Resources */, + F8772B032AD94A4500AB5920 /* skills.riv in Resources */, + F8772AF92AD94A4500AB5920 /* testanimation.riv in Resources */, + F8772AFF2AD94A4500AB5920 /* hero_editor.riv in Resources */, + F8772B222AD94A4500AB5920 /* off_road_car_blog.riv in Resources */, + F8772B112AD94A4500AB5920 /* clean_icon_set.riv in Resources */, + F8772B0D2AD94A4500AB5920 /* halloween.riv in Resources */, + F8772AE92AD94A0800AB5920 /* Preview Assets.xcassets in Resources */, + F8772AF52AD94A4500AB5920 /* marty.riv in Resources */, + F8772B062AD94A4500AB5920 /* paper.riv in Resources */, + F8772B052AD94A4500AB5920 /* leg_day_events_example.riv in Resources */, + F8772AF32AD94A4500AB5920 /* light_switch.riv in Resources */, + F8772AF62AD94A4500AB5920 /* ui_swipe_left_to_delete.riv in Resources */, + F8772B022AD94A4500AB5920 /* truck_v7.riv in Resources */, + F8772B1A2AD94A4500AB5920 /* magic_8-ball_v2.riv in Resources */, + F8772B012AD94A4500AB5920 /* constrained.riv in Resources */, + F8772B132AD94A4500AB5920 /* truck.riv in Resources */, + F8772AF72AD94A4500AB5920 /* trailblaze.riv in Resources */, + F8772AFD2AD94A4500AB5920 /* clipping.riv in Resources */, + F8772AFE2AD94A4500AB5920 /* life_bar.riv in Resources */, + F8772B102AD94A4500AB5920 /* rope.riv in Resources */, + F8772AF42AD94A4500AB5920 /* prop_example.riv in Resources */, + F8772B1B2AD94A4500AB5920 /* loopy.riv in Resources */, + F8772B122AD94A4500AB5920 /* energy_bar_example.riv in Resources */, + F8772AFC2AD94A4500AB5920 /* wacky.riv in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -766,6 +1129,50 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F8772A6D2AD945FC00AB5920 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F8772ACD2AD9471E00AB5920 /* SwiftMeshAnimation.swift in Sources */, + F8772AC22AD9471B00AB5920 /* BlendModes.swift in Sources */, + F8772AD72AD9472F00AB5920 /* SceneDelegate.swift in Sources */, + F8772ABE2AD9471800AB5920 /* RiveProgressBar.swift in Sources */, + F8772AC62AD9471B00AB5920 /* MultipleAnimations.swift in Sources */, + F8772A872AD946D500AB5920 /* AppDelegate.swift in Sources */, + F8772ACB2AD9471E00AB5920 /* SwiftLayout.swift in Sources */, + F8772AD62AD9472800AB5920 /* utility.swift in Sources */, + F8772AC82AD9471B00AB5920 /* Layout.swift in Sources */, + F8772ABD2AD9471800AB5920 /* RiveSwitch.swift in Sources */, + F8772AC52AD9471B00AB5920 /* SimpleHttpAnimation.swift in Sources */, + F8772AC02AD9471800AB5920 /* RiveSlider.swift in Sources */, + F8772ACE2AD9471E00AB5920 /* SwiftCannonGame.swift in Sources */, + F8772AC12AD9471B00AB5920 /* StateMachine.swift in Sources */, + F8772AC32AD9471B00AB5920 /* SimpleSlider.swift in Sources */, + F8772AC72AD9471B00AB5920 /* StressTest.swift in Sources */, + F8772ACF2AD9471E00AB5920 /* SwiftStateMachine.swift in Sources */, + F8772ACA2AD9471E00AB5920 /* SwiftWidgets.swift in Sources */, + F8772AD22AD9471E00AB5920 /* SwiftEvents.swift in Sources */, + F8772A892AD9470000AB5920 /* ExamplesMaster.swift in Sources */, + F8772AD32AD9471E00AB5920 /* SwiftSimpleAnimation.swift in Sources */, + F8772AC92AD9471E00AB5920 /* SwiftTestText.swift in Sources */, + F8772ACC2AD9471E00AB5920 /* SwiftMultipleAnimations.swift in Sources */, + F8772ABC2AD9471800AB5920 /* RiveButton.swift in Sources */, + F8772AC42AD9471B00AB5920 /* SimpleAnimation.swift in Sources */, + F8772AD12AD9471E00AB5920 /* SwiftTestParityAnimSM.swift in Sources */, + F8772AD02AD9471E00AB5920 /* SwiftTouchEvents.swift in Sources */, + F8772ABF2AD9471800AB5920 /* ClockViewModel.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F8772ADB2AD94A0500AB5920 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F8772B262AD94AF900AB5920 /* ContentView.swift in Sources */, + F8772B252AD94AF900AB5920 /* Example__macOS_App.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ @@ -987,6 +1394,138 @@ }; name = Release; }; + F8772A822AD945FE00AB5920 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = Preview/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = app.rive.Preview; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + F8772A832AD945FE00AB5920 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = Preview/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = app.rive.Preview; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + F8772AEC2AD94A0800AB5920 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_ENTITLEMENTS = "Preview (macOS)/Preview__macOS_.entitlements"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Preview (macOS)/Preview Content\""; + ENABLE_PREVIEWS = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2023 Rive. All rights reserved."; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 13.1; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "app.rive.Preview--macOS-"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + F8772AED2AD94A0800AB5920 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_ENTITLEMENTS = "Preview (macOS)/Preview__macOS_.entitlements"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Preview (macOS)/Preview Content\""; + ENABLE_PREVIEWS = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2023 Rive. All rights reserved."; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 13.1; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "app.rive.Preview--macOS-"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1017,7 +1556,49 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + F8772A862AD945FE00AB5920 /* Build configuration list for PBXNativeTarget "Preview" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F8772A822AD945FE00AB5920 /* Debug */, + F8772A832AD945FE00AB5920 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F8772AEB2AD94A0800AB5920 /* Build configuration list for PBXNativeTarget "Preview (macOS)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F8772AEC2AD94A0800AB5920 /* Debug */, + F8772AED2AD94A0800AB5920 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + F8772AD82AD9483800AB5920 /* XCRemoteSwiftPackageReference "rive-ios" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/rive-app/rive-ios/"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 5.3.2; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + F8772AD92AD9483800AB5920 /* RiveRuntime */ = { + isa = XCSwiftPackageProductDependency; + package = F8772AD82AD9483800AB5920 /* XCRemoteSwiftPackageReference "rive-ios" */; + productName = RiveRuntime; + }; + F8772AEE2AD94A3900AB5920 /* RiveRuntime */ = { + isa = XCSwiftPackageProductDependency; + package = F8772AD82AD9483800AB5920 /* XCRemoteSwiftPackageReference "rive-ios" */; + productName = RiveRuntime; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = C9C73E8C24FC471E00EF9516 /* Project object */; } diff --git a/Example-iOS/RiveExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example-iOS/RiveExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 491b0255..919434a6 100644 --- a/Example-iOS/RiveExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/Example-iOS/RiveExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/Example-iOS/RiveExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Example-iOS/RiveExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 00000000..c3424e0a --- /dev/null +++ b/Example-iOS/RiveExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,14 @@ +{ + "pins" : [ + { + "identity" : "rive-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/rive-app/rive-ios/", + "state" : { + "revision" : "9030b8c2c2bd52c22114850c3666a4eef2a2acd8", + "version" : "5.3.2" + } + } + ], + "version" : 2 +} diff --git a/Example-iOS/RiveExample.xcodeproj/xcshareddata/xcschemes/Preview (iOS).xcscheme b/Example-iOS/RiveExample.xcodeproj/xcshareddata/xcschemes/Preview (iOS).xcscheme new file mode 100644 index 00000000..14ef30ec --- /dev/null +++ b/Example-iOS/RiveExample.xcodeproj/xcshareddata/xcschemes/Preview (iOS).xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example-iOS/RiveExample.xcodeproj/xcshareddata/xcschemes/Preview (macOS).xcscheme b/Example-iOS/RiveExample.xcodeproj/xcshareddata/xcschemes/Preview (macOS).xcscheme new file mode 100644 index 00000000..cb4eef15 --- /dev/null +++ b/Example-iOS/RiveExample.xcodeproj/xcshareddata/xcschemes/Preview (macOS).xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md index 530ec9ab..831695b9 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,11 @@ Currently, this runtime library supports a minimum iOS version of **14.0+**. Dev ## Examples -Check out the `Demo-App/` folder and `Example-iOS/` folder for example applications using the Rive iOS/macOS runtime. It showcases a number of ways to use the high-level `RiveViewModel` API through UIKit and SwiftUI examples, including: +Check out the `Example-iOS/` folder for an example application using the Rive iOS/macOS runtime. + +Open the project in XCode and ensure the selected scheme/target is set to `Preview`/`Preview (macOS)`. These schemes make use of the hosted Rive package dependency. The other targets are for local development and require additional configuration and set-up. See [Customizing the build schemes for a project](https://developer.apple.com/documentation/xcode/customizing-the-build-schemes-for-a-project) for instructions to switch schemes, and `CONTRIBUTING.md` for more information. + +The example showcases a number of ways to use the high-level `RiveViewModel` API through UIKit and SwiftUI examples, including: - Setting a Rive file via a URL or asset in the bundle - Setting layout and loop mode options