feat: add preview target to ios and macos runtime example

This is similar to the Android PR that added build variants to make it easier to build the example apps, see: https://github.com/rive-app/rive/pull/6088

With this PR we're now making use of additional targets that shares code with the parent examples (iOS and macOS respectively). Then there are two new schemes that you can select when playing `preview` and `preview (macOS)`, which will use the above mentioned targets that uses the hosted Rive dependency instead of the local one.

This works well, but is not as smooth of an implementation as Android, where it was simply switching out a build flag. With this implementation we'll also need to semi-manually bump the hosted version - see the additional docs in `CONTRIBUTING`.

There might be a way that we could make this smoother. It'll only be a headache for examples that make use of new features. Where after we release, we'd then need to do another PR that updates the minimum version for the `preview` targets. We could likely look into automating this by scripting the change in the Xcode config.

Diffs=
d78a6561a feat: add preview target to ios and macos runtime example (#6096)

Co-authored-by: Gordon <pggordonhayes@gmail.com>
This commit is contained in:
HayesGordon
2023-10-19 16:29:54 +00:00
parent 9ced4d5298
commit b07a2a46c0
16 changed files with 863 additions and 6 deletions

View File

@@ -1 +1 @@
7227975fb1afd53cbb9d5c6c3149db17606a606f
d78a6561a86eb5b64ddf53c03ae9b03432927621

View File

@@ -1 +1 @@
3baccef1651724e8a42ce6a54aef952d7d361449
98c616d84bf6eb6ed7a63bdcc3dcd1c869f5ebca

View File

@@ -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.

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,11 @@
{
"colors" : [
{
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,13 @@
{
"images" : [
{
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<false/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneConfigurationName</key>
<string>Default Configuration</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>Main</string>
</dict>
</array>
</dict>
</dict>
</dict>
</plist>

View File

@@ -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 = "<group>"; };
E5A7874B27E1158E0056F24B /* prop_example.riv */ = {isa = PBXFileReference; lastKnownFileType = file; path = prop_example.riv; sourceTree = "<group>"; };
E5CD7D7027DC331900BFE5E2 /* SwiftMeshAnimation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftMeshAnimation.swift; sourceTree = "<group>"; };
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 = "<group>"; };
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 = "<group>"; };
F8772AEA2AD94A0800AB5920 /* Preview__macOS_.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Preview__macOS_.entitlements; sourceTree = "<group>"; };
/* 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 = "<group>";
@@ -502,6 +667,31 @@
name = Frameworks;
sourceTree = "<group>";
};
F8772A722AD945FC00AB5920 /* Preview */ = {
isa = PBXGroup;
children = (
F8772A812AD945FE00AB5920 /* Info.plist */,
);
path = Preview;
sourceTree = "<group>";
};
F8772AE02AD94A0500AB5920 /* Preview (macOS) */ = {
isa = PBXGroup;
children = (
F8772AEA2AD94A0800AB5920 /* Preview__macOS_.entitlements */,
F8772AE72AD94A0800AB5920 /* Preview Content */,
);
path = "Preview (macOS)";
sourceTree = "<group>";
};
F8772AE72AD94A0800AB5920 /* Preview Content */ = {
isa = PBXGroup;
children = (
F8772AE82AD94A0800AB5920 /* Preview Assets.xcassets */,
);
path = "Preview Content";
sourceTree = "<group>";
};
/* 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 */;
}

View File

@@ -2,6 +2,6 @@
<Workspace
version = "1.0">
<FileRef
location = "self:RiveExample.xcodeproj">
location = "self:">
</FileRef>
</Workspace>

View File

@@ -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
}

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8772A702AD945FC00AB5920"
BuildableName = "Preview.app"
BlueprintName = "Preview"
ReferencedContainer = "container:RiveExample.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8772A702AD945FC00AB5920"
BuildableName = "Preview.app"
BlueprintName = "Preview"
ReferencedContainer = "container:RiveExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8772A702AD945FC00AB5920"
BuildableName = "Preview.app"
BlueprintName = "Preview"
ReferencedContainer = "container:RiveExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8772ADE2AD94A0500AB5920"
BuildableName = "Preview (macOS).app"
BlueprintName = "Preview (macOS)"
ReferencedContainer = "container:RiveExample.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8772ADE2AD94A0500AB5920"
BuildableName = "Preview (macOS).app"
BlueprintName = "Preview (macOS)"
ReferencedContainer = "container:RiveExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F8772ADE2AD94A0500AB5920"
BuildableName = "Preview (macOS).app"
BlueprintName = "Preview (macOS)"
ReferencedContainer = "container:RiveExample.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -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