mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-06 15:24:55 +08:00
feat(spine-ios): Add bindings generation script and remove CocoaPods support
- Add generate-bindings.sh script similar to spine-flutter - Remove outdated CocoaPods example and podspecs - Remove setup.sh (no longer needed as we use symlinks) - CocoaPods users should use Swift Package Manager instead
This commit is contained in:
parent
ab53d271a4
commit
37fef98fd2
@ -1,32 +0,0 @@
|
||||
#
|
||||
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
|
||||
# Run `pod lib lint spine_flutter.podspec` to validate before publishing.
|
||||
#
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'Spine'
|
||||
s.version = '4.2.0'
|
||||
s.summary = 'Spine runtimes for iOS.'
|
||||
s.description = <<-DESC
|
||||
Spine runtimes for iOS.
|
||||
DESC
|
||||
s.homepage = 'https://esotericsoftware.com'
|
||||
s.author = { "Esoteric Software LLC " => "https://esotericsoftware.com" }
|
||||
s.license = { :file => 'LICENSE' }
|
||||
|
||||
s.source = { :git => 'https://github.com/esotericsoftware/spine-runtimes.git', :branch => '4.2' }
|
||||
s.source_files = 'spine-ios/Sources/Spine/**/*.{swift}'
|
||||
s.platform = :ios, '13.0'
|
||||
|
||||
s.xcconfig = {
|
||||
'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/SpineCppLite/spine-cpp/spine-cpp/include" "$(PODS_ROOT)/SpineCppLite/spine-cpp/spine-cpp-lite"',
|
||||
'MTL_HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/SpineShadersStructs"'
|
||||
}
|
||||
|
||||
s.resource_bundles = {
|
||||
'SpineBundle' => ['spine-ios/Sources/Spine/**/*.{metal}']
|
||||
}
|
||||
|
||||
s.swift_version = '5.0'
|
||||
s.dependency 'SpineCppLite'
|
||||
s.dependency 'SpineShadersStructs'
|
||||
end
|
||||
@ -1,25 +0,0 @@
|
||||
#
|
||||
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
|
||||
# Run `pod lib lint spine_flutter.podspec` to validate before publishing.
|
||||
#
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'SpineCppLite'
|
||||
s.version = '4.2.0'
|
||||
s.summary = 'Spine runtimes for iOS.'
|
||||
s.description = <<-DESC
|
||||
Spine runtimes for iOS.
|
||||
DESC
|
||||
s.homepage = 'https://esotericsoftware.com'
|
||||
s.author = { "Esoteric Software LLC " => "https://esotericsoftware.com" }
|
||||
s.license = { :file => 'LICENSE' }
|
||||
s.platform = :ios, '13.0'
|
||||
|
||||
s.source = { :git => 'https://github.com/esotericsoftware/spine-runtimes.git', :branch => '4.2' }
|
||||
s.source_files = 'spine-cpp/spine-cpp/**/*.{h,cpp}', 'spine-cpp/spine-cpp-lite/*.{h,cpp}'
|
||||
s.module_map = 'spine-cpp/spine-cpp-lite/module.modulemap'
|
||||
s.pod_target_xcconfig = {
|
||||
'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/SpineCppLite/spine-cpp/spine-cpp/include" "$(PODS_ROOT)/SpineCppLite/spine-cpp/spine-cpp-lite"',
|
||||
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11',
|
||||
'CLANG_CXX_LIBRARY' => 'libc++'
|
||||
}
|
||||
end
|
||||
@ -1,24 +0,0 @@
|
||||
#
|
||||
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
|
||||
# Run `pod lib lint spine_flutter.podspec` to validate before publishing.
|
||||
#
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'SpineShadersStructs'
|
||||
s.version = '4.2.0'
|
||||
s.summary = 'Metal shaders structs for spine'
|
||||
s.description = <<-DESC
|
||||
Metal shaders structs for spine.
|
||||
DESC
|
||||
s.homepage = 'https://esotericsoftware.com'
|
||||
s.author = { "Esoteric Software LLC " => "https://esotericsoftware.com" }
|
||||
s.license = { :file => 'LICENSE' }
|
||||
s.platform = :ios, '13.0'
|
||||
|
||||
s.source = { :git => 'https://github.com/esotericsoftware/spine-runtimes.git', :branch => '4.2' }
|
||||
s.source_files = 'spine-ios/Sources/SpineShadersStructs/*.{h,cpp}'
|
||||
|
||||
s.pod_target_xcconfig = {
|
||||
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11',
|
||||
'CLANG_CXX_LIBRARY' => 'libc++'
|
||||
}
|
||||
end
|
||||
92
spine-ios/Example - Cocoapods/.gitignore
vendored
92
spine-ios/Example - Cocoapods/.gitignore
vendored
@ -1,92 +0,0 @@
|
||||
# Xcode
|
||||
#
|
||||
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
|
||||
|
||||
## User settings
|
||||
xcuserdata/
|
||||
|
||||
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
|
||||
*.xcscmblueprint
|
||||
*.xccheckout
|
||||
|
||||
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
|
||||
build/
|
||||
DerivedData/
|
||||
*.moved-aside
|
||||
*.pbxuser
|
||||
!default.pbxuser
|
||||
*.mode1v3
|
||||
!default.mode1v3
|
||||
*.mode2v3
|
||||
!default.mode2v3
|
||||
*.perspectivev3
|
||||
!default.perspectivev3
|
||||
|
||||
## Obj-C/Swift specific
|
||||
*.hmap
|
||||
|
||||
## App packaging
|
||||
*.ipa
|
||||
*.dSYM.zip
|
||||
*.dSYM
|
||||
|
||||
## Playgrounds
|
||||
timeline.xctimeline
|
||||
playground.xcworkspace
|
||||
|
||||
# Swift Package Manager
|
||||
#
|
||||
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
|
||||
# Packages/
|
||||
# Package.pins
|
||||
# Package.resolved
|
||||
# *.xcodeproj
|
||||
#
|
||||
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
|
||||
# hence it is not needed unless you have added a package configuration file to your project
|
||||
# .swiftpm
|
||||
|
||||
.build/
|
||||
|
||||
# CocoaPods
|
||||
#
|
||||
# We recommend against adding the Pods directory to your .gitignore. However
|
||||
# you should judge for yourself, the pros and cons are mentioned at:
|
||||
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
||||
#
|
||||
Pods/
|
||||
Podfile.lock
|
||||
#
|
||||
# Add this line if you want to avoid checking in source code from the Xcode workspace
|
||||
*.xcworkspace
|
||||
|
||||
# Carthage
|
||||
#
|
||||
# Add this line if you want to avoid checking in source code from Carthage dependencies.
|
||||
# Carthage/Checkouts
|
||||
|
||||
Carthage/Build/
|
||||
|
||||
# Accio dependency management
|
||||
Dependencies/
|
||||
.accio/
|
||||
|
||||
# fastlane
|
||||
#
|
||||
# It is recommended to not store the screenshots in the git repo.
|
||||
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
|
||||
# For more information about the recommended setup visit:
|
||||
# https://docs.fastlane.tools/best-practices/source-control/#source-control
|
||||
|
||||
fastlane/report.xml
|
||||
fastlane/Preview.html
|
||||
fastlane/screenshots/**/*.png
|
||||
fastlane/test_output
|
||||
|
||||
# Code Injection
|
||||
#
|
||||
# After new code Injection tools there's a generated folder /iOSInjectionProject
|
||||
# https://github.com/johnno1962/injectionforxcode
|
||||
|
||||
iOSInjectionProject/
|
||||
.DS_store
|
||||
@ -1,11 +0,0 @@
|
||||
# Uncomment the next line to define a global platform for your project
|
||||
platform :ios, '13.0'
|
||||
|
||||
target 'Spine iOS Example' do
|
||||
# Comment the next line if you don't want to use dynamic frameworks
|
||||
use_frameworks!
|
||||
|
||||
pod 'Spine', :podspec => 'https://raw.githubusercontent.com/EsotericSoftware/spine-runtimes/4.2/Spine.podspec'
|
||||
pod 'SpineCppLite', :podspec => 'https://raw.githubusercontent.com/EsotericSoftware/spine-runtimes/4.2/SpineCppLite.podspec'
|
||||
pod 'SpineShadersStructs', :podspec => 'https://raw.githubusercontent.com/EsotericSoftware/spine-runtimes/4.2/SpineShadersStructs.podspec'
|
||||
end
|
||||
@ -1,455 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 56;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
029E40AACC629A2B19C75855 /* Pods_Spine_iOS_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63A23DBBF6B9A1877F1E82A7 /* Pods_Spine_iOS_Example.framework */; };
|
||||
76381FE22C2EF6100087712B /* spineboy-pma.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 76381FE02C2EF6100087712B /* spineboy-pma.atlas */; };
|
||||
76381FE32C2EF6100087712B /* spineboy-pma.png in Resources */ = {isa = PBXBuildFile; fileRef = 76381FE12C2EF6100087712B /* spineboy-pma.png */; };
|
||||
9281EF152C07885C00BE19F5 /* Spine_iOS_ExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9281EF142C07885C00BE19F5 /* Spine_iOS_ExampleApp.swift */; };
|
||||
9281EF192C07885D00BE19F5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9281EF182C07885D00BE19F5 /* Assets.xcassets */; };
|
||||
9281EF1C2C07885D00BE19F5 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9281EF1B2C07885D00BE19F5 /* Preview Assets.xcassets */; };
|
||||
92BFC4B62C11BCA10051F2EA /* spineboy-pro.skel in Resources */ = {isa = PBXBuildFile; fileRef = 92BFC4B22C11BCA10051F2EA /* spineboy-pro.skel */; };
|
||||
92BFC4B72C11BCA10051F2EA /* spineboy-pro.json in Resources */ = {isa = PBXBuildFile; fileRef = 92BFC4B32C11BCA10051F2EA /* spineboy-pro.json */; };
|
||||
92BFC4BB2C11BCC50051F2EA /* SimpleAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92BFC4BA2C11BCC50051F2EA /* SimpleAnimation.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
63A23DBBF6B9A1877F1E82A7 /* Pods_Spine_iOS_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Spine_iOS_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
76381FE02C2EF6100087712B /* spineboy-pma.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "spineboy-pma.atlas"; sourceTree = "<group>"; };
|
||||
76381FE12C2EF6100087712B /* spineboy-pma.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "spineboy-pma.png"; sourceTree = "<group>"; };
|
||||
7C440864BA6BF0A3BA8297E4 /* Pods-Spine iOS Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Spine iOS Example.debug.xcconfig"; path = "Target Support Files/Pods-Spine iOS Example/Pods-Spine iOS Example.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
9206EF0B2C119BC500320243 /* SpineCppLite.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SpineCppLite.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9281EF112C07885C00BE19F5 /* Spine iOS Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Spine iOS Example.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9281EF142C07885C00BE19F5 /* Spine_iOS_ExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Spine_iOS_ExampleApp.swift; sourceTree = "<group>"; };
|
||||
9281EF182C07885D00BE19F5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
9281EF1B2C07885D00BE19F5 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
|
||||
92BFC4B22C11BCA10051F2EA /* spineboy-pro.skel */ = {isa = PBXFileReference; lastKnownFileType = file; path = "spineboy-pro.skel"; sourceTree = "<group>"; };
|
||||
92BFC4B32C11BCA10051F2EA /* spineboy-pro.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "spineboy-pro.json"; sourceTree = "<group>"; };
|
||||
92BFC4BA2C11BCC50051F2EA /* SimpleAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SimpleAnimation.swift; path = "Spine iOS Example/SimpleAnimation.swift"; sourceTree = SOURCE_ROOT; };
|
||||
F571992938153AF59959A005 /* Pods-Spine iOS Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Spine iOS Example.release.xcconfig"; path = "Target Support Files/Pods-Spine iOS Example/Pods-Spine iOS Example.release.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
9281EF0E2C07885C00BE19F5 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
029E40AACC629A2B19C75855 /* Pods_Spine_iOS_Example.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
646ABFDC442BA39836A04383 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
7C440864BA6BF0A3BA8297E4 /* Pods-Spine iOS Example.debug.xcconfig */,
|
||||
F571992938153AF59959A005 /* Pods-Spine iOS Example.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9281EF082C07885C00BE19F5 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9281EF132C07885C00BE19F5 /* Spine iOS Example */,
|
||||
9281EF122C07885C00BE19F5 /* Products */,
|
||||
646ABFDC442BA39836A04383 /* Pods */,
|
||||
F18879239F06E7487AA7C894 /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9281EF122C07885C00BE19F5 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9281EF112C07885C00BE19F5 /* Spine iOS Example.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9281EF132C07885C00BE19F5 /* Spine iOS Example */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
92BFC4B12C11BC840051F2EA /* spineboy */,
|
||||
9281EF142C07885C00BE19F5 /* Spine_iOS_ExampleApp.swift */,
|
||||
92BFC4BA2C11BCC50051F2EA /* SimpleAnimation.swift */,
|
||||
9281EF182C07885D00BE19F5 /* Assets.xcassets */,
|
||||
9281EF1A2C07885D00BE19F5 /* Preview Content */,
|
||||
);
|
||||
path = "Spine iOS Example";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9281EF1A2C07885D00BE19F5 /* Preview Content */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9281EF1B2C07885D00BE19F5 /* Preview Assets.xcassets */,
|
||||
);
|
||||
path = "Preview Content";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
92BFC4B12C11BC840051F2EA /* spineboy */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
76381FE02C2EF6100087712B /* spineboy-pma.atlas */,
|
||||
76381FE12C2EF6100087712B /* spineboy-pma.png */,
|
||||
92BFC4B32C11BCA10051F2EA /* spineboy-pro.json */,
|
||||
92BFC4B22C11BCA10051F2EA /* spineboy-pro.skel */,
|
||||
);
|
||||
path = spineboy;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
F18879239F06E7487AA7C894 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9206EF0B2C119BC500320243 /* SpineCppLite.framework */,
|
||||
63A23DBBF6B9A1877F1E82A7 /* Pods_Spine_iOS_Example.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
9281EF102C07885C00BE19F5 /* Spine iOS Example */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 9281EF1F2C07885D00BE19F5 /* Build configuration list for PBXNativeTarget "Spine iOS Example" */;
|
||||
buildPhases = (
|
||||
4CE732AF2F7C247F187833EC /* [CP] Check Pods Manifest.lock */,
|
||||
9281EF0D2C07885C00BE19F5 /* Sources */,
|
||||
9281EF0E2C07885C00BE19F5 /* Frameworks */,
|
||||
9281EF0F2C07885C00BE19F5 /* Resources */,
|
||||
A39FE6D793C3DED23C563AA5 /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "Spine iOS Example";
|
||||
productName = "Spine iOS Example";
|
||||
productReference = 9281EF112C07885C00BE19F5 /* Spine iOS Example.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
9281EF092C07885C00BE19F5 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
BuildIndependentTargetsInParallel = 1;
|
||||
LastSwiftUpdateCheck = 1520;
|
||||
LastUpgradeCheck = 1520;
|
||||
TargetAttributes = {
|
||||
9281EF102C07885C00BE19F5 = {
|
||||
CreatedOnToolsVersion = 15.2;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 9281EF0C2C07885C00BE19F5 /* Build configuration list for PBXProject "Spine iOS Example" */;
|
||||
compatibilityVersion = "Xcode 14.0";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 9281EF082C07885C00BE19F5;
|
||||
productRefGroup = 9281EF122C07885C00BE19F5 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
9281EF102C07885C00BE19F5 /* Spine iOS Example */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
9281EF0F2C07885C00BE19F5 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
92BFC4B72C11BCA10051F2EA /* spineboy-pro.json in Resources */,
|
||||
9281EF1C2C07885D00BE19F5 /* Preview Assets.xcassets in Resources */,
|
||||
92BFC4B62C11BCA10051F2EA /* spineboy-pro.skel in Resources */,
|
||||
76381FE22C2EF6100087712B /* spineboy-pma.atlas in Resources */,
|
||||
9281EF192C07885D00BE19F5 /* Assets.xcassets in Resources */,
|
||||
76381FE32C2EF6100087712B /* spineboy-pma.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
4CE732AF2F7C247F187833EC /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-Spine iOS Example-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/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# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
A39FE6D793C3DED23C563AA5 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Spine iOS Example/Pods-Spine iOS Example-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Spine iOS Example/Pods-Spine iOS Example-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Spine iOS Example/Pods-Spine iOS Example-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
9281EF0D2C07885C00BE19F5 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
92BFC4BB2C11BCC50051F2EA /* SimpleAnimation.swift in Sources */,
|
||||
9281EF152C07885C00BE19F5 /* Spine_iOS_ExampleApp.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
9281EF1D2C07885D00BE19F5 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 17.2;
|
||||
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
9281EF1E2C07885D00BE19F5 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 17.2;
|
||||
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
9281EF202C07885D00BE19F5 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7C440864BA6BF0A3BA8297E4 /* Pods-Spine iOS Example.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMPRESS_PNG_FILES = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_ASSET_PATHS = "\"Spine iOS Example/Preview Content\"";
|
||||
DEVELOPMENT_TEAM = 9ZFD4KCY8F;
|
||||
ENABLE_PREVIEWS = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
|
||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.esotericsoftware.spine-ios-example.Spine-iOS-Example";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
STRIP_PNG_TEXT = NO;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
SWIFT_OBJC_INTEROP_MODE = objcxx;
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
9281EF212C07885D00BE19F5 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = F571992938153AF59959A005 /* Pods-Spine iOS Example.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMPRESS_PNG_FILES = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_ASSET_PATHS = "\"Spine iOS Example/Preview Content\"";
|
||||
DEVELOPMENT_TEAM = 9ZFD4KCY8F;
|
||||
ENABLE_PREVIEWS = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
|
||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.esotericsoftware.spine-ios-example.Spine-iOS-Example";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
STRIP_PNG_TEXT = NO;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
SWIFT_OBJC_INTEROP_MODE = objcxx;
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
9281EF0C2C07885C00BE19F5 /* Build configuration list for PBXProject "Spine iOS Example" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
9281EF1D2C07885D00BE19F5 /* Debug */,
|
||||
9281EF1E2C07885D00BE19F5 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
9281EF1F2C07885D00BE19F5 /* Build configuration list for PBXNativeTarget "Spine iOS Example" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
9281EF202C07885D00BE19F5 /* Debug */,
|
||||
9281EF212C07885D00BE19F5 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 9281EF092C07885C00BE19F5 /* Project object */;
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"platform" : "ios",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@ -1,6 +0,0 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@ -1,6 +0,0 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@ -1,64 +0,0 @@
|
||||
/******************************************************************************
|
||||
* Spine Runtimes License Agreement
|
||||
* Last updated April 5, 2025. Replaces all prior versions.
|
||||
*
|
||||
* Copyright (c) 2013-2025, Esoteric Software LLC
|
||||
*
|
||||
* Integration of the Spine Runtimes into software or otherwise creating
|
||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||
* http://esotericsoftware.com/spine-editor-license
|
||||
*
|
||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
||||
* "Products"), provided that each user of the Products must obtain their own
|
||||
* Spine Editor license and redistribution of the Products in any form must
|
||||
* include this license and copyright notice.
|
||||
*
|
||||
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "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 ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) 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
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
import Spine
|
||||
import SwiftUI
|
||||
|
||||
struct SimpleAnimation: View {
|
||||
|
||||
@StateObject
|
||||
var controller = SpineController(
|
||||
onInitialized: { controller in
|
||||
controller.animationState.setAnimationByName(
|
||||
trackIndex: 0,
|
||||
animationName: "walk",
|
||||
loop: true
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
var body: some View {
|
||||
SpineView(
|
||||
from: .bundle(atlasFileName: "spineboy-pma.atlas", skeletonFileName: "spineboy-pro.skel"),
|
||||
// from: .http(
|
||||
// atlasURL: URL(string: "https://github.com/esotericsoftware/spine-runtimes/raw/spine-ios/spine-ios/Example/Spine%20iOS%20Example/Assets/spineboy/spineboy.atlas")!,
|
||||
// skeletonURL: URL(string: "https://github.com/esotericsoftware/spine-runtimes/raw/spine-ios/spine-ios/Example/Spine%20iOS%20Example/Assets/spineboy/spineboy-pro.skel")!
|
||||
// ),
|
||||
controller: controller,
|
||||
mode: .fit,
|
||||
alignment: .center
|
||||
)
|
||||
.navigationTitle("Simple Animation")
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
SimpleAnimation()
|
||||
}
|
||||
@ -1,18 +0,0 @@
|
||||
//
|
||||
// Spine_iOS_ExampleApp.swift
|
||||
// Spine iOS Example
|
||||
//
|
||||
// Created by Denis Andrašec on 29.05.24.
|
||||
//
|
||||
|
||||
import SpineCppLite
|
||||
import SwiftUI
|
||||
|
||||
@main
|
||||
struct Spine_iOS_ExampleApp: App {
|
||||
var body: some Scene {
|
||||
WindowGroup {
|
||||
SimpleAnimation()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,99 +0,0 @@
|
||||
spineboy-pma.png
|
||||
size: 1024, 256
|
||||
filter: Linear, Linear
|
||||
pma: true
|
||||
scale: 0.5
|
||||
crosshair
|
||||
bounds: 263, 11, 45, 45
|
||||
eye-indifferent
|
||||
bounds: 214, 11, 47, 45
|
||||
eye-surprised
|
||||
bounds: 965, 33, 47, 45
|
||||
rotate: 90
|
||||
front-bracer
|
||||
bounds: 2, 5, 29, 40
|
||||
rotate: 90
|
||||
front-fist-closed
|
||||
bounds: 505, 3, 38, 41
|
||||
rotate: 90
|
||||
front-fist-open
|
||||
bounds: 790, 9, 43, 44
|
||||
rotate: 90
|
||||
front-foot
|
||||
bounds: 149, 21, 63, 35
|
||||
front-shin
|
||||
bounds: 505, 43, 41, 92
|
||||
rotate: 90
|
||||
front-thigh
|
||||
bounds: 359, 14, 23, 56
|
||||
rotate: 90
|
||||
front-upper-arm
|
||||
bounds: 955, 8, 23, 49
|
||||
rotate: 90
|
||||
goggles
|
||||
bounds: 180, 58, 131, 83
|
||||
gun
|
||||
bounds: 313, 39, 105, 102
|
||||
head
|
||||
bounds: 29, 83, 136, 149
|
||||
rotate: 90
|
||||
hoverboard-board
|
||||
bounds: 180, 143, 246, 76
|
||||
hoverboard-thruster
|
||||
bounds: 790, 57, 30, 32
|
||||
hoverglow-small
|
||||
bounds: 826, 54, 137, 38
|
||||
mouth-grind
|
||||
bounds: 707, 8, 47, 30
|
||||
mouth-oooo
|
||||
bounds: 658, 8, 47, 30
|
||||
mouth-smile
|
||||
bounds: 548, 11, 47, 30
|
||||
muzzle-glow
|
||||
bounds: 997, 194, 25, 25
|
||||
muzzle-ring
|
||||
bounds: 2, 114, 25, 105
|
||||
muzzle01
|
||||
bounds: 965, 82, 67, 40
|
||||
rotate: 90
|
||||
muzzle02
|
||||
bounds: 953, 151, 68, 42
|
||||
rotate: 90
|
||||
muzzle03
|
||||
bounds: 420, 31, 83, 53
|
||||
muzzle04
|
||||
bounds: 2, 36, 75, 45
|
||||
muzzle05
|
||||
bounds: 79, 43, 68, 38
|
||||
neck
|
||||
bounds: 997, 171, 18, 21
|
||||
portal-bg
|
||||
bounds: 563, 86, 133, 133
|
||||
portal-flare1
|
||||
bounds: 79, 11, 56, 30
|
||||
portal-flare2
|
||||
bounds: 836, 21, 57, 31
|
||||
portal-flare3
|
||||
bounds: 895, 22, 58, 30
|
||||
portal-shade
|
||||
bounds: 428, 86, 133, 133
|
||||
portal-streaks1
|
||||
bounds: 698, 91, 126, 128
|
||||
portal-streaks2
|
||||
bounds: 826, 94, 125, 125
|
||||
rear-bracer
|
||||
bounds: 756, 2, 28, 36
|
||||
rear-foot
|
||||
bounds: 599, 14, 57, 30
|
||||
rear-shin
|
||||
bounds: 599, 46, 38, 89
|
||||
rotate: 90
|
||||
rear-thigh
|
||||
bounds: 310, 9, 28, 47
|
||||
rotate: 90
|
||||
rear-upper-arm
|
||||
bounds: 417, 9, 20, 44
|
||||
rotate: 90
|
||||
torso
|
||||
bounds: 698, 40, 49, 90
|
||||
rotate: 90
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 235 KiB |
File diff suppressed because it is too large
Load Diff
Binary file not shown.
54
spine-ios/generate-bindings.sh
Executable file
54
spine-ios/generate-bindings.sh
Executable file
@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Get to the script's directory
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Source logging utilities
|
||||
source ../formatters/logging/logging.sh
|
||||
|
||||
log_title "spine-swift bindings generation"
|
||||
|
||||
# Install dependencies if needed
|
||||
if [ ! -d "codegen/node_modules" ]; then
|
||||
log_action "Installing codegen dependencies"
|
||||
if (cd codegen && npm install > /dev/null 2>&1); then
|
||||
log_ok
|
||||
else
|
||||
log_fail
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Generating spine-c bindings
|
||||
log_action "Generating spine-c bindings"
|
||||
if LOG=$(cd ../spine-c && ./build.sh codegen 2>&1); then
|
||||
log_ok
|
||||
else
|
||||
log_fail
|
||||
log_error_output "$LOG"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Run the Swift codegen
|
||||
log_action "Generating Swift bindings"
|
||||
if LOG=$(cd codegen && npm run generate 2>&1); then
|
||||
log_ok
|
||||
else
|
||||
log_fail
|
||||
log_error_output "$LOG"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Build and run tests
|
||||
log_action "Building and running tests"
|
||||
if LOG=$(cd test && ./build.sh 2>&1); then
|
||||
log_ok
|
||||
else
|
||||
log_fail
|
||||
log_error_output "$LOG"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_summary "✓ Swift bindings generated successfully"
|
||||
@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Source logging utilities
|
||||
source ../formatters/logging/logging.sh
|
||||
|
||||
log_title "Spine iOS Setup"
|
||||
|
||||
log_action "Running spine-cpp-lite code generator"
|
||||
if PYTHON_OUTPUT=$(python3 ../spine-cpp/spine-cpp-lite/spine-cpp-lite-codegen.py 2>&1); then
|
||||
if WRITE_OUTPUT=$(echo "$PYTHON_OUTPUT" > Sources/Spine/Spine.Generated.swift 2>&1); then
|
||||
log_ok
|
||||
log_summary "✓ iOS setup completed successfully"
|
||||
else
|
||||
log_fail
|
||||
log_error_output "$WRITE_OUTPUT"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
log_fail
|
||||
log_error_output "$PYTHON_OUTPUT"
|
||||
exit 1
|
||||
fi
|
||||
Loading…
x
Reference in New Issue
Block a user