mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Implemented macOS Support
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,3 +7,4 @@ UserInterfaceState.xcuserstate
|
|||||||
xample/lottie-ios.xcodeproj/xcuserdata
|
xample/lottie-ios.xcodeproj/xcuserdata
|
||||||
Lottie.xcodeproj/xcuserdata/
|
Lottie.xcodeproj/xcuserdata/
|
||||||
Example/lottie-ios.xcworkspace/xcuserdata/
|
Example/lottie-ios.xcworkspace/xcuserdata/
|
||||||
|
.idea/
|
||||||
|
|||||||
15
Example/Example for lottie-macos/AppDelegate.h
Normal file
15
Example/Example for lottie-macos/AppDelegate.h
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// AppDelegate.h
|
||||||
|
// Example for lottie-macos
|
||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright © 2017 Brandon Withrow. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
|
@interface AppDelegate : NSObject <NSApplicationDelegate>
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
27
Example/Example for lottie-macos/AppDelegate.m
Normal file
27
Example/Example for lottie-macos/AppDelegate.m
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
//
|
||||||
|
// AppDelegate.m
|
||||||
|
// Example for lottie-macos
|
||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright © 2017 Brandon Withrow. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "AppDelegate.h"
|
||||||
|
|
||||||
|
@interface AppDelegate ()
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation AppDelegate
|
||||||
|
|
||||||
|
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
|
||||||
|
// Insert code here to initialize your application
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (void)applicationWillTerminate:(NSNotification *)aNotification {
|
||||||
|
// Insert code here to tear down your application
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "16x16",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "16x16",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "32x32",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "32x32",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "128x128",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "128x128",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "256x256",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "256x256",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "512x512",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "mac",
|
||||||
|
"size" : "512x512",
|
||||||
|
"scale" : "2x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
||||||
693
Example/Example for lottie-macos/Base.lproj/Main.storyboard
Normal file
693
Example/Example for lottie-macos/Base.lproj/Main.storyboard
Normal file
@@ -0,0 +1,693 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
|
||||||
|
<dependencies>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11134"/>
|
||||||
|
</dependencies>
|
||||||
|
<scenes>
|
||||||
|
<!--Application-->
|
||||||
|
<scene sceneID="JPo-4y-FX3">
|
||||||
|
<objects>
|
||||||
|
<application id="hnw-xV-0zn" sceneMemberID="viewController">
|
||||||
|
<menu key="mainMenu" title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Example for lottie-macos" id="1Xt-HY-uBw">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Example for lottie-macos" systemMenu="apple" id="uQy-DD-JDr">
|
||||||
|
<items>
|
||||||
|
<menuItem title="About Example for lottie-macos" id="5kV-Vb-QxS">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="orderFrontStandardAboutPanel:" target="Ady-hI-5gd" id="Exp-CZ-Vem"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
|
||||||
|
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
|
||||||
|
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
|
||||||
|
<menuItem title="Services" id="NMo-om-nkz">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
|
||||||
|
<menuItem title="Hide Example for lottie-macos" keyEquivalent="h" id="Olw-nP-bQN">
|
||||||
|
<connections>
|
||||||
|
<action selector="hide:" target="Ady-hI-5gd" id="PnN-Uc-m68"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="hideOtherApplications:" target="Ady-hI-5gd" id="VT4-aY-XCT"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Show All" id="Kd2-mp-pUS">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="unhideAllApplications:" target="Ady-hI-5gd" id="Dhg-Le-xox"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
|
||||||
|
<menuItem title="Quit Example for lottie-macos" keyEquivalent="q" id="4sb-4s-VLi">
|
||||||
|
<connections>
|
||||||
|
<action selector="terminate:" target="Ady-hI-5gd" id="Te7-pn-YzF"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="File" id="dMs-cI-mzQ">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="File" id="bib-Uj-vzu">
|
||||||
|
<items>
|
||||||
|
<menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
|
||||||
|
<connections>
|
||||||
|
<action selector="newDocument:" target="Ady-hI-5gd" id="4Si-XN-c54"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
|
||||||
|
<connections>
|
||||||
|
<action selector="openDocument:" target="Ady-hI-5gd" id="bVn-NM-KNZ"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Open Recent" id="tXI-mr-wws">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Clear Menu" id="vNY-rz-j42">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="clearRecentDocuments:" target="Ady-hI-5gd" id="Daa-9d-B3U"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
|
||||||
|
<menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
|
||||||
|
<connections>
|
||||||
|
<action selector="performClose:" target="Ady-hI-5gd" id="HmO-Ls-i7Q"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
|
||||||
|
<connections>
|
||||||
|
<action selector="saveDocument:" target="Ady-hI-5gd" id="teZ-XB-qJY"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
|
||||||
|
<connections>
|
||||||
|
<action selector="saveDocumentAs:" target="Ady-hI-5gd" id="mDf-zr-I0C"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Revert to Saved" keyEquivalent="r" id="KaW-ft-85H">
|
||||||
|
<connections>
|
||||||
|
<action selector="revertDocumentToSaved:" target="Ady-hI-5gd" id="iJ3-Pv-kwq"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
|
||||||
|
<menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="runPageLayout:" target="Ady-hI-5gd" id="Din-rz-gC5"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
|
||||||
|
<connections>
|
||||||
|
<action selector="print:" target="Ady-hI-5gd" id="qaZ-4w-aoO"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Edit" id="5QF-Oa-p0T">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Edit" id="W48-6f-4Dl">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
|
||||||
|
<connections>
|
||||||
|
<action selector="undo:" target="Ady-hI-5gd" id="M6e-cu-g7V"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
|
||||||
|
<connections>
|
||||||
|
<action selector="redo:" target="Ady-hI-5gd" id="oIA-Rs-6OD"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
|
||||||
|
<menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
|
||||||
|
<connections>
|
||||||
|
<action selector="cut:" target="Ady-hI-5gd" id="YJe-68-I9s"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
|
||||||
|
<connections>
|
||||||
|
<action selector="copy:" target="Ady-hI-5gd" id="G1f-GL-Joy"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
|
||||||
|
<connections>
|
||||||
|
<action selector="paste:" target="Ady-hI-5gd" id="UvS-8e-Qdg"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="pasteAsPlainText:" target="Ady-hI-5gd" id="cEh-KX-wJQ"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Delete" id="pa3-QI-u2k">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="delete:" target="Ady-hI-5gd" id="0Mk-Ml-PaM"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
|
||||||
|
<connections>
|
||||||
|
<action selector="selectAll:" target="Ady-hI-5gd" id="VNm-Mi-diN"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
|
||||||
|
<menuItem title="Find" id="4EN-yA-p0u">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Find" id="1b7-l0-nxx">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="cD7-Qs-BN4"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="WD3-Gg-5AJ"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="NDo-RZ-v9R"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="HOh-sY-3ay"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="U76-nv-p5D"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
|
||||||
|
<connections>
|
||||||
|
<action selector="centerSelectionInVisibleArea:" target="Ady-hI-5gd" id="IOG-6D-g5B"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
|
||||||
|
<connections>
|
||||||
|
<action selector="showGuessPanel:" target="Ady-hI-5gd" id="vFj-Ks-hy3"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
|
||||||
|
<connections>
|
||||||
|
<action selector="checkSpelling:" target="Ady-hI-5gd" id="fz7-VC-reM"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
|
||||||
|
<menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleContinuousSpellChecking:" target="Ady-hI-5gd" id="7w6-Qz-0kB"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleGrammarChecking:" target="Ady-hI-5gd" id="muD-Qn-j4w"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticSpellingCorrection:" target="Ady-hI-5gd" id="2lM-Qi-WAP"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Substitutions" id="9ic-FL-obx">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Show Substitutions" id="z6F-FW-3nz">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="orderFrontSubstitutionsPanel:" target="Ady-hI-5gd" id="oku-mr-iSq"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
|
||||||
|
<menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleSmartInsertDelete:" target="Ady-hI-5gd" id="3IJ-Se-DZD"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Smart Quotes" id="hQb-2v-fYv">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticQuoteSubstitution:" target="Ady-hI-5gd" id="ptq-xd-QOA"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Smart Dashes" id="rgM-f4-ycn">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticDashSubstitution:" target="Ady-hI-5gd" id="oCt-pO-9gS"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Smart Links" id="cwL-P1-jid">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticLinkDetection:" target="Ady-hI-5gd" id="Gip-E3-Fov"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Data Detectors" id="tRr-pd-1PS">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticDataDetection:" target="Ady-hI-5gd" id="R1I-Nq-Kbl"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Text Replacement" id="HFQ-gK-NFA">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticTextReplacement:" target="Ady-hI-5gd" id="DvP-Fe-Py6"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Transformations" id="2oI-Rn-ZJC">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Transformations" id="c8a-y6-VQd">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Make Upper Case" id="vmV-6d-7jI">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="uppercaseWord:" target="Ady-hI-5gd" id="sPh-Tk-edu"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Make Lower Case" id="d9M-CD-aMd">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="lowercaseWord:" target="Ady-hI-5gd" id="iUZ-b5-hil"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Capitalize" id="UEZ-Bs-lqG">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="capitalizeWord:" target="Ady-hI-5gd" id="26H-TL-nsh"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Speech" id="xrE-MZ-jX0">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Speech" id="3rS-ZA-NoH">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Start Speaking" id="Ynk-f8-cLZ">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="startSpeaking:" target="Ady-hI-5gd" id="654-Ng-kyl"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Stop Speaking" id="Oyz-dy-DGm">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="stopSpeaking:" target="Ady-hI-5gd" id="dX8-6p-jy9"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Format" id="jxT-CU-nIS">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Format" id="GEO-Iw-cKr">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Font" id="Gi5-1S-RQB">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq"/>
|
||||||
|
<menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27"/>
|
||||||
|
<menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq"/>
|
||||||
|
<menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
|
||||||
|
<connections>
|
||||||
|
<action selector="underline:" target="Ady-hI-5gd" id="FYS-2b-JAY"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
|
||||||
|
<menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL"/>
|
||||||
|
<menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST"/>
|
||||||
|
<menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
|
||||||
|
<menuItem title="Kern" id="jBQ-r6-VK2">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Kern" id="tlD-Oa-oAM">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Use Default" id="GUa-eO-cwY">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="useStandardKerning:" target="Ady-hI-5gd" id="6dk-9l-Ckg"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Use None" id="cDB-IK-hbR">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="turnOffKerning:" target="Ady-hI-5gd" id="U8a-gz-Maa"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Tighten" id="46P-cB-AYj">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="tightenKerning:" target="Ady-hI-5gd" id="hr7-Nz-8ro"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Loosen" id="ogc-rX-tC1">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="loosenKerning:" target="Ady-hI-5gd" id="8i4-f9-FKE"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Ligatures" id="o6e-r0-MWq">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Use Default" id="agt-UL-0e3">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="useStandardLigatures:" target="Ady-hI-5gd" id="7uR-wd-Dx6"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Use None" id="J7y-lM-qPV">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="turnOffLigatures:" target="Ady-hI-5gd" id="iX2-gA-Ilz"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Use All" id="xQD-1f-W4t">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="useAllLigatures:" target="Ady-hI-5gd" id="KcB-kA-TuK"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Baseline" id="OaQ-X3-Vso">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Baseline" id="ijk-EB-dga">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Use Default" id="3Om-Ey-2VK">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="unscript:" target="Ady-hI-5gd" id="0vZ-95-Ywn"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Superscript" id="Rqc-34-cIF">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="superscript:" target="Ady-hI-5gd" id="3qV-fo-wpU"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Subscript" id="I0S-gh-46l">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="subscript:" target="Ady-hI-5gd" id="Q6W-4W-IGz"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Raise" id="2h7-ER-AoG">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="raiseBaseline:" target="Ady-hI-5gd" id="4sk-31-7Q9"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Lower" id="1tx-W0-xDw">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="lowerBaseline:" target="Ady-hI-5gd" id="OF1-bc-KW4"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
|
||||||
|
<menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
|
||||||
|
<connections>
|
||||||
|
<action selector="orderFrontColorPanel:" target="Ady-hI-5gd" id="mSX-Xz-DV3"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
|
||||||
|
<menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="copyFont:" target="Ady-hI-5gd" id="GJO-xA-L4q"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="pasteFont:" target="Ady-hI-5gd" id="JfD-CL-leO"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Text" id="Fal-I4-PZk">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Text" id="d9c-me-L2H">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
|
||||||
|
<connections>
|
||||||
|
<action selector="alignLeft:" target="Ady-hI-5gd" id="zUv-R1-uAa"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
|
||||||
|
<connections>
|
||||||
|
<action selector="alignCenter:" target="Ady-hI-5gd" id="spX-mk-kcS"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Justify" id="J5U-5w-g23">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="alignJustified:" target="Ady-hI-5gd" id="ljL-7U-jND"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
|
||||||
|
<connections>
|
||||||
|
<action selector="alignRight:" target="Ady-hI-5gd" id="r48-bG-YeY"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
|
||||||
|
<menuItem title="Writing Direction" id="H1b-Si-o9J">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem id="YGs-j5-SAR">
|
||||||
|
<string key="title"> Default</string>
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="makeBaseWritingDirectionNatural:" target="Ady-hI-5gd" id="qtV-5e-UBP"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem id="Lbh-J2-qVU">
|
||||||
|
<string key="title"> Left to Right</string>
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="makeBaseWritingDirectionLeftToRight:" target="Ady-hI-5gd" id="S0X-9S-QSf"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem id="jFq-tB-4Kx">
|
||||||
|
<string key="title"> Right to Left</string>
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="makeBaseWritingDirectionRightToLeft:" target="Ady-hI-5gd" id="5fk-qB-AqJ"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
|
||||||
|
<menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem id="Nop-cj-93Q">
|
||||||
|
<string key="title"> Default</string>
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="makeTextWritingDirectionNatural:" target="Ady-hI-5gd" id="lPI-Se-ZHp"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem id="BgM-ve-c93">
|
||||||
|
<string key="title"> Left to Right</string>
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="makeTextWritingDirectionLeftToRight:" target="Ady-hI-5gd" id="caW-Bv-w94"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem id="RB4-Sm-HuC">
|
||||||
|
<string key="title"> Right to Left</string>
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="makeTextWritingDirectionRightToLeft:" target="Ady-hI-5gd" id="EXD-6r-ZUu"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
|
||||||
|
<menuItem title="Show Ruler" id="vLm-3I-IUL">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleRuler:" target="Ady-hI-5gd" id="FOx-HJ-KwY"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="copyRuler:" target="Ady-hI-5gd" id="71i-fW-3W2"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="pasteRuler:" target="Ady-hI-5gd" id="cSh-wd-qM2"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="View" id="H8h-7b-M4v">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="View" id="HyV-fh-RgO">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleToolbarShown:" target="Ady-hI-5gd" id="BXY-wc-z0C"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="runToolbarCustomizationPalette:" target="Ady-hI-5gd" id="pQI-g3-MTW"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="hB3-LF-h0Y"/>
|
||||||
|
<menuItem title="Show Sidebar" keyEquivalent="s" id="kIP-vf-haE">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleSourceList:" target="Ady-hI-5gd" id="iwa-gc-5KM"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Enter Full Screen" keyEquivalent="f" id="4J7-dP-txa">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleFullScreen:" target="Ady-hI-5gd" id="dU3-MA-1Rq"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Window" id="aUF-d1-5bR">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
|
||||||
|
<connections>
|
||||||
|
<action selector="performMiniaturize:" target="Ady-hI-5gd" id="VwT-WD-YPe"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Zoom" id="R4o-n2-Eq4">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="performZoom:" target="Ady-hI-5gd" id="DIl-cC-cCs"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
|
||||||
|
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="arrangeInFront:" target="Ady-hI-5gd" id="DRN-fu-gQh"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Help" id="wpr-3q-Mcd">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Example for lottie-macos Help" keyEquivalent="?" id="FKE-Sm-Kum">
|
||||||
|
<connections>
|
||||||
|
<action selector="showHelp:" target="Ady-hI-5gd" id="y7X-2Q-9no"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="Voe-Tx-rLC" id="PrD-fu-P6m"/>
|
||||||
|
</connections>
|
||||||
|
</application>
|
||||||
|
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModuleProvider=""/>
|
||||||
|
<customObject id="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||||
|
</objects>
|
||||||
|
<point key="canvasLocation" x="75" y="0.0"/>
|
||||||
|
</scene>
|
||||||
|
<!--Window Controller-->
|
||||||
|
<scene sceneID="R2V-B0-nI4">
|
||||||
|
<objects>
|
||||||
|
<windowController id="B8D-0N-5wS" sceneMemberID="viewController">
|
||||||
|
<window key="window" title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="default" id="IQv-IB-iLA">
|
||||||
|
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||||
|
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||||
|
<rect key="contentRect" x="196" y="240" width="480" height="270"/>
|
||||||
|
<rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/>
|
||||||
|
</window>
|
||||||
|
<connections>
|
||||||
|
<segue destination="XfG-lQ-9wD" kind="relationship" relationship="window.shadowedContentViewController" id="cq2-FE-JQM"/>
|
||||||
|
</connections>
|
||||||
|
</windowController>
|
||||||
|
<customObject id="Oky-zY-oP4" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||||
|
</objects>
|
||||||
|
<point key="canvasLocation" x="75" y="250"/>
|
||||||
|
</scene>
|
||||||
|
<!--View Controller-->
|
||||||
|
<scene sceneID="hIz-AP-VOD">
|
||||||
|
<objects>
|
||||||
|
<viewController id="XfG-lQ-9wD" customClass="ViewController" customModuleProvider="" sceneMemberID="viewController">
|
||||||
|
<view key="view" wantsLayer="YES" id="m2S-Jp-Qdl">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="480" height="270"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</view>
|
||||||
|
</viewController>
|
||||||
|
<customObject id="rPt-NT-nkU" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||||
|
</objects>
|
||||||
|
<point key="canvasLocation" x="75" y="655"/>
|
||||||
|
</scene>
|
||||||
|
</scenes>
|
||||||
|
</document>
|
||||||
32
Example/Example for lottie-macos/Info.plist
Normal file
32
Example/Example for lottie-macos/Info.plist
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?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>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string></string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>$(PRODUCT_NAME)</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string>Copyright © 2017 Brandon Withrow. All rights reserved.</string>
|
||||||
|
<key>NSMainStoryboardFile</key>
|
||||||
|
<string>Main</string>
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string>NSApplication</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
15
Example/Example for lottie-macos/ViewController.h
Normal file
15
Example/Example for lottie-macos/ViewController.h
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// ViewController.h
|
||||||
|
// Example for lottie-macos
|
||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright © 2017 Brandon Withrow. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
|
@interface ViewController : NSViewController
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
41
Example/Example for lottie-macos/ViewController.m
Normal file
41
Example/Example for lottie-macos/ViewController.m
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
//
|
||||||
|
// ViewController.m
|
||||||
|
// Example for lottie-macos
|
||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright © 2017 Brandon Withrow. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "ViewController.h"
|
||||||
|
#import <Lottie/Lottie.h>
|
||||||
|
|
||||||
|
@interface ViewController ()
|
||||||
|
|
||||||
|
@property (nonatomic, strong) LAAnimationView *lottieLogo;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation ViewController
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
|
||||||
|
self.lottieLogo = [LAAnimationView animationNamed:@"LottieLogo1"];
|
||||||
|
self.lottieLogo.contentMode = LAViewContentModeScaleAspectFill;
|
||||||
|
self.lottieLogo.frame = self.view.bounds;
|
||||||
|
self.lottieLogo.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
|
||||||
|
|
||||||
|
[self.view addSubview:self.lottieLogo];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewDidAppear {
|
||||||
|
[super viewDidAppear];
|
||||||
|
[self.lottieLogo play];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewDidDisappear {
|
||||||
|
[super viewDidDisappear];
|
||||||
|
[self.lottieLogo pause];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
13
Example/Example for lottie-macos/main.m
Normal file
13
Example/Example for lottie-macos/main.m
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
//
|
||||||
|
// main.m
|
||||||
|
// Example for lottie-macos
|
||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright © 2017 Brandon Withrow. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
|
int main(int argc, const char * argv[]) {
|
||||||
|
return NSApplicationMain(argc, argv);
|
||||||
|
}
|
||||||
@@ -9,3 +9,7 @@ target ‘Lottie-Example' do
|
|||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
target 'Lottie-Example-MacOS' do
|
||||||
|
pod 'lottie-ios', :path => '../'
|
||||||
|
end
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ EXTERNAL SOURCES:
|
|||||||
:path: ../
|
:path: ../
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
lottie-ios: 6757e4f89cda8bfc6d63129ffd5ed6397fbbce28
|
lottie-ios: 9a854b2d565dccc439eb9e9c544abc0d48dd587a
|
||||||
|
|
||||||
PODFILE CHECKSUM: 2172d2a5e3f454af404af18a21685e9f884ca7b9
|
PODFILE CHECKSUM: c53be6c3fde4b125bae393a9275b66d625c997d1
|
||||||
|
|
||||||
COCOAPODS: 1.1.1
|
COCOAPODS: 1.2.0.rc.1
|
||||||
|
|||||||
15
Example/Pods/Local Podspecs/lottie-ios.podspec.json
generated
15
Example/Pods/Local Podspecs/lottie-ios.podspec.json
generated
@@ -12,15 +12,24 @@
|
|||||||
"Brandon Withrow": "buba447@gmail.com"
|
"Brandon Withrow": "buba447@gmail.com"
|
||||||
},
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"git": "git@git.musta.ch:brandon-withrow/LotteAnimator.git",
|
"git": "https://github.com/airbnb/lottie-ios.git",
|
||||||
"tag": "1.0.0"
|
"tag": "1.0.0"
|
||||||
},
|
},
|
||||||
"platforms": {
|
"platforms": {
|
||||||
"ios": "8.0"
|
"ios": "8.0",
|
||||||
|
"osx": "10.12"
|
||||||
},
|
},
|
||||||
"source_files": "lottie-ios/Classes/**/*",
|
"source_files": "lottie-ios/Classes/**/*",
|
||||||
"public_header_files": "lottie-ios/Classes/PublicHeaders/*.h",
|
"public_header_files": "lottie-ios/Classes/PublicHeaders/*.h",
|
||||||
"frameworks": "UIKit",
|
"ios": {
|
||||||
|
"frameworks": "UIKit"
|
||||||
|
},
|
||||||
|
"osx": {
|
||||||
|
"frameworks": [
|
||||||
|
"AppKit",
|
||||||
|
"CoreVideo"
|
||||||
|
]
|
||||||
|
},
|
||||||
"module_name": "Lottie",
|
"module_name": "Lottie",
|
||||||
"header_dir": "Lottie"
|
"header_dir": "Lottie"
|
||||||
}
|
}
|
||||||
|
|||||||
6
Example/Pods/Manifest.lock
generated
6
Example/Pods/Manifest.lock
generated
@@ -9,8 +9,8 @@ EXTERNAL SOURCES:
|
|||||||
:path: ../
|
:path: ../
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
lottie-ios: 6757e4f89cda8bfc6d63129ffd5ed6397fbbce28
|
lottie-ios: 9a854b2d565dccc439eb9e9c544abc0d48dd587a
|
||||||
|
|
||||||
PODFILE CHECKSUM: 2172d2a5e3f454af404af18a21685e9f884ca7b9
|
PODFILE CHECKSUM: c53be6c3fde4b125bae393a9275b66d625c997d1
|
||||||
|
|
||||||
COCOAPODS: 1.1.1
|
COCOAPODS: 1.2.0.rc.1
|
||||||
|
|||||||
1886
Example/Pods/Pods.xcodeproj/project.pbxproj
generated
1886
Example/Pods/Pods.xcodeproj/project.pbxproj
generated
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,207 @@
|
|||||||
|
# Acknowledgements
|
||||||
|
This application makes use of the following third party libraries:
|
||||||
|
|
||||||
|
## lottie-ios
|
||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright {yyyy} {name of copyright owner}
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
Generated by CocoaPods - https://cocoapods.org
|
||||||
@@ -0,0 +1,239 @@
|
|||||||
|
<?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>PreferenceSpecifiers</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>FooterText</key>
|
||||||
|
<string>This application makes use of the following third party libraries:</string>
|
||||||
|
<key>Title</key>
|
||||||
|
<string>Acknowledgements</string>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>PSGroupSpecifier</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>FooterText</key>
|
||||||
|
<string> Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright {yyyy} {name of copyright owner}
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.</string>
|
||||||
|
<key>License</key>
|
||||||
|
<string>Apache</string>
|
||||||
|
<key>Title</key>
|
||||||
|
<string>lottie-ios</string>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>PSGroupSpecifier</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>FooterText</key>
|
||||||
|
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
||||||
|
<key>Title</key>
|
||||||
|
<string></string>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>PSGroupSpecifier</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>StringsTable</key>
|
||||||
|
<string>Acknowledgements</string>
|
||||||
|
<key>Title</key>
|
||||||
|
<string>Acknowledgements</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
5
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-dummy.m
generated
Normal file
5
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-dummy.m
generated
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
@interface PodsDummy_Pods_Lottie_Example_MacOS : NSObject
|
||||||
|
@end
|
||||||
|
@implementation PodsDummy_Pods_Lottie_Example_MacOS
|
||||||
|
@end
|
||||||
99
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-frameworks.sh
generated
Executable file
99
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-frameworks.sh
generated
Executable file
@@ -0,0 +1,99 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
|
||||||
|
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
|
||||||
|
|
||||||
|
install_framework()
|
||||||
|
{
|
||||||
|
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
|
||||||
|
local source="${BUILT_PRODUCTS_DIR}/$1"
|
||||||
|
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
|
||||||
|
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
|
||||||
|
elif [ -r "$1" ]; then
|
||||||
|
local source="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
|
||||||
|
if [ -L "${source}" ]; then
|
||||||
|
echo "Symlinked..."
|
||||||
|
source="$(readlink "${source}")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# use filter instead of exclude so missing patterns dont' throw errors
|
||||||
|
echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
|
||||||
|
rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
|
||||||
|
|
||||||
|
local basename
|
||||||
|
basename="$(basename -s .framework "$1")"
|
||||||
|
binary="${destination}/${basename}.framework/${basename}"
|
||||||
|
if ! [ -r "$binary" ]; then
|
||||||
|
binary="${destination}/${basename}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Strip invalid architectures so "fat" simulator / device frameworks work on device
|
||||||
|
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
|
||||||
|
strip_invalid_archs "$binary"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Resign the code if required by the build settings to avoid unstable apps
|
||||||
|
code_sign_if_enabled "${destination}/$(basename "$1")"
|
||||||
|
|
||||||
|
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
|
||||||
|
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
|
||||||
|
local swift_runtime_libs
|
||||||
|
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
|
||||||
|
for lib in $swift_runtime_libs; do
|
||||||
|
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
|
||||||
|
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
|
||||||
|
code_sign_if_enabled "${destination}/${lib}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Signs a framework with the provided identity
|
||||||
|
code_sign_if_enabled() {
|
||||||
|
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||||
|
# Use the current code_sign_identitiy
|
||||||
|
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||||
|
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'"
|
||||||
|
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
code_sign_cmd="$code_sign_cmd &"
|
||||||
|
fi
|
||||||
|
echo "$code_sign_cmd"
|
||||||
|
eval "$code_sign_cmd"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Strip invalid architectures
|
||||||
|
strip_invalid_archs() {
|
||||||
|
binary="$1"
|
||||||
|
# Get architectures for current file
|
||||||
|
archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)"
|
||||||
|
stripped=""
|
||||||
|
for arch in $archs; do
|
||||||
|
if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then
|
||||||
|
# Strip non-valid architectures in-place
|
||||||
|
lipo -remove "$arch" -output "$binary" "$binary" || exit 1
|
||||||
|
stripped="$stripped $arch"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ "$stripped" ]]; then
|
||||||
|
echo "Stripped $binary of architectures:$stripped"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
||||||
|
install_framework "$BUILT_PRODUCTS_DIR/lottie-ios-OSX/Lottie.framework"
|
||||||
|
fi
|
||||||
|
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||||
|
install_framework "$BUILT_PRODUCTS_DIR/lottie-ios-OSX/Lottie.framework"
|
||||||
|
fi
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
wait
|
||||||
|
fi
|
||||||
99
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-resources.sh
generated
Executable file
99
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-resources.sh
generated
Executable file
@@ -0,0 +1,99 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
|
|
||||||
|
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
||||||
|
> "$RESOURCES_TO_COPY"
|
||||||
|
|
||||||
|
XCASSET_FILES=()
|
||||||
|
|
||||||
|
case "${TARGETED_DEVICE_FAMILY}" in
|
||||||
|
1,2)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device iphone"
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device tv"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device mac"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
install_resource()
|
||||||
|
{
|
||||||
|
if [[ "$1" = /* ]] ; then
|
||||||
|
RESOURCE_PATH="$1"
|
||||||
|
else
|
||||||
|
RESOURCE_PATH="${PODS_ROOT}/$1"
|
||||||
|
fi
|
||||||
|
if [[ ! -e "$RESOURCE_PATH" ]] ; then
|
||||||
|
cat << EOM
|
||||||
|
error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
|
||||||
|
EOM
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
case $RESOURCE_PATH in
|
||||||
|
*.storyboard)
|
||||||
|
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||||
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
|
;;
|
||||||
|
*.xib)
|
||||||
|
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||||
|
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||||
|
;;
|
||||||
|
*.framework)
|
||||||
|
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||||
|
;;
|
||||||
|
*.xcdatamodel)
|
||||||
|
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\""
|
||||||
|
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
||||||
|
;;
|
||||||
|
*.xcdatamodeld)
|
||||||
|
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
|
||||||
|
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
||||||
|
;;
|
||||||
|
*.xcmappingmodel)
|
||||||
|
echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
|
||||||
|
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
||||||
|
;;
|
||||||
|
*.xcassets)
|
||||||
|
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
|
||||||
|
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$RESOURCE_PATH"
|
||||||
|
echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
|
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
|
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
||||||
|
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
|
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
|
fi
|
||||||
|
rm -f "$RESOURCES_TO_COPY"
|
||||||
|
|
||||||
|
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
|
||||||
|
then
|
||||||
|
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
||||||
|
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
||||||
|
while read line; do
|
||||||
|
if [[ $line != "${PODS_ROOT}*" ]]; then
|
||||||
|
XCASSET_FILES+=("$line")
|
||||||
|
fi
|
||||||
|
done <<<"$OTHER_XCASSETS"
|
||||||
|
|
||||||
|
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||||
|
fi
|
||||||
16
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-umbrella.h
generated
Normal file
16
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-umbrella.h
generated
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT double Pods_Lottie_Example_MacOSVersionNumber;
|
||||||
|
FOUNDATION_EXPORT const unsigned char Pods_Lottie_Example_MacOSVersionString[];
|
||||||
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
CODE_SIGN_IDENTITY =
|
||||||
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-OSX"
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks'
|
||||||
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-OSX/Lottie.framework/Headers"
|
||||||
|
OTHER_LDFLAGS = $(inherited) -framework "Lottie"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
6
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS.modulemap
generated
Normal file
6
Example/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS.modulemap
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
framework module Pods_Lottie_Example_MacOS {
|
||||||
|
umbrella header "Pods-Lottie-Example-MacOS-umbrella.h"
|
||||||
|
|
||||||
|
export *
|
||||||
|
module * { export * }
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
CODE_SIGN_IDENTITY =
|
||||||
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-OSX"
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks'
|
||||||
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-OSX/Lottie.framework/Headers"
|
||||||
|
OTHER_LDFLAGS = $(inherited) -framework "Lottie"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
@@ -59,8 +59,13 @@ code_sign_if_enabled() {
|
|||||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||||
# Use the current code_sign_identitiy
|
# Use the current code_sign_identitiy
|
||||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||||
echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\""
|
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'"
|
||||||
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1"
|
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
code_sign_cmd="$code_sign_cmd &"
|
||||||
|
fi
|
||||||
|
echo "$code_sign_cmd"
|
||||||
|
eval "$code_sign_cmd"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,8 +89,11 @@ strip_invalid_archs() {
|
|||||||
|
|
||||||
|
|
||||||
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/lottie-ios/Lottie.framework"
|
install_framework "$BUILT_PRODUCTS_DIR/lottie-ios-iOS/Lottie.framework"
|
||||||
fi
|
fi
|
||||||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||||
install_framework "$BUILT_PRODUCTS_DIR/lottie-ios/Lottie.framework"
|
install_framework "$BUILT_PRODUCTS_DIR/lottie-ios-iOS/Lottie.framework"
|
||||||
|
fi
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
wait
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ case "${TARGETED_DEVICE_FAMILY}" in
|
|||||||
2)
|
2)
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||||
;;
|
;;
|
||||||
|
3)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device tv"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
TARGET_DEVICE_ARGS="--target-device mac"
|
TARGET_DEVICE_ARGS="--target-device mac"
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-iOS"
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios"
|
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios/Lottie.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-iOS/Lottie.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "Lottie"
|
OTHER_LDFLAGS = $(inherited) -framework "Lottie"
|
||||||
PODS_BUILD_DIR = $BUILD_DIR
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-iOS"
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios"
|
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios/Lottie.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-iOS/Lottie.framework/Headers"
|
||||||
OTHER_LDFLAGS = $(inherited) -framework "Lottie"
|
OTHER_LDFLAGS = $(inherited) -framework "Lottie"
|
||||||
PODS_BUILD_DIR = $BUILD_DIR
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
|||||||
@@ -59,8 +59,13 @@ code_sign_if_enabled() {
|
|||||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||||
# Use the current code_sign_identitiy
|
# Use the current code_sign_identitiy
|
||||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||||
echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\""
|
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'"
|
||||||
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1"
|
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
code_sign_cmd="$code_sign_cmd &"
|
||||||
|
fi
|
||||||
|
echo "$code_sign_cmd"
|
||||||
|
eval "$code_sign_cmd"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,3 +87,6 @@ strip_invalid_archs() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||||
|
wait
|
||||||
|
fi
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ case "${TARGETED_DEVICE_FAMILY}" in
|
|||||||
2)
|
2)
|
||||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||||
;;
|
;;
|
||||||
|
3)
|
||||||
|
TARGET_DEVICE_ARGS="--target-device tv"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
TARGET_DEVICE_ARGS="--target-device mac"
|
TARGET_DEVICE_ARGS="--target-device mac"
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-iOS"
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios"
|
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios/Lottie.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-iOS/Lottie.framework/Headers"
|
||||||
PODS_BUILD_DIR = $BUILD_DIR
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
|
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-iOS"
|
||||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios"
|
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||||
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios/Lottie.framework/Headers"
|
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/lottie-ios-iOS/Lottie.framework/Headers"
|
||||||
PODS_BUILD_DIR = $BUILD_DIR
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}/Pods
|
PODS_ROOT = ${SRCROOT}/Pods
|
||||||
|
|||||||
26
Example/Pods/Target Support Files/lottie-ios-OSX/Info.plist
generated
Normal file
26
Example/Pods/Target Support Files/lottie-ios-OSX/Info.plist
generated
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?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>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>${PRODUCT_NAME}</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>FMWK</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>${CURRENT_PROJECT_VERSION}</string>
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string></string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
5
Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-dummy.m
generated
Normal file
5
Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-dummy.m
generated
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
@interface PodsDummy_lottie_ios_OSX : NSObject
|
||||||
|
@end
|
||||||
|
@implementation PodsDummy_lottie_ios_OSX
|
||||||
|
@end
|
||||||
12
Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-prefix.pch
generated
Normal file
12
Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-prefix.pch
generated
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
20
Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-umbrella.h
generated
Normal file
20
Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX-umbrella.h
generated
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#import "LAAnimationTransitionController.h"
|
||||||
|
#import "LAAnimationView.h"
|
||||||
|
#import "LAAnimationView_Compat.h"
|
||||||
|
#import "Lottie.h"
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT double LottieVersionNumber;
|
||||||
|
FOUNDATION_EXPORT const unsigned char LottieVersionString[];
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
framework module Lottie {
|
framework module Lottie {
|
||||||
umbrella header "lottie-ios-umbrella.h"
|
umbrella header "lottie-ios-OSX-umbrella.h"
|
||||||
|
|
||||||
export *
|
export *
|
||||||
module * { export * }
|
module * { export * }
|
||||||
11
Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX.xcconfig
generated
Normal file
11
Example/Pods/Target Support Files/lottie-ios-OSX/lottie-ios-OSX.xcconfig
generated
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
CODE_SIGN_IDENTITY =
|
||||||
|
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/lottie-ios-OSX
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
|
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
||||||
|
OTHER_LDFLAGS = -framework "AppKit" -framework "CoreVideo"
|
||||||
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
|
PODS_ROOT = ${SRCROOT}
|
||||||
|
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||||
|
SKIP_INSTALL = YES
|
||||||
26
Example/Pods/Target Support Files/lottie-ios-iOS/Info.plist
generated
Normal file
26
Example/Pods/Target Support Files/lottie-ios-iOS/Info.plist
generated
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?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>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>${PRODUCT_NAME}</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>FMWK</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>${CURRENT_PROJECT_VERSION}</string>
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string></string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
5
Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-dummy.m
generated
Normal file
5
Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-dummy.m
generated
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
@interface PodsDummy_lottie_ios_iOS : NSObject
|
||||||
|
@end
|
||||||
|
@implementation PodsDummy_lottie_ios_iOS
|
||||||
|
@end
|
||||||
12
Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-prefix.pch
generated
Normal file
12
Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS-prefix.pch
generated
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,9 +1,18 @@
|
|||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#import "LAAnimationTransitionController.h"
|
#import "LAAnimationTransitionController.h"
|
||||||
#import "LAAnimationView.h"
|
#import "LAAnimationView.h"
|
||||||
|
#import "LAAnimationView_Compat.h"
|
||||||
#import "Lottie.h"
|
#import "Lottie.h"
|
||||||
|
|
||||||
FOUNDATION_EXPORT double LottieVersionNumber;
|
FOUNDATION_EXPORT double LottieVersionNumber;
|
||||||
6
Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS.modulemap
generated
Normal file
6
Example/Pods/Target Support Files/lottie-ios-iOS/lottie-ios-iOS.modulemap
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
framework module Lottie {
|
||||||
|
umbrella header "lottie-ios-iOS-umbrella.h"
|
||||||
|
|
||||||
|
export *
|
||||||
|
module * { export * }
|
||||||
|
}
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/lottie-ios
|
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/lottie-ios-iOS
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||||
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
||||||
OTHER_LDFLAGS = -framework "UIKit"
|
OTHER_LDFLAGS = -framework "UIKit"
|
||||||
PODS_BUILD_DIR = $BUILD_DIR
|
PODS_BUILD_DIR = $BUILD_DIR
|
||||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||||
PODS_ROOT = ${SRCROOT}
|
PODS_ROOT = ${SRCROOT}
|
||||||
|
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||||
SKIP_INSTALL = YES
|
SKIP_INSTALL = YES
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#import <Foundation/Foundation.h>
|
|
||||||
@interface PodsDummy_lottie_ios : NSObject
|
|
||||||
@end
|
|
||||||
@implementation PodsDummy_lottie_ios
|
|
||||||
@end
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#ifdef __OBJC__
|
|
||||||
#import <UIKit/UIKit.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -72,6 +72,14 @@
|
|||||||
873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; };
|
873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; };
|
||||||
B8E8748514D4FA9C683B1711 /* Pods_lottie_ios_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EBDFEA18138A27DD5A89337 /* Pods_lottie_ios_Tests.framework */; };
|
B8E8748514D4FA9C683B1711 /* Pods_lottie_ios_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EBDFEA18138A27DD5A89337 /* Pods_lottie_ios_Tests.framework */; };
|
||||||
EEC1E1E127D92497BB7EB181 /* Pods_Lottie_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B15EF764A3BC631B7F802E1 /* Pods_Lottie_Example.framework */; };
|
EEC1E1E127D92497BB7EB181 /* Pods_Lottie_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B15EF764A3BC631B7F802E1 /* Pods_Lottie_Example.framework */; };
|
||||||
|
FA1F5A8F1E42B25500FF36BF /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A8E1E42B25500FF36BF /* AppDelegate.m */; };
|
||||||
|
FA1F5A921E42B25500FF36BF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A911E42B25500FF36BF /* main.m */; };
|
||||||
|
FA1F5A951E42B25500FF36BF /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A941E42B25500FF36BF /* ViewController.m */; };
|
||||||
|
FA1F5A971E42B25500FF36BF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FA1F5A961E42B25500FF36BF /* Assets.xcassets */; };
|
||||||
|
FA1F5A9A1E42B25500FF36BF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA1F5A981E42B25500FF36BF /* Main.storyboard */; };
|
||||||
|
FA1F5AB11E42C21600FF36BF /* LottieLogo1.json in Resources */ = {isa = PBXBuildFile; fileRef = 62B2547B1E3A90040035A842 /* LottieLogo1.json */; };
|
||||||
|
FA1F5AB21E42C21C00FF36BF /* 9squares-AlBoardman.json in Resources */ = {isa = PBXBuildFile; fileRef = 62B254771E3A90040035A842 /* 9squares-AlBoardman.json */; };
|
||||||
|
FAFA304C27E35A5B877B245D /* Pods_Lottie_Example_MacOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC7587B24F90B40ADD0CEA8C /* Pods_Lottie_Example_MacOS.framework */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
@@ -162,12 +170,24 @@
|
|||||||
62B2549F1E3A90040035A842 /* vcTransition1.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = vcTransition1.json; path = Assets/vcTransition1.json; sourceTree = SOURCE_ROOT; };
|
62B2549F1E3A90040035A842 /* vcTransition1.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = vcTransition1.json; path = Assets/vcTransition1.json; sourceTree = SOURCE_ROOT; };
|
||||||
62B254A01E3A90040035A842 /* vcTransition2.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = vcTransition2.json; path = Assets/vcTransition2.json; sourceTree = SOURCE_ROOT; };
|
62B254A01E3A90040035A842 /* vcTransition2.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = vcTransition2.json; path = Assets/vcTransition2.json; sourceTree = SOURCE_ROOT; };
|
||||||
62B254A11E3A90040035A842 /* Watermelon.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = Watermelon.json; path = Assets/Watermelon.json; sourceTree = SOURCE_ROOT; };
|
62B254A11E3A90040035A842 /* Watermelon.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = Watermelon.json; path = Assets/Watermelon.json; sourceTree = SOURCE_ROOT; };
|
||||||
|
687661C57667AB2C5371F7BB /* Pods-Lottie-Example-MacOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Lottie-Example-MacOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
6BC326E3835099034E161393 /* Pods-Lottie-Example-MacOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Lottie-Example-MacOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
6DC4D284D6109D58EE331F86 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
|
6DC4D284D6109D58EE331F86 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
|
||||||
71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||||
94B0A9361261413477E89F1E /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
|
94B0A9361261413477E89F1E /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
|
||||||
99F3982078CC5B93DA1AFF47 /* Pods-Lottie-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Lottie-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Lottie-Example/Pods-Lottie-Example.debug.xcconfig"; sourceTree = "<group>"; };
|
99F3982078CC5B93DA1AFF47 /* Pods-Lottie-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Lottie-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Lottie-Example/Pods-Lottie-Example.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
AC7587B24F90B40ADD0CEA8C /* Pods_Lottie_Example_MacOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Lottie_Example_MacOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
D8C83F4B06A893EA3322E53A /* Pods-Lottie-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Lottie-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Lottie-Example/Pods-Lottie-Example.release.xcconfig"; sourceTree = "<group>"; };
|
D8C83F4B06A893EA3322E53A /* Pods-Lottie-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Lottie-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Lottie-Example/Pods-Lottie-Example.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
FA1F5A8B1E42B25500FF36BF /* Lottie-Example-MacOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Lottie-Example-MacOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
FA1F5A8D1E42B25500FF36BF /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||||
|
FA1F5A8E1E42B25500FF36BF /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||||
|
FA1F5A911E42B25500FF36BF /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||||
|
FA1F5A931E42B25500FF36BF /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
|
||||||
|
FA1F5A941E42B25500FF36BF /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
|
||||||
|
FA1F5A961E42B25500FF36BF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
|
FA1F5A991E42B25500FF36BF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||||
|
FA1F5A9B1E42B25500FF36BF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -193,6 +213,14 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
FA1F5A881E42B25500FF36BF /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
FAFA304C27E35A5B877B245D /* Pods_Lottie_Example_MacOS.framework in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
@@ -203,6 +231,8 @@
|
|||||||
278F8B6FD5D7B8D80A860E31 /* Pods-lottie-ios_Tests.release.xcconfig */,
|
278F8B6FD5D7B8D80A860E31 /* Pods-lottie-ios_Tests.release.xcconfig */,
|
||||||
99F3982078CC5B93DA1AFF47 /* Pods-Lottie-Example.debug.xcconfig */,
|
99F3982078CC5B93DA1AFF47 /* Pods-Lottie-Example.debug.xcconfig */,
|
||||||
D8C83F4B06A893EA3322E53A /* Pods-Lottie-Example.release.xcconfig */,
|
D8C83F4B06A893EA3322E53A /* Pods-Lottie-Example.release.xcconfig */,
|
||||||
|
6BC326E3835099034E161393 /* Pods-Lottie-Example-MacOS.debug.xcconfig */,
|
||||||
|
687661C57667AB2C5371F7BB /* Pods-Lottie-Example-MacOS.release.xcconfig */,
|
||||||
);
|
);
|
||||||
name = Pods;
|
name = Pods;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -212,6 +242,7 @@
|
|||||||
children = (
|
children = (
|
||||||
60FF7A9C1954A5C5007DD14C /* Podspec Metadata */,
|
60FF7A9C1954A5C5007DD14C /* Podspec Metadata */,
|
||||||
6003F593195388D20070C39A /* Example for lottie-ios */,
|
6003F593195388D20070C39A /* Example for lottie-ios */,
|
||||||
|
FA1F5A8C1E42B25500FF36BF /* Example for lottie-macos */,
|
||||||
6003F5B5195388D20070C39A /* Tests */,
|
6003F5B5195388D20070C39A /* Tests */,
|
||||||
6003F58C195388D20070C39A /* Frameworks */,
|
6003F58C195388D20070C39A /* Frameworks */,
|
||||||
6003F58B195388D20070C39A /* Products */,
|
6003F58B195388D20070C39A /* Products */,
|
||||||
@@ -224,6 +255,7 @@
|
|||||||
children = (
|
children = (
|
||||||
6003F58A195388D20070C39A /* Lottie-Example.app */,
|
6003F58A195388D20070C39A /* Lottie-Example.app */,
|
||||||
6003F5AE195388D20070C39A /* lottie-ios_Tests.xctest */,
|
6003F5AE195388D20070C39A /* lottie-ios_Tests.xctest */,
|
||||||
|
FA1F5A8B1E42B25500FF36BF /* Lottie-Example-MacOS.app */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -237,6 +269,7 @@
|
|||||||
6003F5AF195388D20070C39A /* XCTest.framework */,
|
6003F5AF195388D20070C39A /* XCTest.framework */,
|
||||||
4EBDFEA18138A27DD5A89337 /* Pods_lottie_ios_Tests.framework */,
|
4EBDFEA18138A27DD5A89337 /* Pods_lottie_ios_Tests.framework */,
|
||||||
3B15EF764A3BC631B7F802E1 /* Pods_Lottie_Example.framework */,
|
3B15EF764A3BC631B7F802E1 /* Pods_Lottie_Example.framework */,
|
||||||
|
AC7587B24F90B40ADD0CEA8C /* Pods_Lottie_Example_MacOS.framework */,
|
||||||
);
|
);
|
||||||
name = Frameworks;
|
name = Frameworks;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -384,6 +417,29 @@
|
|||||||
path = Assets/TypeFace;
|
path = Assets/TypeFace;
|
||||||
sourceTree = SOURCE_ROOT;
|
sourceTree = SOURCE_ROOT;
|
||||||
};
|
};
|
||||||
|
FA1F5A8C1E42B25500FF36BF /* Example for lottie-macos */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
FA1F5A8D1E42B25500FF36BF /* AppDelegate.h */,
|
||||||
|
FA1F5A8E1E42B25500FF36BF /* AppDelegate.m */,
|
||||||
|
FA1F5A931E42B25500FF36BF /* ViewController.h */,
|
||||||
|
FA1F5A941E42B25500FF36BF /* ViewController.m */,
|
||||||
|
FA1F5A961E42B25500FF36BF /* Assets.xcassets */,
|
||||||
|
FA1F5A981E42B25500FF36BF /* Main.storyboard */,
|
||||||
|
FA1F5A9B1E42B25500FF36BF /* Info.plist */,
|
||||||
|
FA1F5A901E42B25500FF36BF /* Supporting Files */,
|
||||||
|
);
|
||||||
|
path = "Example for lottie-macos";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
FA1F5A901E42B25500FF36BF /* Supporting Files */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
FA1F5A911E42B25500FF36BF /* main.m */,
|
||||||
|
);
|
||||||
|
name = "Supporting Files";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
@@ -428,6 +484,26 @@
|
|||||||
productReference = 6003F5AE195388D20070C39A /* lottie-ios_Tests.xctest */;
|
productReference = 6003F5AE195388D20070C39A /* lottie-ios_Tests.xctest */;
|
||||||
productType = "com.apple.product-type.bundle.unit-test";
|
productType = "com.apple.product-type.bundle.unit-test";
|
||||||
};
|
};
|
||||||
|
FA1F5A8A1E42B25500FF36BF /* Lottie-Example-MacOS */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = FA1F5A9E1E42B25500FF36BF /* Build configuration list for PBXNativeTarget "Lottie-Example-MacOS" */;
|
||||||
|
buildPhases = (
|
||||||
|
EDE8BE235F9BC416C262B8CD /* [CP] Check Pods Manifest.lock */,
|
||||||
|
FA1F5A871E42B25500FF36BF /* Sources */,
|
||||||
|
FA1F5A881E42B25500FF36BF /* Frameworks */,
|
||||||
|
FA1F5A891E42B25500FF36BF /* Resources */,
|
||||||
|
91D398937B929A107AF1ACE6 /* [CP] Embed Pods Frameworks */,
|
||||||
|
93F98080B14B4970E25D8A90 /* [CP] Copy Pods Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = "Lottie-Example-MacOS";
|
||||||
|
productName = "Example for lottie-macos";
|
||||||
|
productReference = FA1F5A8B1E42B25500FF36BF /* Lottie-Example-MacOS.app */;
|
||||||
|
productType = "com.apple.product-type.application";
|
||||||
|
};
|
||||||
/* End PBXNativeTarget section */
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
/* Begin PBXProject section */
|
/* Begin PBXProject section */
|
||||||
@@ -441,6 +517,10 @@
|
|||||||
6003F5AD195388D20070C39A = {
|
6003F5AD195388D20070C39A = {
|
||||||
TestTargetID = 6003F589195388D20070C39A;
|
TestTargetID = 6003F589195388D20070C39A;
|
||||||
};
|
};
|
||||||
|
FA1F5A8A1E42B25500FF36BF = {
|
||||||
|
CreatedOnToolsVersion = 8.2.1;
|
||||||
|
ProvisioningStyle = Automatic;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "lottie-ios" */;
|
buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "lottie-ios" */;
|
||||||
@@ -458,6 +538,7 @@
|
|||||||
targets = (
|
targets = (
|
||||||
6003F589195388D20070C39A /* Lottie-Example */,
|
6003F589195388D20070C39A /* Lottie-Example */,
|
||||||
6003F5AD195388D20070C39A /* lottie-ios_Tests */,
|
6003F5AD195388D20070C39A /* lottie-ios_Tests */,
|
||||||
|
FA1F5A8A1E42B25500FF36BF /* Lottie-Example-MacOS */,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
@@ -525,6 +606,17 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
FA1F5A891E42B25500FF36BF /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
FA1F5A971E42B25500FF36BF /* Assets.xcassets in Resources */,
|
||||||
|
FA1F5AB11E42C21600FF36BF /* LottieLogo1.json in Resources */,
|
||||||
|
FA1F5A9A1E42B25500FF36BF /* Main.storyboard in Resources */,
|
||||||
|
FA1F5AB21E42C21C00FF36BF /* 9squares-AlBoardman.json in Resources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
@@ -588,6 +680,36 @@
|
|||||||
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
|
91D398937B929A107AF1ACE6 /* [CP] Embed Pods Frameworks */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Embed Pods Frameworks";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-frameworks.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
93F98080B14B4970E25D8A90 /* [CP] Copy Pods Resources */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Copy Pods Resources";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Lottie-Example-MacOS/Pods-Lottie-Example-MacOS-resources.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
A217B136975F8584F3390B8E /* [CP] Check Pods Manifest.lock */ = {
|
A217B136975F8584F3390B8E /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@@ -603,6 +725,21 @@
|
|||||||
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
|
EDE8BE235F9BC416C262B8CD /* [CP] Check Pods Manifest.lock */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
FDEA7632D2E2B3D469D7D710 /* [CP] Copy Pods Resources */ = {
|
FDEA7632D2E2B3D469D7D710 /* [CP] Copy Pods Resources */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@@ -644,6 +781,16 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
FA1F5A871E42B25500FF36BF /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
FA1F5A951E42B25500FF36BF /* ViewController.m in Sources */,
|
||||||
|
FA1F5A921E42B25500FF36BF /* main.m in Sources */,
|
||||||
|
FA1F5A8F1E42B25500FF36BF /* AppDelegate.m in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
/* End PBXSourcesBuildPhase section */
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXTargetDependency section */
|
/* Begin PBXTargetDependency section */
|
||||||
@@ -679,6 +826,14 @@
|
|||||||
name = LaunchScreen.storyboard;
|
name = LaunchScreen.storyboard;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
FA1F5A981E42B25500FF36BF /* Main.storyboard */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
FA1F5A991E42B25500FF36BF /* Base */,
|
||||||
|
);
|
||||||
|
name = Main.storyboard;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
/* End PBXVariantGroup section */
|
/* End PBXVariantGroup section */
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
@@ -829,6 +984,57 @@
|
|||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
FA1F5A9C1E42B25500FF36BF /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 6BC326E3835099034E161393 /* Pods-Lottie-Example-MacOS.debug.xcconfig */;
|
||||||
|
buildSettings = {
|
||||||
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CODE_SIGN_IDENTITY = "-";
|
||||||
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
INFOPLIST_FILE = "Example for lottie-macos/Info.plist";
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.12;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.Lottie-ExampleMacOS.Example-for-lottie-macos";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SDKROOT = macosx;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
FA1F5A9D1E42B25500FF36BF /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 687661C57667AB2C5371F7BB /* Pods-Lottie-Example-MacOS.release.xcconfig */;
|
||||||
|
buildSettings = {
|
||||||
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CODE_SIGN_IDENTITY = "-";
|
||||||
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
INFOPLIST_FILE = "Example for lottie-macos/Info.plist";
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.12;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.Lottie-ExampleMacOS.Example-for-lottie-macos";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SDKROOT = macosx;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
@@ -859,6 +1065,15 @@
|
|||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
|
FA1F5A9E1E42B25500FF36BF /* Build configuration list for PBXNativeTarget "Lottie-Example-MacOS" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
FA1F5A9C1E42B25500FF36BF /* Debug */,
|
||||||
|
FA1F5A9D1E42B25500FF36BF /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
/* End XCConfigurationList section */
|
/* End XCConfigurationList section */
|
||||||
};
|
};
|
||||||
rootObject = 6003F582195388D10070C39A /* Project object */;
|
rootObject = 6003F582195388D10070C39A /* Project object */;
|
||||||
|
|||||||
@@ -7,9 +7,10 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
62CA59BD1E3C173B002D7188 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59BB1E3C173B002D7188 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2DBA19324CDD83B5F0F115B8 /* LAAnimationView_Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DBA16351B4FA408937A16CE /* LAAnimationView_Compat.h */; };
|
||||||
|
2DBA1C5A8098705F35AF3C1D /* LAPlatformCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DBA1CAF95F14074593D133F /* LAPlatformCompat.h */; };
|
||||||
|
62CA59BD1E3C173B002D7188 /* Lottie-iOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59BB1E3C173B002D7188 /* Lottie-iOS.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
62CA5A051E3C179F002D7188 /* LAAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
62CA5A051E3C179F002D7188 /* LAAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
62CA5A061E3C179F002D7188 /* LAAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C51E3C179F002D7188 /* LAAnimationView.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
||||||
62CA5A071E3C179F002D7188 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C61E3C179F002D7188 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
62CA5A071E3C179F002D7188 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C61E3C179F002D7188 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
62CA5A081E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C71E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h */; };
|
62CA5A081E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C71E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h */; };
|
||||||
62CA5A091E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59C81E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m */; };
|
62CA5A091E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59C81E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m */; };
|
||||||
@@ -73,14 +74,92 @@
|
|||||||
62CA5A431E3C179F002D7188 /* LAShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */; };
|
62CA5A431E3C179F002D7188 /* LAShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */; };
|
||||||
62CA5A441E3C179F002D7188 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */; };
|
62CA5A441E3C179F002D7188 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */; };
|
||||||
62CA5A451E3C179F002D7188 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */; };
|
62CA5A451E3C179F002D7188 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */; };
|
||||||
|
FA1F5A821E42B1D200FF36BF /* CADisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A6F1E42B1C400FF36BF /* CADisplayLink.m */; };
|
||||||
|
FA1F5A831E42B1D200FF36BF /* CALayer+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A711E42B1C400FF36BF /* CALayer+Compat.m */; };
|
||||||
|
FA1F5A841E42B1D200FF36BF /* NSValue+Compat.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A731E42B1C400FF36BF /* NSValue+Compat.m */; };
|
||||||
|
FA1F5A851E42B1D200FF36BF /* UIBezierPath.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A751E42B1C400FF36BF /* UIBezierPath.m */; };
|
||||||
|
FA1F5A861E42B1D200FF36BF /* UIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1F5A771E42B1C400FF36BF /* UIColor.m */; };
|
||||||
|
FA1F5AA01E42B52800FF36BF /* LAAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A9F1E42B52800FF36BF /* LAAnimationView.h */; };
|
||||||
|
FA1F5AA11E42B52800FF36BF /* LAAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A9F1E42B52800FF36BF /* LAAnimationView.h */; };
|
||||||
|
FA1F5AA71E42B54400FF36BF /* CADisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A6E1E42B1C400FF36BF /* CADisplayLink.h */; };
|
||||||
|
FA1F5AA81E42B54400FF36BF /* CALayer+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A701E42B1C400FF36BF /* CALayer+Compat.h */; };
|
||||||
|
FA1F5AA91E42B54400FF36BF /* NSValue+Compat.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A721E42B1C400FF36BF /* NSValue+Compat.h */; };
|
||||||
|
FA1F5AAA1E42B54400FF36BF /* UIBezierPath.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A741E42B1C400FF36BF /* UIBezierPath.h */; };
|
||||||
|
FA1F5AAB1E42B54400FF36BF /* UIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5A761E42B1C400FF36BF /* UIColor.h */; };
|
||||||
|
FA1F5AB01E42C11F00FF36BF /* Lottie-macOS.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1F5AAE1E42C11F00FF36BF /* Lottie-macOS.h */; };
|
||||||
|
FAE1F79E1E428CBE002E0974 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59C81E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m */; };
|
||||||
|
FAE1F79F1E428CBE002E0974 /* CGGeometryAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59CA1E3C179F002D7188 /* CGGeometryAdditions.m */; };
|
||||||
|
FAE1F7A01E428CBE002E0974 /* LAMaskLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59ED1E3C179F002D7188 /* LAMaskLayer.m */; };
|
||||||
|
FAE1F7A11E428CBE002E0974 /* LAShapeStroke.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59FE1E3C179F002D7188 /* LAShapeStroke.m */; };
|
||||||
|
FAE1F7A21E428CBE002E0974 /* LAShapeTrimPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */; };
|
||||||
|
FAE1F7A31E428CBE002E0974 /* LAAnimatablePointValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D41E3C179F002D7188 /* LAAnimatablePointValue.m */; };
|
||||||
|
FAE1F7A41E428CBE002E0974 /* LAEllipseShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E21E3C179F002D7188 /* LAEllipseShapeLayer.m */; };
|
||||||
|
FAE1F7A51E428CBE002E0974 /* LAAnimatableScaleValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D61E3C179F002D7188 /* LAAnimatableScaleValue.m */; };
|
||||||
|
FAE1F7A61E428CBE002E0974 /* LARectShapeLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F01E3C179F002D7188 /* LARectShapeLayer.m */; };
|
||||||
|
FAE1F7A71E428CBE002E0974 /* LAAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59DE1E3C179F002D7188 /* LAAnimationView.m */; };
|
||||||
|
FAE1F7A81E428CBE002E0974 /* LAGroupLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E41E3C179F002D7188 /* LAGroupLayerView.m */; };
|
||||||
|
FAE1F7A91E428CBE002E0974 /* LAShapeFill.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F41E3C179F002D7188 /* LAShapeFill.m */; };
|
||||||
|
FAE1F7AA1E428CBE002E0974 /* LAShapeTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A001E3C179F002D7188 /* LAShapeTransform.m */; };
|
||||||
|
FAE1F7AB1E428CBE002E0974 /* LAShapeRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59FC1E3C179F002D7188 /* LAShapeRectangle.m */; };
|
||||||
|
FAE1F7AC1E428CBE002E0974 /* LAAnimatableShapeValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D81E3C179F002D7188 /* LAAnimatableShapeValue.m */; };
|
||||||
|
FAE1F7AD1E428CBE002E0974 /* LAAnimatableColorValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59CE1E3C179F002D7188 /* LAAnimatableColorValue.m */; };
|
||||||
|
FAE1F7AE1E428CBE002E0974 /* LAAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59DB1E3C179F002D7188 /* LAAnimationCache.m */; };
|
||||||
|
FAE1F7AF1E428CBE002E0974 /* LAShapePath.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59FA1E3C179F002D7188 /* LAShapePath.m */; };
|
||||||
|
FAE1F7B01E428CBE002E0974 /* LAShapeGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F61E3C179F002D7188 /* LAShapeGroup.m */; };
|
||||||
|
FAE1F7B11E428CBE002E0974 /* LAAnimatableNumberValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D21E3C179F002D7188 /* LAAnimatableNumberValue.m */; };
|
||||||
|
FAE1F7B21E428CBE002E0974 /* LAAnimatableBoundsValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59CC1E3C179F002D7188 /* LAAnimatableBoundsValue.m */; };
|
||||||
|
FAE1F7B31E428CBE002E0974 /* LAShapeCircle.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F21E3C179F002D7188 /* LAShapeCircle.m */; };
|
||||||
|
FAE1F7B41E428CBE002E0974 /* LAComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E01E3C179F002D7188 /* LAComposition.m */; };
|
||||||
|
FAE1F7B51E428CBE002E0974 /* LAAnimatableLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59D01E3C179F002D7188 /* LAAnimatableLayer.m */; };
|
||||||
|
FAE1F7B61E428CBE002E0974 /* UIColor+Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */; };
|
||||||
|
FAE1F7B71E428CBE002E0974 /* LAShapeLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59F81E3C179F002D7188 /* LAShapeLayerView.m */; };
|
||||||
|
FAE1F7B81E428CBE002E0974 /* LALayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E91E3C179F002D7188 /* LALayerView.m */; };
|
||||||
|
FAE1F7B91E428CBE002E0974 /* LALayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59E71E3C179F002D7188 /* LALayer.m */; };
|
||||||
|
FAE1F7BA1E428CBE002E0974 /* LAMask.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59EB1E3C179F002D7188 /* LAMask.m */; };
|
||||||
|
FAE1F7BB1E428CBE002E0974 /* LAAnimationTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 62CA59DC1E3C179F002D7188 /* LAAnimationTransitionController.m */; };
|
||||||
|
FAE1F7BE1E428CBE002E0974 /* LAModels.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EE1E3C179F002D7188 /* LAModels.h */; };
|
||||||
|
FAE1F7BF1E428CBE002E0974 /* LAEllipseShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E11E3C179F002D7188 /* LAEllipseShapeLayer.h */; };
|
||||||
|
FAE1F7C01E428CBE002E0974 /* LAHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E51E3C179F002D7188 /* LAHelpers.h */; };
|
||||||
|
FAE1F7C11E428CBE002E0974 /* LAShapeGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F51E3C179F002D7188 /* LAShapeGroup.h */; };
|
||||||
|
FAE1F7C31E428CBE002E0974 /* LAAnimationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59DA1E3C179F002D7188 /* LAAnimationCache.h */; };
|
||||||
|
FAE1F7C41E428CBE002E0974 /* LAShapeLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F71E3C179F002D7188 /* LAShapeLayerView.h */; };
|
||||||
|
FAE1F7C51E428CBE002E0974 /* LAAnimatablePointValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D31E3C179F002D7188 /* LAAnimatablePointValue.h */; };
|
||||||
|
FAE1F7C61E428CBE002E0974 /* LAShapeTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59FF1E3C179F002D7188 /* LAShapeTransform.h */; };
|
||||||
|
FAE1F7C71E428CBE002E0974 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C71E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h */; };
|
||||||
|
FAE1F7C81E428CBE002E0974 /* LAAnimationView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59DD1E3C179F002D7188 /* LAAnimationView_Internal.h */; };
|
||||||
|
FAE1F7C91E428CBE002E0974 /* LAMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EA1E3C179F002D7188 /* LAMask.h */; };
|
||||||
|
FAE1F7CA1E428CBE002E0974 /* CGGeometryAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C91E3C179F002D7188 /* CGGeometryAdditions.h */; };
|
||||||
|
FAE1F7CB1E428CBE002E0974 /* LAMaskLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EC1E3C179F002D7188 /* LAMaskLayer.h */; };
|
||||||
|
FAE1F7CD1E428CBE002E0974 /* LAShapeFill.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F31E3C179F002D7188 /* LAShapeFill.h */; };
|
||||||
|
FAE1F7CE1E428CBE002E0974 /* LAAnimationTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
|
FAE1F7CF1E428CBE002E0974 /* UIColor+Expanded.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */; };
|
||||||
|
FAE1F7D01E428CBE002E0974 /* LAAnimatableColorValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59CD1E3C179F002D7188 /* LAAnimatableColorValue.h */; };
|
||||||
|
FAE1F7D11E428CBE002E0974 /* LAAnimatableNumberValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D11E3C179F002D7188 /* LAAnimatableNumberValue.h */; };
|
||||||
|
FAE1F7D21E428CBE002E0974 /* LAShapeStroke.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59FD1E3C179F002D7188 /* LAShapeStroke.h */; };
|
||||||
|
FAE1F7D31E428CBE002E0974 /* LAAnimatableBoundsValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59CB1E3C179F002D7188 /* LAAnimatableBoundsValue.h */; };
|
||||||
|
FAE1F7D41E428CBE002E0974 /* LALayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E61E3C179F002D7188 /* LALayer.h */; };
|
||||||
|
FAE1F7D51E428CBE002E0974 /* LARectShapeLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59EF1E3C179F002D7188 /* LARectShapeLayer.h */; };
|
||||||
|
FAE1F7D61E428CBE002E0974 /* LAAnimatableShapeValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D71E3C179F002D7188 /* LAAnimatableShapeValue.h */; };
|
||||||
|
FAE1F7D71E428CBE002E0974 /* Lottie.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59C61E3C179F002D7188 /* Lottie.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
|
FAE1F7D81E428CBE002E0974 /* LAShapeTrimPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA5A011E3C179F002D7188 /* LAShapeTrimPath.h */; };
|
||||||
|
FAE1F7D91E428CBE002E0974 /* LALayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E81E3C179F002D7188 /* LALayerView.h */; };
|
||||||
|
FAE1F7DA1E428CBE002E0974 /* LAAnimatableValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D91E3C179F002D7188 /* LAAnimatableValue.h */; };
|
||||||
|
FAE1F7DB1E428CBE002E0974 /* LAAnimatableScaleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59D51E3C179F002D7188 /* LAAnimatableScaleValue.h */; };
|
||||||
|
FAE1F7DC1E428CBE002E0974 /* LAComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59DF1E3C179F002D7188 /* LAComposition.h */; };
|
||||||
|
FAE1F7DD1E428CBE002E0974 /* LAShapeRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59FB1E3C179F002D7188 /* LAShapeRectangle.h */; };
|
||||||
|
FAE1F7DE1E428CBE002E0974 /* LAAnimatableLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59CF1E3C179F002D7188 /* LAAnimatableLayer.h */; };
|
||||||
|
FAE1F7DF1E428CBE002E0974 /* LAGroupLayerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59E31E3C179F002D7188 /* LAGroupLayerView.h */; };
|
||||||
|
FAE1F7E01E428CBE002E0974 /* LAShapePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F91E3C179F002D7188 /* LAShapePath.h */; };
|
||||||
|
FAE1F7E11E428CBE002E0974 /* LAShapeCircle.h in Headers */ = {isa = PBXBuildFile; fileRef = 62CA59F11E3C179F002D7188 /* LAShapeCircle.h */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
|
2DBA16351B4FA408937A16CE /* LAAnimationView_Compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LAAnimationView_Compat.h; sourceTree = "<group>"; };
|
||||||
|
2DBA1CAF95F14074593D133F /* LAPlatformCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LAPlatformCompat.h; path = "../lottie-ios/Classes/LAPlatformCompat.h"; sourceTree = "<group>"; };
|
||||||
62CA59B81E3C173B002D7188 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Lottie.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
62CA59B81E3C173B002D7188 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Lottie.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
62CA59BB1E3C173B002D7188 /* Lottie.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Lottie.h; sourceTree = "<group>"; };
|
62CA59BB1E3C173B002D7188 /* Lottie-iOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Lottie-iOS.h"; sourceTree = "<group>"; };
|
||||||
62CA59BC1E3C173B002D7188 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
62CA59BC1E3C173B002D7188 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LAAnimationTransitionController.h; sourceTree = "<group>"; };
|
62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LAAnimationTransitionController.h; sourceTree = "<group>"; };
|
||||||
62CA59C51E3C179F002D7188 /* LAAnimationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LAAnimationView.h; sourceTree = "<group>"; };
|
|
||||||
62CA59C61E3C179F002D7188 /* Lottie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lottie.h; sourceTree = "<group>"; };
|
62CA59C61E3C179F002D7188 /* Lottie.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lottie.h; sourceTree = "<group>"; };
|
||||||
62CA59C71E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "CAAnimationGroup+LAAnimatableGroup.h"; path = "lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.h"; sourceTree = SOURCE_ROOT; };
|
62CA59C71E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "CAAnimationGroup+LAAnimatableGroup.h"; path = "lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.h"; sourceTree = SOURCE_ROOT; };
|
||||||
62CA59C81E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "CAAnimationGroup+LAAnimatableGroup.m"; path = "lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.m"; sourceTree = SOURCE_ROOT; };
|
62CA59C81E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "CAAnimationGroup+LAAnimatableGroup.m"; path = "lottie-ios/Classes/CAAnimationGroup+LAAnimatableGroup.m"; sourceTree = SOURCE_ROOT; };
|
||||||
@@ -144,6 +223,20 @@
|
|||||||
62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeTrimPath.m; path = "lottie-ios/Classes/LAShapeTrimPath.m"; sourceTree = SOURCE_ROOT; };
|
62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LAShapeTrimPath.m; path = "lottie-ios/Classes/LAShapeTrimPath.m"; sourceTree = SOURCE_ROOT; };
|
||||||
62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIColor+Expanded.h"; path = "lottie-ios/Classes/UIColor+Expanded.h"; sourceTree = SOURCE_ROOT; };
|
62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIColor+Expanded.h"; path = "lottie-ios/Classes/UIColor+Expanded.h"; sourceTree = SOURCE_ROOT; };
|
||||||
62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIColor+Expanded.m"; path = "lottie-ios/Classes/UIColor+Expanded.m"; sourceTree = SOURCE_ROOT; };
|
62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIColor+Expanded.m"; path = "lottie-ios/Classes/UIColor+Expanded.m"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A6E1E42B1C400FF36BF /* CADisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CADisplayLink.h; path = "lottie-ios/Classes/CADisplayLink.h"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A6F1E42B1C400FF36BF /* CADisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CADisplayLink.m; path = "lottie-ios/Classes/CADisplayLink.m"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A701E42B1C400FF36BF /* CALayer+Compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "CALayer+Compat.h"; path = "lottie-ios/Classes/CALayer+Compat.h"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A711E42B1C400FF36BF /* CALayer+Compat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "CALayer+Compat.m"; path = "lottie-ios/Classes/CALayer+Compat.m"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A721E42B1C400FF36BF /* NSValue+Compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSValue+Compat.h"; path = "lottie-ios/Classes/NSValue+Compat.h"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A731E42B1C400FF36BF /* NSValue+Compat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Compat.m"; path = "lottie-ios/Classes/NSValue+Compat.m"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A741E42B1C400FF36BF /* UIBezierPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UIBezierPath.h; path = "lottie-ios/Classes/UIBezierPath.h"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A751E42B1C400FF36BF /* UIBezierPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UIBezierPath.m; path = "lottie-ios/Classes/UIBezierPath.m"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A761E42B1C400FF36BF /* UIColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UIColor.h; path = "lottie-ios/Classes/UIColor.h"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A771E42B1C400FF36BF /* UIColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UIColor.m; path = "lottie-ios/Classes/UIColor.m"; sourceTree = SOURCE_ROOT; };
|
||||||
|
FA1F5A9F1E42B52800FF36BF /* LAAnimationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LAAnimationView.h; sourceTree = "<group>"; };
|
||||||
|
FA1F5AAE1E42C11F00FF36BF /* Lottie-macOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Lottie-macOS.h"; sourceTree = "<group>"; };
|
||||||
|
FAE1F7E61E428CBE002E0974 /* Lottie.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Lottie.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
FAE1F7E71E428CBE002E0974 /* Lottie copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Lottie copy-Info.plist"; path = "/Users/alex/Projects/lottie-ios/Lottie copy-Info.plist"; sourceTree = "<absolute>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -154,6 +247,13 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
FAE1F7BC1E428CBE002E0974 /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
@@ -162,6 +262,7 @@
|
|||||||
children = (
|
children = (
|
||||||
62CA59BA1E3C173B002D7188 /* Lottie */,
|
62CA59BA1E3C173B002D7188 /* Lottie */,
|
||||||
62CA59B91E3C173B002D7188 /* Products */,
|
62CA59B91E3C173B002D7188 /* Products */,
|
||||||
|
FAE1F7E71E428CBE002E0974 /* Lottie copy-Info.plist */,
|
||||||
);
|
);
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
@@ -169,6 +270,7 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
62CA59B81E3C173B002D7188 /* Lottie.framework */,
|
62CA59B81E3C173B002D7188 /* Lottie.framework */,
|
||||||
|
FAE1F7E61E428CBE002E0974 /* Lottie.framework */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -239,8 +341,10 @@
|
|||||||
62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */,
|
62CA5A021E3C179F002D7188 /* LAShapeTrimPath.m */,
|
||||||
62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */,
|
62CA5A031E3C179F002D7188 /* UIColor+Expanded.h */,
|
||||||
62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */,
|
62CA5A041E3C179F002D7188 /* UIColor+Expanded.m */,
|
||||||
62CA59BB1E3C173B002D7188 /* Lottie.h */,
|
62CA59BB1E3C173B002D7188 /* Lottie-iOS.h */,
|
||||||
|
FA1F5AAE1E42C11F00FF36BF /* Lottie-macOS.h */,
|
||||||
62CA59BC1E3C173B002D7188 /* Info.plist */,
|
62CA59BC1E3C173B002D7188 /* Info.plist */,
|
||||||
|
FAE1F7EC1E42935E002E0974 /* Platform Compat */,
|
||||||
);
|
);
|
||||||
path = Lottie;
|
path = Lottie;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -248,14 +352,33 @@
|
|||||||
62CA59C31E3C179F002D7188 /* PublicHeaders */ = {
|
62CA59C31E3C179F002D7188 /* PublicHeaders */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
FA1F5A9F1E42B52800FF36BF /* LAAnimationView.h */,
|
||||||
62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */,
|
62CA59C41E3C179F002D7188 /* LAAnimationTransitionController.h */,
|
||||||
62CA59C51E3C179F002D7188 /* LAAnimationView.h */,
|
2DBA16351B4FA408937A16CE /* LAAnimationView_Compat.h */,
|
||||||
62CA59C61E3C179F002D7188 /* Lottie.h */,
|
62CA59C61E3C179F002D7188 /* Lottie.h */,
|
||||||
);
|
);
|
||||||
name = PublicHeaders;
|
name = PublicHeaders;
|
||||||
path = "lottie-ios/Classes/PublicHeaders";
|
path = "lottie-ios/Classes/PublicHeaders";
|
||||||
sourceTree = SOURCE_ROOT;
|
sourceTree = SOURCE_ROOT;
|
||||||
};
|
};
|
||||||
|
FAE1F7EC1E42935E002E0974 /* Platform Compat */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
2DBA1CAF95F14074593D133F /* LAPlatformCompat.h */,
|
||||||
|
FA1F5A6E1E42B1C400FF36BF /* CADisplayLink.h */,
|
||||||
|
FA1F5A6F1E42B1C400FF36BF /* CADisplayLink.m */,
|
||||||
|
FA1F5A701E42B1C400FF36BF /* CALayer+Compat.h */,
|
||||||
|
FA1F5A711E42B1C400FF36BF /* CALayer+Compat.m */,
|
||||||
|
FA1F5A721E42B1C400FF36BF /* NSValue+Compat.h */,
|
||||||
|
FA1F5A731E42B1C400FF36BF /* NSValue+Compat.m */,
|
||||||
|
FA1F5A741E42B1C400FF36BF /* UIBezierPath.h */,
|
||||||
|
FA1F5A751E42B1C400FF36BF /* UIBezierPath.m */,
|
||||||
|
FA1F5A761E42B1C400FF36BF /* UIColor.h */,
|
||||||
|
FA1F5A771E42B1C400FF36BF /* UIColor.m */,
|
||||||
|
);
|
||||||
|
name = "Platform Compat";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXHeadersBuildPhase section */
|
/* Begin PBXHeadersBuildPhase section */
|
||||||
@@ -267,7 +390,7 @@
|
|||||||
62CA5A221E3C179F002D7188 /* LAEllipseShapeLayer.h in Headers */,
|
62CA5A221E3C179F002D7188 /* LAEllipseShapeLayer.h in Headers */,
|
||||||
62CA5A261E3C179F002D7188 /* LAHelpers.h in Headers */,
|
62CA5A261E3C179F002D7188 /* LAHelpers.h in Headers */,
|
||||||
62CA5A361E3C179F002D7188 /* LAShapeGroup.h in Headers */,
|
62CA5A361E3C179F002D7188 /* LAShapeGroup.h in Headers */,
|
||||||
62CA59BD1E3C173B002D7188 /* Lottie.h in Headers */,
|
62CA59BD1E3C173B002D7188 /* Lottie-iOS.h in Headers */,
|
||||||
62CA5A1B1E3C179F002D7188 /* LAAnimationCache.h in Headers */,
|
62CA5A1B1E3C179F002D7188 /* LAAnimationCache.h in Headers */,
|
||||||
62CA5A381E3C179F002D7188 /* LAShapeLayerView.h in Headers */,
|
62CA5A381E3C179F002D7188 /* LAShapeLayerView.h in Headers */,
|
||||||
62CA5A141E3C179F002D7188 /* LAAnimatablePointValue.h in Headers */,
|
62CA5A141E3C179F002D7188 /* LAAnimatablePointValue.h in Headers */,
|
||||||
@@ -275,9 +398,9 @@
|
|||||||
62CA5A081E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */,
|
62CA5A081E3C179F002D7188 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */,
|
||||||
62CA5A1E1E3C179F002D7188 /* LAAnimationView_Internal.h in Headers */,
|
62CA5A1E1E3C179F002D7188 /* LAAnimationView_Internal.h in Headers */,
|
||||||
62CA5A2B1E3C179F002D7188 /* LAMask.h in Headers */,
|
62CA5A2B1E3C179F002D7188 /* LAMask.h in Headers */,
|
||||||
|
FA1F5AA01E42B52800FF36BF /* LAAnimationView.h in Headers */,
|
||||||
62CA5A0A1E3C179F002D7188 /* CGGeometryAdditions.h in Headers */,
|
62CA5A0A1E3C179F002D7188 /* CGGeometryAdditions.h in Headers */,
|
||||||
62CA5A2D1E3C179F002D7188 /* LAMaskLayer.h in Headers */,
|
62CA5A2D1E3C179F002D7188 /* LAMaskLayer.h in Headers */,
|
||||||
62CA5A061E3C179F002D7188 /* LAAnimationView.h in Headers */,
|
|
||||||
62CA5A341E3C179F002D7188 /* LAShapeFill.h in Headers */,
|
62CA5A341E3C179F002D7188 /* LAShapeFill.h in Headers */,
|
||||||
62CA5A051E3C179F002D7188 /* LAAnimationTransitionController.h in Headers */,
|
62CA5A051E3C179F002D7188 /* LAAnimationTransitionController.h in Headers */,
|
||||||
62CA5A441E3C179F002D7188 /* UIColor+Expanded.h in Headers */,
|
62CA5A441E3C179F002D7188 /* UIColor+Expanded.h in Headers */,
|
||||||
@@ -299,15 +422,65 @@
|
|||||||
62CA5A241E3C179F002D7188 /* LAGroupLayerView.h in Headers */,
|
62CA5A241E3C179F002D7188 /* LAGroupLayerView.h in Headers */,
|
||||||
62CA5A3A1E3C179F002D7188 /* LAShapePath.h in Headers */,
|
62CA5A3A1E3C179F002D7188 /* LAShapePath.h in Headers */,
|
||||||
62CA5A321E3C179F002D7188 /* LAShapeCircle.h in Headers */,
|
62CA5A321E3C179F002D7188 /* LAShapeCircle.h in Headers */,
|
||||||
|
2DBA1C5A8098705F35AF3C1D /* LAPlatformCompat.h in Headers */,
|
||||||
|
2DBA19324CDD83B5F0F115B8 /* LAAnimationView_Compat.h in Headers */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
FAE1F7BD1E428CBE002E0974 /* Headers */ = {
|
||||||
|
isa = PBXHeadersBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
FAE1F7BE1E428CBE002E0974 /* LAModels.h in Headers */,
|
||||||
|
FAE1F7BF1E428CBE002E0974 /* LAEllipseShapeLayer.h in Headers */,
|
||||||
|
FA1F5AAB1E42B54400FF36BF /* UIColor.h in Headers */,
|
||||||
|
FA1F5AAA1E42B54400FF36BF /* UIBezierPath.h in Headers */,
|
||||||
|
FAE1F7C01E428CBE002E0974 /* LAHelpers.h in Headers */,
|
||||||
|
FA1F5AA91E42B54400FF36BF /* NSValue+Compat.h in Headers */,
|
||||||
|
FAE1F7C11E428CBE002E0974 /* LAShapeGroup.h in Headers */,
|
||||||
|
FA1F5AA81E42B54400FF36BF /* CALayer+Compat.h in Headers */,
|
||||||
|
FAE1F7C31E428CBE002E0974 /* LAAnimationCache.h in Headers */,
|
||||||
|
FAE1F7C41E428CBE002E0974 /* LAShapeLayerView.h in Headers */,
|
||||||
|
FAE1F7C51E428CBE002E0974 /* LAAnimatablePointValue.h in Headers */,
|
||||||
|
FAE1F7C61E428CBE002E0974 /* LAShapeTransform.h in Headers */,
|
||||||
|
FAE1F7C71E428CBE002E0974 /* CAAnimationGroup+LAAnimatableGroup.h in Headers */,
|
||||||
|
FAE1F7C81E428CBE002E0974 /* LAAnimationView_Internal.h in Headers */,
|
||||||
|
FAE1F7C91E428CBE002E0974 /* LAMask.h in Headers */,
|
||||||
|
FAE1F7CA1E428CBE002E0974 /* CGGeometryAdditions.h in Headers */,
|
||||||
|
FAE1F7CB1E428CBE002E0974 /* LAMaskLayer.h in Headers */,
|
||||||
|
FA1F5AA71E42B54400FF36BF /* CADisplayLink.h in Headers */,
|
||||||
|
FA1F5AA11E42B52800FF36BF /* LAAnimationView.h in Headers */,
|
||||||
|
FAE1F7CD1E428CBE002E0974 /* LAShapeFill.h in Headers */,
|
||||||
|
FAE1F7CE1E428CBE002E0974 /* LAAnimationTransitionController.h in Headers */,
|
||||||
|
FAE1F7CF1E428CBE002E0974 /* UIColor+Expanded.h in Headers */,
|
||||||
|
FAE1F7D01E428CBE002E0974 /* LAAnimatableColorValue.h in Headers */,
|
||||||
|
FAE1F7D11E428CBE002E0974 /* LAAnimatableNumberValue.h in Headers */,
|
||||||
|
FAE1F7D21E428CBE002E0974 /* LAShapeStroke.h in Headers */,
|
||||||
|
FAE1F7D31E428CBE002E0974 /* LAAnimatableBoundsValue.h in Headers */,
|
||||||
|
FAE1F7D41E428CBE002E0974 /* LALayer.h in Headers */,
|
||||||
|
FAE1F7D51E428CBE002E0974 /* LARectShapeLayer.h in Headers */,
|
||||||
|
FAE1F7D61E428CBE002E0974 /* LAAnimatableShapeValue.h in Headers */,
|
||||||
|
FAE1F7D71E428CBE002E0974 /* Lottie.h in Headers */,
|
||||||
|
FAE1F7D81E428CBE002E0974 /* LAShapeTrimPath.h in Headers */,
|
||||||
|
FAE1F7D91E428CBE002E0974 /* LALayerView.h in Headers */,
|
||||||
|
FAE1F7DA1E428CBE002E0974 /* LAAnimatableValue.h in Headers */,
|
||||||
|
FAE1F7DB1E428CBE002E0974 /* LAAnimatableScaleValue.h in Headers */,
|
||||||
|
FA1F5AB01E42C11F00FF36BF /* Lottie-macOS.h in Headers */,
|
||||||
|
FAE1F7DC1E428CBE002E0974 /* LAComposition.h in Headers */,
|
||||||
|
FAE1F7DD1E428CBE002E0974 /* LAShapeRectangle.h in Headers */,
|
||||||
|
FAE1F7DE1E428CBE002E0974 /* LAAnimatableLayer.h in Headers */,
|
||||||
|
FAE1F7DF1E428CBE002E0974 /* LAGroupLayerView.h in Headers */,
|
||||||
|
FAE1F7E01E428CBE002E0974 /* LAShapePath.h in Headers */,
|
||||||
|
FAE1F7E11E428CBE002E0974 /* LAShapeCircle.h in Headers */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
/* End PBXHeadersBuildPhase section */
|
/* End PBXHeadersBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
62CA59B71E3C173B002D7188 /* Lottie */ = {
|
62CA59B71E3C173B002D7188 /* Lottie_iOS */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 62CA59C01E3C173B002D7188 /* Build configuration list for PBXNativeTarget "Lottie" */;
|
buildConfigurationList = 62CA59C01E3C173B002D7188 /* Build configuration list for PBXNativeTarget "Lottie_iOS" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
62CA59B31E3C173B002D7188 /* Sources */,
|
62CA59B31E3C173B002D7188 /* Sources */,
|
||||||
62CA59B41E3C173B002D7188 /* Frameworks */,
|
62CA59B41E3C173B002D7188 /* Frameworks */,
|
||||||
@@ -318,11 +491,29 @@
|
|||||||
);
|
);
|
||||||
dependencies = (
|
dependencies = (
|
||||||
);
|
);
|
||||||
name = Lottie;
|
name = Lottie_iOS;
|
||||||
productName = Lottie;
|
productName = Lottie;
|
||||||
productReference = 62CA59B81E3C173B002D7188 /* Lottie.framework */;
|
productReference = 62CA59B81E3C173B002D7188 /* Lottie.framework */;
|
||||||
productType = "com.apple.product-type.framework";
|
productType = "com.apple.product-type.framework";
|
||||||
};
|
};
|
||||||
|
FAE1F79C1E428CBE002E0974 /* Lottie_macOS */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = FAE1F7E31E428CBE002E0974 /* Build configuration list for PBXNativeTarget "Lottie_macOS" */;
|
||||||
|
buildPhases = (
|
||||||
|
FAE1F79D1E428CBE002E0974 /* Sources */,
|
||||||
|
FAE1F7BC1E428CBE002E0974 /* Frameworks */,
|
||||||
|
FAE1F7BD1E428CBE002E0974 /* Headers */,
|
||||||
|
FAE1F7E21E428CBE002E0974 /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = Lottie_macOS;
|
||||||
|
productName = Lottie;
|
||||||
|
productReference = FAE1F7E61E428CBE002E0974 /* Lottie.framework */;
|
||||||
|
productType = "com.apple.product-type.framework";
|
||||||
|
};
|
||||||
/* End PBXNativeTarget section */
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
/* Begin PBXProject section */
|
/* Begin PBXProject section */
|
||||||
@@ -350,7 +541,8 @@
|
|||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
projectRoot = "";
|
projectRoot = "";
|
||||||
targets = (
|
targets = (
|
||||||
62CA59B71E3C173B002D7188 /* Lottie */,
|
62CA59B71E3C173B002D7188 /* Lottie_iOS */,
|
||||||
|
FAE1F79C1E428CBE002E0974 /* Lottie_macOS */,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
@@ -363,6 +555,13 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
FAE1F7E21E428CBE002E0974 /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
@@ -403,6 +602,48 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
FAE1F79D1E428CBE002E0974 /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
FAE1F79E1E428CBE002E0974 /* CAAnimationGroup+LAAnimatableGroup.m in Sources */,
|
||||||
|
FAE1F79F1E428CBE002E0974 /* CGGeometryAdditions.m in Sources */,
|
||||||
|
FAE1F7A01E428CBE002E0974 /* LAMaskLayer.m in Sources */,
|
||||||
|
FAE1F7A11E428CBE002E0974 /* LAShapeStroke.m in Sources */,
|
||||||
|
FAE1F7A21E428CBE002E0974 /* LAShapeTrimPath.m in Sources */,
|
||||||
|
FAE1F7A31E428CBE002E0974 /* LAAnimatablePointValue.m in Sources */,
|
||||||
|
FAE1F7A41E428CBE002E0974 /* LAEllipseShapeLayer.m in Sources */,
|
||||||
|
FAE1F7A51E428CBE002E0974 /* LAAnimatableScaleValue.m in Sources */,
|
||||||
|
FAE1F7A61E428CBE002E0974 /* LARectShapeLayer.m in Sources */,
|
||||||
|
FAE1F7A71E428CBE002E0974 /* LAAnimationView.m in Sources */,
|
||||||
|
FAE1F7A81E428CBE002E0974 /* LAGroupLayerView.m in Sources */,
|
||||||
|
FAE1F7A91E428CBE002E0974 /* LAShapeFill.m in Sources */,
|
||||||
|
FAE1F7AA1E428CBE002E0974 /* LAShapeTransform.m in Sources */,
|
||||||
|
FAE1F7AB1E428CBE002E0974 /* LAShapeRectangle.m in Sources */,
|
||||||
|
FAE1F7AC1E428CBE002E0974 /* LAAnimatableShapeValue.m in Sources */,
|
||||||
|
FAE1F7AD1E428CBE002E0974 /* LAAnimatableColorValue.m in Sources */,
|
||||||
|
FAE1F7AE1E428CBE002E0974 /* LAAnimationCache.m in Sources */,
|
||||||
|
FAE1F7AF1E428CBE002E0974 /* LAShapePath.m in Sources */,
|
||||||
|
FAE1F7B01E428CBE002E0974 /* LAShapeGroup.m in Sources */,
|
||||||
|
FA1F5A821E42B1D200FF36BF /* CADisplayLink.m in Sources */,
|
||||||
|
FAE1F7B11E428CBE002E0974 /* LAAnimatableNumberValue.m in Sources */,
|
||||||
|
FAE1F7B21E428CBE002E0974 /* LAAnimatableBoundsValue.m in Sources */,
|
||||||
|
FAE1F7B31E428CBE002E0974 /* LAShapeCircle.m in Sources */,
|
||||||
|
FAE1F7B41E428CBE002E0974 /* LAComposition.m in Sources */,
|
||||||
|
FAE1F7B51E428CBE002E0974 /* LAAnimatableLayer.m in Sources */,
|
||||||
|
FAE1F7B61E428CBE002E0974 /* UIColor+Expanded.m in Sources */,
|
||||||
|
FAE1F7B71E428CBE002E0974 /* LAShapeLayerView.m in Sources */,
|
||||||
|
FA1F5A841E42B1D200FF36BF /* NSValue+Compat.m in Sources */,
|
||||||
|
FA1F5A831E42B1D200FF36BF /* CALayer+Compat.m in Sources */,
|
||||||
|
FA1F5A851E42B1D200FF36BF /* UIBezierPath.m in Sources */,
|
||||||
|
FAE1F7B81E428CBE002E0974 /* LALayerView.m in Sources */,
|
||||||
|
FAE1F7B91E428CBE002E0974 /* LALayer.m in Sources */,
|
||||||
|
FAE1F7BA1E428CBE002E0974 /* LAMask.m in Sources */,
|
||||||
|
FA1F5A861E42B1D200FF36BF /* UIColor.m in Sources */,
|
||||||
|
FAE1F7BB1E428CBE002E0974 /* LAAnimationTransitionController.m in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
/* End PBXSourcesBuildPhase section */
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
@@ -514,7 +755,7 @@
|
|||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.airbnb.Lottie;
|
PRODUCT_BUNDLE_IDENTIFIER = com.airbnb.Lottie;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = Lottie;
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
@@ -531,11 +772,49 @@
|
|||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.airbnb.Lottie;
|
PRODUCT_BUNDLE_IDENTIFIER = com.airbnb.Lottie;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = Lottie;
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
FAE1F7E41E428CBE002E0974 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_IDENTITY = "";
|
||||||
|
DEFINES_MODULE = YES;
|
||||||
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
|
INFOPLIST_FILE = Lottie/Info.plist;
|
||||||
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = com.airbnb.Lottie;
|
||||||
|
PRODUCT_NAME = Lottie;
|
||||||
|
SDKROOT = macosx10.12;
|
||||||
|
SKIP_INSTALL = YES;
|
||||||
|
SUPPORTED_PLATFORMS = macosx;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
FAE1F7E51E428CBE002E0974 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_IDENTITY = "";
|
||||||
|
DEFINES_MODULE = YES;
|
||||||
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
|
INFOPLIST_FILE = Lottie/Info.plist;
|
||||||
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = com.airbnb.Lottie;
|
||||||
|
PRODUCT_NAME = Lottie;
|
||||||
|
SDKROOT = macosx10.12;
|
||||||
|
SKIP_INSTALL = YES;
|
||||||
|
SUPPORTED_PLATFORMS = macosx;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
@@ -548,7 +827,7 @@
|
|||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
62CA59C01E3C173B002D7188 /* Build configuration list for PBXNativeTarget "Lottie" */ = {
|
62CA59C01E3C173B002D7188 /* Build configuration list for PBXNativeTarget "Lottie_iOS" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
62CA59C11E3C173B002D7188 /* Debug */,
|
62CA59C11E3C173B002D7188 /* Debug */,
|
||||||
@@ -557,6 +836,15 @@
|
|||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
|
FAE1F7E31E428CBE002E0974 /* Build configuration list for PBXNativeTarget "Lottie_macOS" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
FAE1F7E41E428CBE002E0974 /* Debug */,
|
||||||
|
FAE1F7E51E428CBE002E0974 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
/* End XCConfigurationList section */
|
/* End XCConfigurationList section */
|
||||||
};
|
};
|
||||||
rootObject = 62CA59AF1E3C173B002D7188 /* Project object */;
|
rootObject = 62CA59AF1E3C173B002D7188 /* Project object */;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// Lottie.h
|
// Lottie-iOS.h
|
||||||
// Lottie
|
// Lottie
|
||||||
//
|
//
|
||||||
// Created by brandon_withrow on 1/27/17.
|
// Created by brandon_withrow on 1/27/17.
|
||||||
19
Lottie/Lottie-macOS.h
Normal file
19
Lottie/Lottie-macOS.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
//
|
||||||
|
// Lottie-macOS.h
|
||||||
|
// Lottie
|
||||||
|
//
|
||||||
|
// Created by brandon_withrow on 1/27/17.
|
||||||
|
// Copyright © 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
//! Project version number for Lottie.
|
||||||
|
FOUNDATION_EXPORT double LottieVersionNumber;
|
||||||
|
|
||||||
|
//! Project version string for Lottie.
|
||||||
|
FOUNDATION_EXPORT const unsigned char LottieVersionString[];
|
||||||
|
|
||||||
|
// In this header, you should import all the public headers of your framework using statements like #import <Lottie/PublicHeader.h>
|
||||||
|
|
||||||
|
|
||||||
@@ -23,6 +23,7 @@ For the first time, designers can create and ship beautiful animations without a
|
|||||||
s.source = { :git => 'https://github.com/airbnb/lottie-ios.git', :tag => s.version.to_s }
|
s.source = { :git => 'https://github.com/airbnb/lottie-ios.git', :tag => s.version.to_s }
|
||||||
|
|
||||||
s.ios.deployment_target = '8.0'
|
s.ios.deployment_target = '8.0'
|
||||||
|
s.osx.deployment_target = '10.12'
|
||||||
|
|
||||||
s.source_files = 'lottie-ios/Classes/**/*'
|
s.source_files = 'lottie-ios/Classes/**/*'
|
||||||
|
|
||||||
@@ -31,7 +32,8 @@ For the first time, designers can create and ship beautiful animations without a
|
|||||||
# }
|
# }
|
||||||
|
|
||||||
s.public_header_files = 'lottie-ios/Classes/PublicHeaders/*.h'
|
s.public_header_files = 'lottie-ios/Classes/PublicHeaders/*.h'
|
||||||
s.frameworks = 'UIKit'
|
s.ios.frameworks = 'UIKit'
|
||||||
|
s.osx.frameworks = ['AppKit', 'CoreVideo']
|
||||||
s.module_name = 'Lottie'
|
s.module_name = 'Lottie'
|
||||||
s.header_dir = 'Lottie'
|
s.header_dir = 'Lottie'
|
||||||
end
|
end
|
||||||
|
|||||||
16
lottie-ios/Classes/CADisplayLink.h
Normal file
16
lottie-ios/Classes/CADisplayLink.h
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright (c) 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
@interface CADisplayLink : NSObject
|
||||||
|
|
||||||
|
+ (CADisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel;
|
||||||
|
- (void)addToRunLoop:(NSRunLoop *)runloop forMode:(NSRunLoopMode)mode;
|
||||||
|
- (void)invalidate;
|
||||||
|
|
||||||
|
@end
|
||||||
|
#endif
|
||||||
67
lottie-ios/Classes/CADisplayLink.m
Normal file
67
lottie-ios/Classes/CADisplayLink.m
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright (c) 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import "CADisplayLink.h"
|
||||||
|
#import <CoreVideo/CoreVideo.h>
|
||||||
|
|
||||||
|
@interface CADisplayLink()
|
||||||
|
|
||||||
|
@property (nonatomic, weak) id target;
|
||||||
|
@property (nonatomic, assign) SEL action;
|
||||||
|
|
||||||
|
- (void)tick;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
CVReturn displayLinkCallback(CVDisplayLinkRef displayLink,
|
||||||
|
const CVTimeStamp *_, const CVTimeStamp *__,
|
||||||
|
CVOptionFlags ___, CVOptionFlags *____,
|
||||||
|
void *context) {
|
||||||
|
@autoreleasepool {
|
||||||
|
CADisplayLink *self = (__bridge CADisplayLink *)context;
|
||||||
|
[self tick];
|
||||||
|
}
|
||||||
|
return kCVReturnSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
@implementation CADisplayLink {
|
||||||
|
CVDisplayLinkRef _displayLink;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (CADisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel {
|
||||||
|
CADisplayLink *displayLink = [self new];
|
||||||
|
displayLink.target = target;
|
||||||
|
displayLink.action = sel;
|
||||||
|
return displayLink;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)addToRunLoop:(NSRunLoop *)runloop forMode:(NSRunLoopMode)mode {
|
||||||
|
CVDisplayLinkCreateWithActiveCGDisplays(&_displayLink);
|
||||||
|
CVDisplayLinkSetOutputCallback(_displayLink, displayLinkCallback, (__bridge void *)self);
|
||||||
|
CVDisplayLinkStart(_displayLink);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)invalidate {
|
||||||
|
if (_displayLink)
|
||||||
|
CVDisplayLinkStop(_displayLink);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
if (_displayLink)
|
||||||
|
CVDisplayLinkRelease(_displayLink);
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
|
||||||
|
- (void)tick {
|
||||||
|
if (self.action && [self.target respondsToSelector:self.action])
|
||||||
|
[self.target performSelector:self.action];
|
||||||
|
}
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
16
lottie-ios/Classes/CALayer+Compat.h
Normal file
16
lottie-ios/Classes/CALayer+Compat.h
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright (c) 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <QuartzCore/QuartzCore.h>
|
||||||
|
|
||||||
|
@interface CALayer (Compat)
|
||||||
|
|
||||||
|
@property (nonatomic, assign) BOOL allowsEdgeAntialiasing;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
16
lottie-ios/Classes/CALayer+Compat.m
Normal file
16
lottie-ios/Classes/CALayer+Compat.m
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright (c) 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import "CALayer+Compat.h"
|
||||||
|
|
||||||
|
@implementation CALayer (Compat)
|
||||||
|
|
||||||
|
- (BOOL)allowsEdgeAntialiasing { return NO; }
|
||||||
|
- (void)setAllowsEdgeAntialiasing:(BOOL)allowsEdgeAntialiasing { }
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import "LAPlatformCompat.h"
|
||||||
|
#import <CoreGraphics/CoreGraphics.h>
|
||||||
#import <GLKit/GLKMathTypes.h>
|
#import <GLKit/GLKMathTypes.h>
|
||||||
#import <GLKit/GLKit.h>
|
#import <GLKit/GLKit.h>
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <QuartzCore/QuartzCore.h>
|
||||||
#import "LAAnimatableValue.h"
|
#import "LAAnimatableValue.h"
|
||||||
|
|
||||||
@interface LAAnimatableBoundsValue : NSObject <LAAnimatableValue>
|
@interface LAAnimatableBoundsValue : NSObject <LAAnimatableValue>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
// Copyright © 2016 Brandon Withrow. All rights reserved.
|
// Copyright © 2016 Brandon Withrow. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#import "LAPlatformCompat.h"
|
||||||
#import "LAAnimatableBoundsValue.h"
|
#import "LAAnimatableBoundsValue.h"
|
||||||
|
|
||||||
@interface LAAnimatableBoundsValue ()
|
@interface LAAnimatableBoundsValue ()
|
||||||
|
|||||||
@@ -7,8 +7,9 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <QuartzCore/QuartzCore.h>
|
||||||
#import "LAAnimatableValue.h"
|
#import "LAAnimatableValue.h"
|
||||||
|
#import "LAPlatformCompat.h"
|
||||||
|
|
||||||
@interface LAAnimatableColorValue : NSObject <LAAnimatableValue>
|
@interface LAAnimatableColorValue : NSObject <LAAnimatableValue>
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <CoreGraphics/CoreGraphics.h>
|
||||||
#import "LAAnimatableValue.h"
|
#import "LAAnimatableValue.h"
|
||||||
|
|
||||||
@interface LAAnimatableNumberValue : NSObject <LAAnimatableValue>
|
@interface LAAnimatableNumberValue : NSObject <LAAnimatableValue>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <CoreGraphics/CoreGraphics.h>
|
||||||
#import "LAAnimatableValue.h"
|
#import "LAAnimatableValue.h"
|
||||||
|
|
||||||
@interface LAAnimatablePointValue : NSObject <LAAnimatableValue>
|
@interface LAAnimatablePointValue : NSObject <LAAnimatableValue>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
// Copyright © 2016 Brandon Withrow. All rights reserved.
|
// Copyright © 2016 Brandon Withrow. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#import "LAPlatformCompat.h"
|
||||||
#import "LAAnimatablePointValue.h"
|
#import "LAAnimatablePointValue.h"
|
||||||
#import "CGGeometryAdditions.h"
|
#import "CGGeometryAdditions.h"
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
|
||||||
#import "LAAnimatableValue.h"
|
#import "LAAnimatableValue.h"
|
||||||
|
|
||||||
@interface LAAnimatableScaleValue : NSObject <LAAnimatableValue>
|
@interface LAAnimatableScaleValue : NSObject <LAAnimatableValue>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import "LAPlatformCompat.h"
|
||||||
#import "LAAnimatableValue.h"
|
#import "LAAnimatableValue.h"
|
||||||
|
|
||||||
@interface LAAnimatableShapeValue : NSObject <LAAnimatableValue>
|
@interface LAAnimatableShapeValue : NSObject <LAAnimatableValue>
|
||||||
|
|||||||
@@ -7,11 +7,11 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <QuartzCore/QuartzCore.h>
|
||||||
|
|
||||||
@protocol LAAnimatableValue <NSObject>
|
@protocol LAAnimatableValue <NSObject>
|
||||||
|
|
||||||
- (nullable CAKeyframeAnimation *)animationForKeyPath:(nonnull NSString *)keypath;
|
- (CAKeyframeAnimation *)animationForKeyPath:(NSString *)keypath;
|
||||||
- (BOOL)hasAnimation;
|
- (BOOL)hasAnimation;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
// Copyright © 2017 Brandon Withrow. All rights reserved.
|
// Copyright © 2017 Brandon Withrow. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
|
||||||
|
|
||||||
#import "LAAnimationTransitionController.h"
|
#import "LAAnimationTransitionController.h"
|
||||||
#import "LAAnimationView.h"
|
#import "LAAnimationView.h"
|
||||||
|
|
||||||
@@ -88,6 +90,6 @@
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "LAAnimationView.h"
|
#import "LAAnimationView.h"
|
||||||
|
#import "LAPlatformCompat.h"
|
||||||
#import "LALayerView.h"
|
#import "LALayerView.h"
|
||||||
#import "LAModels.h"
|
#import "LAModels.h"
|
||||||
#import "LAHelpers.h"
|
#import "LAHelpers.h"
|
||||||
@@ -154,7 +155,7 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0;
|
|||||||
|
|
||||||
@interface LACustomChild : NSObject
|
@interface LACustomChild : NSObject
|
||||||
|
|
||||||
@property (nonatomic, strong) UIView *childView;
|
@property (nonatomic, strong) LAView *childView;
|
||||||
@property (nonatomic, weak) LALayerView *layer;
|
@property (nonatomic, weak) LALayerView *layer;
|
||||||
@property (nonatomic, assign) LAConstraintType constraint;
|
@property (nonatomic, assign) LAConstraintType constraint;
|
||||||
|
|
||||||
@@ -247,13 +248,26 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0;
|
|||||||
|
|
||||||
# pragma mark - Internal Methods
|
# pragma mark - Internal Methods
|
||||||
|
|
||||||
|
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
|
||||||
|
|
||||||
- (void)_initializeAnimationContainer {
|
- (void)_initializeAnimationContainer {
|
||||||
_animationContainer = [CALayer new];
|
_animationContainer = [CALayer new];
|
||||||
_animationContainer.masksToBounds = YES;
|
_animationContainer.masksToBounds = YES;
|
||||||
[self.layer addSublayer:_animationContainer];
|
[self.layer addSublayer:_animationContainer];
|
||||||
self.clipsToBounds = YES;
|
self.clipsToBounds = YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
- (void)_initializeAnimationContainer {
|
||||||
|
self.wantsLayer = YES;
|
||||||
|
_animationContainer = [CALayer new];
|
||||||
|
_animationContainer.masksToBounds = YES;
|
||||||
|
[self.layer addSublayer:_animationContainer];
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
- (void)_setupWithSceneModel:(LAComposition *)model restoreAnimationState:(BOOL)restoreAnimation {
|
- (void)_setupWithSceneModel:(LAComposition *)model restoreAnimationState:(BOOL)restoreAnimation {
|
||||||
_sceneModel = model;
|
_sceneModel = model;
|
||||||
[self _buildSubviewsFromModel];
|
[self _buildSubviewsFromModel];
|
||||||
@@ -274,7 +288,6 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
- (void)_buildSubviewsFromModel {
|
- (void)_buildSubviewsFromModel {
|
||||||
if (_customLayers) {
|
if (_customLayers) {
|
||||||
for (LACustomChild *child in _customLayers) {
|
for (LACustomChild *child in _customLayers) {
|
||||||
@@ -377,7 +390,7 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)addSubview:(UIView *)view
|
- (void)addSubview:(LAView *)view
|
||||||
toLayerNamed:(NSString *)layer {
|
toLayerNamed:(NSString *)layer {
|
||||||
LAConstraintType constraint = LAConstraintTypeAlignToBounds;
|
LAConstraintType constraint = LAConstraintTypeAlignToBounds;
|
||||||
LALayerView *layerObject = _layerNameMap[layer];
|
LALayerView *layerObject = _layerNameMap[layer];
|
||||||
@@ -486,27 +499,73 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0;
|
|||||||
[super removeFromSuperview];
|
[super removeFromSuperview];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setContentMode:(UIViewContentMode)contentMode {
|
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
|
||||||
|
|
||||||
|
#define LAViewContentMode UIViewContentMode
|
||||||
|
#define LAViewContentModeScaleToFill UIViewContentModeScaleToFill
|
||||||
|
#define LAViewContentModeScaleAspectFit UIViewContentModeScaleAspectFit
|
||||||
|
#define LAViewContentModeScaleAspectFill UIViewContentModeScaleAspectFill
|
||||||
|
#define LAViewContentModeRedraw UIViewContentModeRedraw
|
||||||
|
#define LAViewContentModeCenter UIViewContentModeCenter
|
||||||
|
#define LAViewContentModeTop UIViewContentModeTop
|
||||||
|
#define LAViewContentModeBottom UIViewContentModeBottom
|
||||||
|
#define LAViewContentModeLeft UIViewContentModeLeft
|
||||||
|
#define LAViewContentModeRight UIViewContentModeRight
|
||||||
|
#define LAViewContentModeTopLeft UIViewContentModeTopLeft
|
||||||
|
#define LAViewContentModeTopRight UIViewContentModeTopRight
|
||||||
|
#define LAViewContentModeBottomLeft UIViewContentModeBottomLeft
|
||||||
|
#define LAViewContentModeBottomRight UIViewContentModeBottomRight
|
||||||
|
|
||||||
|
- (void)setContentMode:(LAViewContentMode)contentMode {
|
||||||
[super setContentMode:contentMode];
|
[super setContentMode:contentMode];
|
||||||
[self setNeedsLayout];
|
[self setNeedsLayout];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)layoutSubviews {
|
- (void)layoutSubviews {
|
||||||
[super layoutSubviews];
|
[super layoutSubviews];
|
||||||
|
[self _layout];
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
- (void)setContentMode:(LAViewContentMode)contentMode {
|
||||||
|
_contentMode = contentMode;
|
||||||
|
[self setNeedsLayout];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setNeedsLayout {
|
||||||
|
self.needsLayout = YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isFlipped {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)wantsUpdateLayer {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)layout {
|
||||||
|
[super layout];
|
||||||
|
[self _layout];
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- (void)_layout {
|
||||||
if (!hasFullyInitialized_) {
|
if (!hasFullyInitialized_) {
|
||||||
_animationContainer.bounds = self.bounds;
|
_animationContainer.bounds = self.bounds;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CGPoint centerPoint = CGRectGetCenterPoint(self.bounds);
|
CGPoint centerPoint = CGRectGetCenterPoint(self.bounds);
|
||||||
CATransform3D xform;
|
CATransform3D xform;
|
||||||
|
|
||||||
if (self.contentMode == UIViewContentModeScaleToFill) {
|
if (self.contentMode == LAViewContentModeScaleToFill) {
|
||||||
CGSize scaleSize = CGSizeMake(self.bounds.size.width / self.sceneModel.compBounds.size.width,
|
CGSize scaleSize = CGSizeMake(self.bounds.size.width / self.sceneModel.compBounds.size.width,
|
||||||
self.bounds.size.height / self.sceneModel.compBounds.size.height);
|
self.bounds.size.height / self.sceneModel.compBounds.size.height);
|
||||||
xform = CATransform3DMakeScale(scaleSize.width, scaleSize.height, 1);
|
xform = CATransform3DMakeScale(scaleSize.width, scaleSize.height, 1);
|
||||||
} else if (self.contentMode == UIViewContentModeScaleAspectFit) {
|
} else if (self.contentMode == LAViewContentModeScaleAspectFit) {
|
||||||
CGFloat compAspect = self.sceneModel.compBounds.size.width / self.sceneModel.compBounds.size.height;
|
CGFloat compAspect = self.sceneModel.compBounds.size.width / self.sceneModel.compBounds.size.height;
|
||||||
CGFloat viewAspect = self.bounds.size.width / self.bounds.size.height;
|
CGFloat viewAspect = self.bounds.size.width / self.bounds.size.height;
|
||||||
BOOL scaleWidth = compAspect > viewAspect;
|
BOOL scaleWidth = compAspect > viewAspect;
|
||||||
@@ -514,7 +573,7 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0;
|
|||||||
CGFloat compDimension = scaleWidth ? self.sceneModel.compBounds.size.width : self.sceneModel.compBounds.size.height;
|
CGFloat compDimension = scaleWidth ? self.sceneModel.compBounds.size.width : self.sceneModel.compBounds.size.height;
|
||||||
CGFloat scale = dominantDimension / compDimension;
|
CGFloat scale = dominantDimension / compDimension;
|
||||||
xform = CATransform3DMakeScale(scale, scale, 1);
|
xform = CATransform3DMakeScale(scale, scale, 1);
|
||||||
} else if (self.contentMode == UIViewContentModeScaleAspectFill) {
|
} else if (self.contentMode == LAViewContentModeScaleAspectFill) {
|
||||||
CGFloat compAspect = self.sceneModel.compBounds.size.width / self.sceneModel.compBounds.size.height;
|
CGFloat compAspect = self.sceneModel.compBounds.size.width / self.sceneModel.compBounds.size.height;
|
||||||
CGFloat viewAspect = self.bounds.size.width / self.bounds.size.height;
|
CGFloat viewAspect = self.bounds.size.width / self.bounds.size.height;
|
||||||
BOOL scaleWidth = compAspect < viewAspect;
|
BOOL scaleWidth = compAspect < viewAspect;
|
||||||
@@ -525,7 +584,7 @@ const NSTimeInterval singleFrameTimeValue = 1.0 / 60.0;
|
|||||||
} else {
|
} else {
|
||||||
xform = CATransform3DIdentity;
|
xform = CATransform3DIdentity;
|
||||||
}
|
}
|
||||||
|
|
||||||
[CATransaction begin];
|
[CATransaction begin];
|
||||||
[CATransaction setDisableActions:YES];
|
[CATransaction setDisableActions:YES];
|
||||||
_animationContainer.transform = CATransform3DIdentity;
|
_animationContainer.transform = CATransform3DIdentity;
|
||||||
|
|||||||
@@ -12,9 +12,11 @@ typedef enum : NSUInteger {
|
|||||||
LAConstraintTypeNone
|
LAConstraintTypeNone
|
||||||
} LAConstraintType;
|
} LAConstraintType;
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface LAAnimationState : NSObject
|
@interface LAAnimationState : NSObject
|
||||||
|
|
||||||
- (instancetype)initWithDuration:(CGFloat)duration layer:(CALayer *)layer;
|
- (instancetype)initWithDuration:(CGFloat)duration layer:(nullable CALayer *)layer;
|
||||||
|
|
||||||
- (void)setAnimationIsPlaying:(BOOL)animationIsPlaying;
|
- (void)setAnimationIsPlaying:(BOOL)animationIsPlaying;
|
||||||
- (void)setAnimationDoesLoop:(BOOL)loopAnimation;
|
- (void)setAnimationDoesLoop:(BOOL)loopAnimation;
|
||||||
@@ -29,7 +31,7 @@ typedef enum : NSUInteger {
|
|||||||
@property (nonatomic, readonly) CGFloat animationDuration;
|
@property (nonatomic, readonly) CGFloat animationDuration;
|
||||||
@property (nonatomic, readonly) CGFloat animationSpeed;
|
@property (nonatomic, readonly) CGFloat animationSpeed;
|
||||||
|
|
||||||
@property (nonatomic, readonly) CALayer *layer;
|
@property (nonatomic, readonly, nullable) CALayer *layer;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -40,3 +42,5 @@ typedef enum : NSUInteger {
|
|||||||
@property (nonatomic, copy, nullable) LAAnimationCompletionBlock completionBlock;
|
@property (nonatomic, copy, nullable) LAAnimationCompletionBlock completionBlock;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <CoreGraphics/CoreGraphics.h>
|
||||||
|
|
||||||
@class LALayer;
|
@class LALayer;
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import "LAPlatformCompat.h"
|
||||||
|
|
||||||
@class LAShapeGroup;
|
@class LAShapeGroup;
|
||||||
@class LAMask;
|
@class LAMask;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
// Copyright © 2015 Brandon Withrow. All rights reserved.
|
// Copyright © 2015 Brandon Withrow. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import "LAPlatformCompat.h"
|
||||||
#import "LAAnimatableLayer.h"
|
#import "LAAnimatableLayer.h"
|
||||||
|
|
||||||
#import "LAModels.h"
|
#import "LAModels.h"
|
||||||
|
|||||||
38
lottie-ios/Classes/LAPlatformCompat.h
Normal file
38
lottie-ios/Classes/LAPlatformCompat.h
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
//
|
||||||
|
// LAPlatformCompat.h
|
||||||
|
// Lottie
|
||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright (c) 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef LAPlatformCompat_h
|
||||||
|
#define LAPlatformCompat_h
|
||||||
|
|
||||||
|
#import "TargetConditionals.h"
|
||||||
|
|
||||||
|
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#import <AppKit/AppKit.h>
|
||||||
|
#import "UIColor.h"
|
||||||
|
#import "UIBezierPath.h"
|
||||||
|
#import "CADisplayLink.h"
|
||||||
|
#import "CALayer+Compat.h"
|
||||||
|
#import "NSValue+Compat.h"
|
||||||
|
|
||||||
|
NS_INLINE NSString *NSStringFromCGRect(CGRect rect) {
|
||||||
|
return NSStringFromRect(rect);
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_INLINE NSString *NSStringFromCGPoint(CGPoint point) {
|
||||||
|
return NSStringFromPoint(point);
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef NSEdgeInsets UIEdgeInsets;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
// Copyright © 2016 Brandon Withrow. All rights reserved.
|
// Copyright © 2016 Brandon Withrow. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import <QuartzCore/QuartzCore.h>
|
||||||
#import "LAModels.h"
|
#import "LAModels.h"
|
||||||
#import "LAAnimatableLayer.h"
|
#import "LAAnimatableLayer.h"
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "LARectShapeLayer.h"
|
#import "LARectShapeLayer.h"
|
||||||
|
#import "LAPlatformCompat.h"
|
||||||
#import "CAAnimationGroup+LAAnimatableGroup.h"
|
#import "CAAnimationGroup+LAAnimatableGroup.h"
|
||||||
|
|
||||||
@interface LARoundRectLayer : CAShapeLayer
|
@interface LARoundRectLayer : CAShapeLayer
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <CoreGraphics/CoreGraphics.h>
|
||||||
|
|
||||||
@interface LAShapeGroup : NSObject
|
@interface LAShapeGroup : NSObject
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
// Copyright © 2016 Brandon Withrow. All rights reserved.
|
// Copyright © 2016 Brandon Withrow. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
|
||||||
#import "LAAnimatableLayer.h"
|
#import "LAAnimatableLayer.h"
|
||||||
#import "LAModels.h"
|
#import "LAModels.h"
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <CoreGraphics/CoreGraphics.h>
|
||||||
|
|
||||||
@class LAAnimatableNumberValue;
|
@class LAAnimatableNumberValue;
|
||||||
@class LAAnimatablePointValue;
|
@class LAAnimatablePointValue;
|
||||||
|
|||||||
19
lottie-ios/Classes/NSValue+Compat.h
Normal file
19
lottie-ios/Classes/NSValue+Compat.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright (c) 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
@interface NSValue (Compat)
|
||||||
|
|
||||||
|
+ (NSValue *)valueWithCGRect:(CGRect)rect;
|
||||||
|
+ (NSValue *)valueWithCGPoint:(CGPoint)point;
|
||||||
|
|
||||||
|
@property (nonatomic, readonly) CGRect CGRectValue;
|
||||||
|
@property(nonatomic, readonly) CGPoint CGPointValue;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
29
lottie-ios/Classes/NSValue+Compat.m
Normal file
29
lottie-ios/Classes/NSValue+Compat.m
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright (c) 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import "NSValue+Compat.h"
|
||||||
|
|
||||||
|
@implementation NSValue (Compat)
|
||||||
|
|
||||||
|
+ (NSValue *)valueWithCGRect:(CGRect)rect {
|
||||||
|
return [self valueWithRect:rect];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (NSValue *)valueWithCGPoint:(CGPoint)point {
|
||||||
|
return [self valueWithPoint:point];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGRect)CGRectValue {
|
||||||
|
return self.rectValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGPoint)CGPointValue {
|
||||||
|
return self.pointValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -6,6 +6,8 @@
|
|||||||
// Copyright © 2017 Brandon Withrow. All rights reserved.
|
// Copyright © 2017 Brandon Withrow. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
@@ -43,3 +45,5 @@
|
|||||||
toLayerNamed:(NSString *)toLayer;
|
toLayerNamed:(NSString *)toLayer;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -6,11 +6,12 @@
|
|||||||
// Copyright © 2015 Brandon Withrow. All rights reserved.
|
// Copyright © 2015 Brandon Withrow. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import <Foundation/Foundation.h>
|
||||||
|
#import "LAAnimationView_Compat.h"
|
||||||
|
|
||||||
typedef void (^LAAnimationCompletionBlock)(BOOL animationFinished);
|
typedef void (^LAAnimationCompletionBlock)(BOOL animationFinished);
|
||||||
|
|
||||||
@interface LAAnimationView : UIView
|
@interface LAAnimationView : LAView
|
||||||
|
|
||||||
+ (instancetype)animationNamed:(NSString *)animationName;
|
+ (instancetype)animationNamed:(NSString *)animationName;
|
||||||
+ (instancetype)animationFromJSON:(NSDictionary *)animationJSON;
|
+ (instancetype)animationFromJSON:(NSDictionary *)animationJSON;
|
||||||
@@ -27,7 +28,11 @@ typedef void (^LAAnimationCompletionBlock)(BOOL animationFinished);
|
|||||||
- (void)play;
|
- (void)play;
|
||||||
- (void)pause;
|
- (void)pause;
|
||||||
|
|
||||||
- (void)addSubview:(UIView *)view
|
- (void)addSubview:(LAView *)view
|
||||||
toLayerNamed:(NSString *)layer;
|
toLayerNamed:(NSString *)layer;
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
@property (nonatomic) LAViewContentMode contentMode;
|
||||||
|
#endif
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
36
lottie-ios/Classes/PublicHeaders/LAAnimationView_Compat.h
Normal file
36
lottie-ios/Classes/PublicHeaders/LAAnimationView_Compat.h
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
//
|
||||||
|
// LAAnimationView_Compat.h
|
||||||
|
// Lottie
|
||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright (c) 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
@compatibility_alias LAView UIView;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#import <AppKit/AppKit.h>
|
||||||
|
@compatibility_alias LAView NSView;
|
||||||
|
|
||||||
|
typedef NS_ENUM(NSInteger, LAViewContentMode) {
|
||||||
|
LAViewContentModeScaleToFill,
|
||||||
|
LAViewContentModeScaleAspectFit,
|
||||||
|
LAViewContentModeScaleAspectFill,
|
||||||
|
LAViewContentModeRedraw,
|
||||||
|
LAViewContentModeCenter,
|
||||||
|
LAViewContentModeTop,
|
||||||
|
LAViewContentModeBottom,
|
||||||
|
LAViewContentModeLeft,
|
||||||
|
LAViewContentModeRight,
|
||||||
|
LAViewContentModeTopLeft,
|
||||||
|
LAViewContentModeTopRight,
|
||||||
|
LAViewContentModeBottomLeft,
|
||||||
|
LAViewContentModeBottomRight,
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
78
lottie-ios/Classes/UIBezierPath.h
Normal file
78
lottie-ios/Classes/UIBezierPath.h
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
// Kindly stolen from https://github.com/BigZaphod/Chameleon
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2011, The Iconfactory. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* 3. Neither the name of The Iconfactory nor the names of its contributors may
|
||||||
|
* be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE ICONFACTORY BE LIABLE FOR ANY DIRECT,
|
||||||
|
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||||
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <CoreGraphics/CoreGraphics.h>
|
||||||
|
|
||||||
|
typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
|
||||||
|
UIRectCornerTopLeft = 1 << 0,
|
||||||
|
UIRectCornerTopRight = 1 << 1,
|
||||||
|
UIRectCornerBottomLeft = 1 << 2,
|
||||||
|
UIRectCornerBottomRight = 1 << 3,
|
||||||
|
UIRectCornerAllCorners = UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight
|
||||||
|
};
|
||||||
|
|
||||||
|
@interface UIBezierPath : NSObject <NSCopying>
|
||||||
|
|
||||||
|
+ (UIBezierPath *)bezierPath;
|
||||||
|
+ (UIBezierPath *)bezierPathWithRect:(CGRect)rect;
|
||||||
|
+ (UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect;
|
||||||
|
+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius;
|
||||||
|
+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;
|
||||||
|
+ (UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
|
||||||
|
+ (UIBezierPath *)bezierPathWithCGPath:(CGPathRef)CGPath;
|
||||||
|
|
||||||
|
- (void)moveToPoint:(CGPoint)point;
|
||||||
|
- (void)addLineToPoint:(CGPoint)point;
|
||||||
|
- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
|
||||||
|
- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;
|
||||||
|
- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;
|
||||||
|
- (void)closePath;
|
||||||
|
- (void)removeAllPoints;
|
||||||
|
- (void)appendPath:(UIBezierPath *)bezierPath;
|
||||||
|
- (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase;
|
||||||
|
- (void)getLineDash:(CGFloat *)pattern count:(NSInteger *)count phase:(CGFloat *)phase;
|
||||||
|
- (BOOL)containsPoint:(CGPoint)point;
|
||||||
|
- (void)applyTransform:(CGAffineTransform)transform;
|
||||||
|
|
||||||
|
@property (nonatomic) CGPathRef CGPath;
|
||||||
|
@property (nonatomic, readonly) CGPoint currentPoint;
|
||||||
|
@property (nonatomic) CGFloat lineWidth;
|
||||||
|
@property (nonatomic) CGLineCap lineCapStyle;
|
||||||
|
@property (nonatomic) CGLineJoin lineJoinStyle;
|
||||||
|
@property (nonatomic) CGFloat miterLimit;
|
||||||
|
@property (nonatomic) CGFloat flatness;
|
||||||
|
@property (nonatomic) BOOL usesEvenOddFillRule;
|
||||||
|
@property (readonly, getter=isEmpty) BOOL empty;
|
||||||
|
@property (nonatomic, readonly) CGRect bounds;
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
310
lottie-ios/Classes/UIBezierPath.m
Normal file
310
lottie-ios/Classes/UIBezierPath.m
Normal file
@@ -0,0 +1,310 @@
|
|||||||
|
// Kindly stolen from https://github.com/BigZaphod/Chameleon
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2011, The Iconfactory. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* 3. Neither the name of The Iconfactory nor the names of its contributors may
|
||||||
|
* be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE ICONFACTORY BE LIABLE FOR ANY DIRECT,
|
||||||
|
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||||
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import "UIBezierPath.h"
|
||||||
|
|
||||||
|
@implementation UIBezierPath {
|
||||||
|
CGFloat *_lineDashPattern;
|
||||||
|
NSInteger _lineDashCount;
|
||||||
|
CGFloat _lineDashPhase;
|
||||||
|
}
|
||||||
|
@synthesize CGPath = _path;
|
||||||
|
|
||||||
|
- (id)init {
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
_path = CGPathCreateMutable();
|
||||||
|
_lineWidth = 1;
|
||||||
|
_lineCapStyle = kCGLineCapButt;
|
||||||
|
_lineJoinStyle = kCGLineJoinMiter;
|
||||||
|
_miterLimit = 10;
|
||||||
|
_flatness = 0.6;
|
||||||
|
_usesEvenOddFillRule = NO;
|
||||||
|
_lineDashPattern = NULL;
|
||||||
|
_lineDashCount = 0;
|
||||||
|
_lineDashPhase = 0;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
if (_path) CGPathRelease(_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id)copyWithZone:(NSZone *)zone {
|
||||||
|
UIBezierPath *copy = [[self class] new];
|
||||||
|
|
||||||
|
copy.CGPath = self.CGPath;
|
||||||
|
copy.lineWidth = self.lineWidth;
|
||||||
|
copy.lineCapStyle = self.lineCapStyle;
|
||||||
|
copy.lineJoinStyle = self.lineJoinStyle;
|
||||||
|
copy.miterLimit = self.miterLimit;
|
||||||
|
copy.flatness = self.flatness;
|
||||||
|
copy.usesEvenOddFillRule = self.usesEvenOddFillRule;
|
||||||
|
|
||||||
|
NSInteger lineDashCount = 0;
|
||||||
|
[self getLineDash:NULL count:&lineDashCount phase:NULL];
|
||||||
|
|
||||||
|
if (lineDashCount > 0) {
|
||||||
|
CGFloat *lineDashPattern = malloc(sizeof(CGFloat) * lineDashCount);
|
||||||
|
CGFloat lineDashPhase = 0;
|
||||||
|
[self getLineDash:lineDashPattern count:NULL phase:&lineDashPhase];
|
||||||
|
[copy setLineDash:lineDashPattern count:lineDashCount phase:lineDashPhase];
|
||||||
|
free(lineDashPattern);
|
||||||
|
}
|
||||||
|
|
||||||
|
return copy;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIBezierPath *)bezierPathWithCGPath:(CGPathRef)CGPath {
|
||||||
|
NSAssert(CGPath != NULL, @"CGPath must not be NULL");
|
||||||
|
UIBezierPath *bezierPath = [[self alloc] init];
|
||||||
|
bezierPath.CGPath = CGPath;
|
||||||
|
return bezierPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIBezierPath *)bezierPath {
|
||||||
|
UIBezierPath *bezierPath = [[self alloc] init];
|
||||||
|
return bezierPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIBezierPath *)bezierPathWithRect:(CGRect)rect {
|
||||||
|
CGMutablePathRef path = CGPathCreateMutable();
|
||||||
|
CGPathAddRect(path, NULL, rect);
|
||||||
|
|
||||||
|
UIBezierPath *bezierPath = [[self alloc] init];
|
||||||
|
bezierPath->_path = path;
|
||||||
|
return bezierPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect {
|
||||||
|
CGMutablePathRef path = CGPathCreateMutable();
|
||||||
|
CGPathAddEllipseInRect(path, NULL, rect);
|
||||||
|
|
||||||
|
UIBezierPath *bezierPath = [[self alloc] init];
|
||||||
|
bezierPath->_path = path;
|
||||||
|
return bezierPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect
|
||||||
|
cornerRadius:(CGFloat)cornerRadius {
|
||||||
|
return [self bezierPathWithRoundedRect:rect
|
||||||
|
byRoundingCorners:UIRectCornerAllCorners
|
||||||
|
cornerRadii:CGSizeMake(cornerRadius, cornerRadius)];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect
|
||||||
|
byRoundingCorners:(UIRectCorner)corners
|
||||||
|
cornerRadii:(CGSize)cornerRadii {
|
||||||
|
|
||||||
|
CGMutablePathRef path = CGPathCreateMutable();
|
||||||
|
|
||||||
|
const CGPoint topLeft = rect.origin;
|
||||||
|
const CGPoint topRight = CGPointMake(CGRectGetMaxX(rect), CGRectGetMinY(rect));
|
||||||
|
const CGPoint bottomRight = CGPointMake(CGRectGetMaxX(rect), CGRectGetMaxY(rect));
|
||||||
|
const CGPoint bottomLeft = CGPointMake(CGRectGetMinX(rect), CGRectGetMaxY(rect));
|
||||||
|
|
||||||
|
if (corners & UIRectCornerTopLeft) {
|
||||||
|
CGPathMoveToPoint(path, NULL, topLeft.x + cornerRadii.width, topLeft.y);
|
||||||
|
} else {
|
||||||
|
CGPathMoveToPoint(path, NULL, topLeft.x, topLeft.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (corners & UIRectCornerTopRight) {
|
||||||
|
CGPathAddLineToPoint(path, NULL, topRight.x - cornerRadii.width, topRight.y);
|
||||||
|
CGPathAddCurveToPoint(path, NULL, topRight.x, topRight.y, topRight.x, topRight.y + cornerRadii.height, topRight.x, topRight.y + cornerRadii.height);
|
||||||
|
} else {
|
||||||
|
CGPathAddLineToPoint(path, NULL, topRight.x, topRight.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (corners & UIRectCornerBottomRight) {
|
||||||
|
CGPathAddLineToPoint(path, NULL, bottomRight.x, bottomRight.y - cornerRadii.height);
|
||||||
|
CGPathAddCurveToPoint(path, NULL, bottomRight.x, bottomRight.y, bottomRight.x - cornerRadii.width, bottomRight.y, bottomRight.x - cornerRadii.width, bottomRight.y);
|
||||||
|
} else {
|
||||||
|
CGPathAddLineToPoint(path, NULL, bottomRight.x, bottomRight.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (corners & UIRectCornerBottomLeft) {
|
||||||
|
CGPathAddLineToPoint(path, NULL, bottomLeft.x + cornerRadii.width, bottomLeft.y);
|
||||||
|
CGPathAddCurveToPoint(path, NULL, bottomLeft.x, bottomLeft.y, bottomLeft.x, bottomLeft.y - cornerRadii.height, bottomLeft.x, bottomLeft.y - cornerRadii.height);
|
||||||
|
} else {
|
||||||
|
CGPathAddLineToPoint(path, NULL, bottomLeft.x, bottomLeft.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (corners & UIRectCornerTopLeft) {
|
||||||
|
CGPathAddLineToPoint(path, NULL, topLeft.x, topLeft.y + cornerRadii.height);
|
||||||
|
CGPathAddCurveToPoint(path, NULL, topLeft.x, topLeft.y, topLeft.x + cornerRadii.width, topLeft.y, topLeft.x + cornerRadii.width, topLeft.y);
|
||||||
|
} else {
|
||||||
|
CGPathAddLineToPoint(path, NULL, topLeft.x, topLeft.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
CGPathCloseSubpath(path);
|
||||||
|
|
||||||
|
UIBezierPath *bezierPath = [[self alloc] init];
|
||||||
|
bezierPath->_path = path;
|
||||||
|
return bezierPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center
|
||||||
|
radius:(CGFloat)radius
|
||||||
|
startAngle:(CGFloat)startAngle
|
||||||
|
endAngle:(CGFloat)endAngle
|
||||||
|
clockwise:(BOOL)clockwise {
|
||||||
|
|
||||||
|
CGMutablePathRef path = CGPathCreateMutable();
|
||||||
|
CGPathAddArc(path, NULL, center.x, center.y, radius, startAngle, endAngle, clockwise);
|
||||||
|
|
||||||
|
UIBezierPath *bezierPath = [[self alloc] init];
|
||||||
|
bezierPath->_path = path;
|
||||||
|
return bezierPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)moveToPoint:(CGPoint)point {
|
||||||
|
CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path);
|
||||||
|
CGPathMoveToPoint(mutablePath, NULL, point.x, point.y);
|
||||||
|
self.CGPath = mutablePath;
|
||||||
|
CGPathRelease(mutablePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)addLineToPoint:(CGPoint)point {
|
||||||
|
CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path);
|
||||||
|
CGPathAddLineToPoint(mutablePath, NULL, point.x, point.y);
|
||||||
|
self.CGPath = mutablePath;
|
||||||
|
CGPathRelease(mutablePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise {
|
||||||
|
CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path);
|
||||||
|
CGPathAddArc(mutablePath, NULL, center.x, center.y, radius, startAngle, endAngle, clockwise);
|
||||||
|
self.CGPath = mutablePath;
|
||||||
|
CGPathRelease(mutablePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2 {
|
||||||
|
CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path);
|
||||||
|
CGPathAddCurveToPoint(mutablePath, NULL, controlPoint1.x, controlPoint1.y, controlPoint2.x, controlPoint2.y, endPoint.x, endPoint.y);
|
||||||
|
self.CGPath = mutablePath;
|
||||||
|
CGPathRelease(mutablePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint {
|
||||||
|
CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path);
|
||||||
|
CGPathAddQuadCurveToPoint(mutablePath, NULL, controlPoint.x, controlPoint.y, endPoint.x, endPoint.y);
|
||||||
|
self.CGPath = mutablePath;
|
||||||
|
CGPathRelease(mutablePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)closePath {
|
||||||
|
CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path);
|
||||||
|
CGPathCloseSubpath(mutablePath);
|
||||||
|
self.CGPath = mutablePath;
|
||||||
|
CGPathRelease(mutablePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)removeAllPoints {
|
||||||
|
CGMutablePathRef mutablePath = CGPathCreateMutable();
|
||||||
|
self.CGPath = mutablePath;
|
||||||
|
CGPathRelease(mutablePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)appendPath:(UIBezierPath *)bezierPath {
|
||||||
|
if (bezierPath) {
|
||||||
|
CGMutablePathRef mutablePath = CGPathCreateMutableCopy(_path);
|
||||||
|
CGPathAddPath(mutablePath, NULL, bezierPath.CGPath);
|
||||||
|
self.CGPath = mutablePath;
|
||||||
|
CGPathRelease(mutablePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setCGPath:(CGPathRef)path {
|
||||||
|
NSAssert(path != NULL, @"path must not be NULL");
|
||||||
|
if (path != _path) {
|
||||||
|
if (_path) CGPathRelease(_path);
|
||||||
|
_path = CGPathCreateCopy(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGPoint)currentPoint {
|
||||||
|
return CGPathGetCurrentPoint(_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase {
|
||||||
|
free(_lineDashPattern);
|
||||||
|
|
||||||
|
if (pattern && count > 0) {
|
||||||
|
const size_t size = sizeof(CGFloat) * count;
|
||||||
|
_lineDashPattern = malloc(size);
|
||||||
|
bcopy(pattern, _lineDashPattern, size);
|
||||||
|
} else {
|
||||||
|
_lineDashPattern = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
_lineDashCount = count;
|
||||||
|
_lineDashPhase = phase;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)getLineDash:(CGFloat *)pattern count:(NSInteger *)count phase:(CGFloat *)phase {
|
||||||
|
if (pattern && _lineDashPattern && _lineDashCount > 0) {
|
||||||
|
const size_t size = sizeof(CGFloat) * _lineDashCount;
|
||||||
|
bcopy(_lineDashPattern, pattern, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count) {
|
||||||
|
*count = _lineDashCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (phase) {
|
||||||
|
*phase = _lineDashPhase;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)containsPoint:(CGPoint)point {
|
||||||
|
return CGPathContainsPoint(_path, NULL, point, _usesEvenOddFillRule);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)isEmpty {
|
||||||
|
return CGPathIsEmpty(_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGRect)bounds {
|
||||||
|
return CGPathGetBoundingBox(_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)applyTransform:(CGAffineTransform)transform {
|
||||||
|
CGMutablePathRef mutablePath = CGPathCreateMutable();
|
||||||
|
CGPathAddPath(mutablePath, &transform, _path);
|
||||||
|
self.CGPath = mutablePath;
|
||||||
|
CGPathRelease(mutablePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#import <UIKit/UIKit.h>
|
#import "LAPlatformCompat.h"
|
||||||
|
|
||||||
// From http://github.com/ars/uicolor-utilities
|
// From http://github.com/ars/uicolor-utilities
|
||||||
#define CLAMP(val,min,max) MIN(MAX(val,min),max)
|
#define CLAMP(val,min,max) MIN(MAX(val,min),max)
|
||||||
|
|||||||
42
lottie-ios/Classes/UIColor.h
Normal file
42
lottie-ios/Classes/UIColor.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
//
|
||||||
|
// UIColor.h
|
||||||
|
// Lottie
|
||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright © 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <CoreGraphics/CoreGraphics.h>
|
||||||
|
|
||||||
|
@interface UIColor : NSObject <NSCopying>
|
||||||
|
|
||||||
|
+ (UIColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha;
|
||||||
|
+ (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha;
|
||||||
|
+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;
|
||||||
|
+ (UIColor *)colorWithCGColor:(CGColorRef)cgColor;
|
||||||
|
|
||||||
|
+ (UIColor *)blackColor;
|
||||||
|
+ (UIColor *)darkGrayColor;
|
||||||
|
+ (UIColor *)lightGrayColor;
|
||||||
|
+ (UIColor *)whiteColor;
|
||||||
|
+ (UIColor *)grayColor;
|
||||||
|
+ (UIColor *)redColor;
|
||||||
|
+ (UIColor *)greenColor;
|
||||||
|
+ (UIColor *)blueColor;
|
||||||
|
+ (UIColor *)cyanColor;
|
||||||
|
+ (UIColor *)yellowColor;
|
||||||
|
+ (UIColor *)magentaColor;
|
||||||
|
+ (UIColor *)orangeColor;
|
||||||
|
+ (UIColor *)purpleColor;
|
||||||
|
+ (UIColor *)brownColor;
|
||||||
|
+ (UIColor *)clearColor;
|
||||||
|
|
||||||
|
- (UIColor *)colorWithAlphaComponent:(CGFloat)alpha;
|
||||||
|
|
||||||
|
@property (nonatomic, readonly) CGColorRef CGColor;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
156
lottie-ios/Classes/UIColor.m
Normal file
156
lottie-ios/Classes/UIColor.m
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
//
|
||||||
|
// UIColor.m
|
||||||
|
// Lottie
|
||||||
|
//
|
||||||
|
// Created by Oleksii Pavlovskyi on 2/2/17.
|
||||||
|
// Copyright © 2017 Airbnb. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
|
||||||
|
#import "UIColor.h"
|
||||||
|
#import <AppKit/AppKit.h>
|
||||||
|
|
||||||
|
#define StaticColor(staticColor) \
|
||||||
|
static UIColor *color = nil; \
|
||||||
|
static dispatch_once_t onceToken; \
|
||||||
|
dispatch_once(&onceToken, ^{ \
|
||||||
|
color = NSColor.staticColor.UIColor; \
|
||||||
|
}); \
|
||||||
|
return color; \
|
||||||
|
|
||||||
|
@interface UIColor ()
|
||||||
|
|
||||||
|
@property (nonatomic, strong) NSColor *color;
|
||||||
|
|
||||||
|
- (instancetype)initWithNSColor:(NSColor *)color;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface NSColor (UIColor)
|
||||||
|
|
||||||
|
@property (nonatomic, readonly) UIColor *UIColor;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation UIColor
|
||||||
|
|
||||||
|
- (instancetype)initWithNSColor:(NSColor *)color {
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
self.color = color;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)colorWithNSColor:(NSColor *)color {
|
||||||
|
return [[self alloc] initWithNSColor:color];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha {
|
||||||
|
return [[NSColor colorWithWhite:white alpha:alpha] UIColor];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)colorWithHue:(CGFloat)hue
|
||||||
|
saturation:(CGFloat)saturation
|
||||||
|
brightness:(CGFloat)brightness
|
||||||
|
alpha:(CGFloat)alpha {
|
||||||
|
return [[NSColor colorWithHue:hue
|
||||||
|
saturation:saturation
|
||||||
|
brightness:brightness
|
||||||
|
alpha:alpha] UIColor];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha {
|
||||||
|
return [[NSColor colorWithRed:red
|
||||||
|
green:green
|
||||||
|
blue:blue
|
||||||
|
alpha:alpha] UIColor];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)colorWithCGColor:(CGColorRef)cgColor {
|
||||||
|
return [[NSColor colorWithCGColor:cgColor] UIColor];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)blackColor {
|
||||||
|
StaticColor(blackColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)darkGrayColor {
|
||||||
|
StaticColor(darkGrayColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)lightGrayColor {
|
||||||
|
StaticColor(lightGrayColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)whiteColor {
|
||||||
|
StaticColor(whiteColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)grayColor {
|
||||||
|
StaticColor(grayColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)redColor {
|
||||||
|
StaticColor(redColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)greenColor {
|
||||||
|
StaticColor(greenColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)blueColor {
|
||||||
|
StaticColor(blueColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)cyanColor {
|
||||||
|
StaticColor(cyanColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)yellowColor {
|
||||||
|
StaticColor(yellowColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)magentaColor {
|
||||||
|
StaticColor(magentaColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)orangeColor {
|
||||||
|
StaticColor(orangeColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)purpleColor {
|
||||||
|
StaticColor(purpleColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)brownColor {
|
||||||
|
StaticColor(brownColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (UIColor *)clearColor {
|
||||||
|
StaticColor(clearColor)
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGColorRef)CGColor {
|
||||||
|
return self.color.CGColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIColor *)colorWithAlphaComponent:(CGFloat)alpha {
|
||||||
|
return [self.color colorWithAlphaComponent:alpha].UIColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id)copyWithZone:(NSZone *)zone {
|
||||||
|
return [[self.color copyWithZone:zone] UIColor];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation NSColor (UIColor)
|
||||||
|
|
||||||
|
- (UIColor *)UIColor {
|
||||||
|
return [UIColor colorWithNSColor:self];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user