İlk commit: Stepstead Godot istemci (4.6 Mobile)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
jts 2026-07-11 11:31:35 +03:00
commit 6a1706051d
346 changed files with 14415 additions and 0 deletions

View file

@ -0,0 +1,5 @@
XSym
0044
99be1ba3f1b49f27eaef0cd758c0b70d
Versions/Current/GodotApplePluginsCoreMotion

View file

@ -0,0 +1,5 @@
XSym
0026
e58c4cf10cc7c8ef7d7167ccb641aeb4
Versions/Current/Resources

View file

@ -0,0 +1,46 @@
<?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>BuildMachineOSBuild</key>
<string>25F71</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>GodotApplePluginsCoreMotion</string>
<key>CFBundleIdentifier</key>
<string>godotappleplugins.GodotApplePluginsCoreMotion</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>GodotApplePluginsCoreMotion</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>25E251</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>26.4</string>
<key>DTSDKBuild</key>
<string>25E251</string>
<key>DTSDKName</key>
<string>macosx26.4</string>
<key>DTXcode</key>
<string>2641</string>
<key>DTXcodeBuild</key>
<string>17E202</string>
<key>LSMinimumSystemVersion</key>
<string>14.0</string>
</dict>
</plist>

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMAbsoluteAltitudeData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
An absolute (sea-level-referenced) altitude sample from [CMAltimeter].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMAbsoluteAltitudeData[/code], available on iOS 15 and later. Reports altitude referenced to mean sea level along with accuracy and precision estimates.
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmabsolutealtitudedata]CMAbsoluteAltitudeData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="accuracy" type="float" setter="set_accuracy" getter="get_accuracy">
Estimated accuracy of [member altitude] in meters.
</member>
<member name="altitude" type="float" setter="set_altitude" getter="get_altitude">
Altitude in meters relative to mean sea level.
</member>
<member name="precision" type="float" setter="set_precision" getter="get_precision">
Estimated precision of [member altitude] in meters.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMAccelerometerData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A single accelerometer sample produced by [CMMotionManager].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMAccelerometerData[/code]. Provides the raw accelerometer reading in G-forces (1 G = 9.81 m/s²) along each device axis. See Apple's [url=https://developer.apple.com/documentation/coremotion/cmaccelerometerdata]CMAccelerometerData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="acceleration" type="Vector3" setter="set_acceleration" getter="get_acceleration">
Acceleration along each axis in G-forces. Includes gravity. To remove gravity, use device-motion updates and read [member CMDeviceMotion.user_acceleration] instead.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMAltimeter" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Reports relative and (iOS 15+) absolute altitude from the device barometer.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMAltimeter[/code]. Use [method start_relative_altitude_updates] for change-from-start readings and [method start_absolute_altitude_updates] for sea-level-referenced readings (iOS 15+).
[b]Requires the [code]NSMotionUsageDescription[/code] Info.plist key.[/b]
[b]Platform availability:[/b] Real implementation on [b]iOS[/b]. On other platforms [code]is_*_available[/code] returns [code]false[/code] and calls to start updates emit [signal altimeter_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmaltimeter]CMAltimeter reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="authorization_status" qualifiers="static">
<return type="int" />
<description>
Returns Apple's [code skip-lint]CMAuthorizationStatus[/code] integer for altimeter access (0 = notDetermined, 1 = restricted, 2 = denied, 3 = authorized).
</description>
</method>
<method name="is_absolute_altitude_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can report absolute (sea-level) altitude. Requires iOS 15 or later.
</description>
</method>
<method name="is_relative_altitude_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device has a barometer capable of reporting relative altitude.
</description>
</method>
<method name="start_absolute_altitude_updates">
<return type="void" />
<description>
Begins absolute altitude updates delivered via [signal absolute_altitude_updated]. iOS 15+; emits [signal altimeter_failed] on earlier iOS versions or other platforms.
</description>
</method>
<method name="start_relative_altitude_updates">
<return type="void" />
<description>
Begins relative altitude updates delivered via [signal relative_altitude_updated].
</description>
</method>
<method name="stop_absolute_altitude_updates">
<return type="void" />
<description>
Stops absolute altitude updates.
</description>
</method>
<method name="stop_relative_altitude_updates">
<return type="void" />
<description>
Stops relative altitude updates.
</description>
</method>
</methods>
<signals>
<signal name="absolute_altitude_updated">
<param index="0" name="altitude" type="CMAbsoluteAltitudeData" />
<description>
Emitted on the main thread when a new absolute altitude sample is available.
</description>
</signal>
<signal name="altimeter_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when CoreMotion reports an error or when the API is unavailable on the current platform.
</description>
</signal>
<signal name="relative_altitude_updated">
<param index="0" name="altitude" type="CMAltitudeData" />
<description>
Emitted on the main thread when a new relative altitude sample is available.
</description>
</signal>
</signals>
</class>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMAltitudeData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A relative altitude / barometric pressure sample from [CMAltimeter].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMAltitudeData[/code]. The altitude is reported relative to the point at which updates were started, not absolute sea level — for absolute readings, use [method CMAltimeter.start_absolute_altitude_updates] and [CMAbsoluteAltitudeData].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmaltitudedata]CMAltitudeData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="pressure" type="float" setter="set_pressure" getter="get_pressure">
Barometric pressure in kilopascals (kPa).
</member>
<member name="relative_altitude" type="float" setter="set_relative_altitude" getter="get_relative_altitude">
Change in altitude in meters, relative to the point at which updates were started.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMDeviceMotion" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Fused sensor data combining accelerometer, gyroscope and magnetometer into attitude, gravity, user acceleration and bias-corrected rotation rate.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMDeviceMotion[/code]. Use this instead of raw accelerometer/gyro data when you need device attitude, gravity-separated user acceleration, or bias-corrected rotation. Emitted by both [CMMotionManager] (handheld device) and [CMHeadphoneMotionManager] (AirPods).
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmdevicemotion]CMDeviceMotion reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="attitude_quaternion" type="Quaternion" setter="set_attitude_quaternion" getter="get_attitude_quaternion">
Device attitude as a quaternion, relative to the reference frame chosen when starting updates.
</member>
<member name="attitude_roll_pitch_yaw" type="Vector3" setter="set_attitude_roll_pitch_yaw" getter="get_attitude_roll_pitch_yaw">
Device attitude as Euler angles in radians: [code]x[/code] is roll, [code]y[/code] is pitch, [code]z[/code] is yaw.
</member>
<member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity">
The gravity component of the acceleration, in G-forces, in device coordinates.
</member>
<member name="heading" type="float" setter="set_heading" getter="get_heading">
Heading in degrees, where 0° is the reference attitude. Returns [code]-1[/code] on platforms where heading is not available (e.g. macOS headphone motion, iOS &lt; 11).
</member>
<member name="magnetic_field" type="Vector3" setter="set_magnetic_field" getter="get_magnetic_field">
Bias-corrected magnetic field in microteslas. Check [member magnetic_field_accuracy] to interpret reliability.
</member>
<member name="magnetic_field_accuracy" type="int" setter="set_magnetic_field_accuracy" getter="get_magnetic_field_accuracy" enum="MagneticFieldCalibrationAccuracy">
Calibration accuracy of [member magnetic_field].
</member>
<member name="rotation_rate" type="Vector3" setter="set_rotation_rate" getter="get_rotation_rate">
Bias-corrected rotation rate around each axis in radians per second.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
<member name="user_acceleration" type="Vector3" setter="set_user_acceleration" getter="get_user_acceleration">
Acceleration imparted by the user, in G-forces, with gravity removed.
</member>
</members>
<constants>
<constant name="UNCALIBRATED" value="-1" enum="MagneticFieldCalibrationAccuracy">
The magnetometer has not been calibrated; [member magnetic_field] is not reliable.
</constant>
<constant name="LOW" value="0" enum="MagneticFieldCalibrationAccuracy">
Low calibration accuracy.
</constant>
<constant name="MEDIUM" value="1" enum="MagneticFieldCalibrationAccuracy">
Medium calibration accuracy.
</constant>
<constant name="HIGH" value="2" enum="MagneticFieldCalibrationAccuracy">
High calibration accuracy.
</constant>
</constants>
</class>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMGyroData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A single gyroscope sample produced by [CMMotionManager].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMGyroData[/code]. Provides the raw rotation rate around each device axis. See Apple's [url=https://developer.apple.com/documentation/coremotion/cmgyrodata]CMGyroData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="rotation_rate" type="Vector3" setter="set_rotation_rate" getter="get_rotation_rate">
Rotation rate around each axis in radians per second. Includes bias from gyroscope drift. For a bias-corrected value, use device-motion updates and read [member CMDeviceMotion.rotation_rate] instead.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMHeadphoneMotionManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Streams fused head motion data from AirPods Pro / AirPods Max / AirPods 3rd gen and later.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMHeadphoneMotionManager[/code]. Provides [CMDeviceMotion] samples representing head pose when compatible headphones are connected. Useful for head-tracked audio, spatial UI, or letting the user look around with their head while their hands are free.
[b]Requires the [code]NSMotionUsageDescription[/code] Info.plist key (and on macOS, the matching entitlement).[/b]
[b]Platform availability:[/b] Real implementation on [b]iOS 14+[/b] and [b]macOS 14+[/b]. On other platforms [member is_device_motion_available] is [code]false[/code] and [method start_device_motion_updates] emits [signal update_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmheadphonemotionmanager]CMHeadphoneMotionManager reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="authorization_status" qualifiers="static">
<return type="int" />
<description>
Returns Apple's [code skip-lint]CMAuthorizationStatus[/code] integer (0 = notDetermined, 1 = restricted, 2 = denied, 3 = authorized). Available on iOS 17.4 / macOS 14.4 and later; returns 0 on earlier versions.
</description>
</method>
<method name="start_device_motion_updates">
<return type="void" />
<description>
Begins delivering [CMDeviceMotion] samples for the connected headphones via [signal device_motion_updated]. If no compatible headphones are connected, samples will begin to arrive once a pair connects.
</description>
</method>
<method name="stop_device_motion_updates">
<return type="void" />
<description>
Stops headphone motion updates.
</description>
</method>
</methods>
<members>
<member name="device_motion" type="CMDeviceMotion" setter="" getter="get_device_motion">
The most recent headphone motion sample, or [code]null[/code] if none is available.
</member>
<member name="is_device_motion_active" type="bool" setter="" getter="get_is_device_motion_active">
[code]true[/code] when updates are currently being delivered.
</member>
<member name="is_device_motion_available" type="bool" setter="" getter="get_is_device_motion_available">
[code]true[/code] when compatible headphones are currently connected and providing motion data.
</member>
</members>
<signals>
<signal name="connected">
<description>
Emitted when compatible headphones connect and begin providing motion data.
</description>
</signal>
<signal name="device_motion_updated">
<param index="0" name="deviceMotion" type="CMDeviceMotion" />
<description>
Emitted on the main thread when a new headphone motion sample is available.
</description>
</signal>
<signal name="disconnected">
<description>
Emitted when the previously connected headphones disconnect.
</description>
</signal>
<signal name="update_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when CoreMotion reports an error or when the API is unavailable on the current platform.
</description>
</signal>
</signals>
</class>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMMagnetometerData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A single magnetometer sample produced by [CMMotionManager].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMMagnetometerData[/code]. Provides the raw magnetic field reading in microteslas along each device axis. Includes bias from device magnetic interference. For a bias-corrected value, use device-motion updates and read [member CMDeviceMotion.magnetic_field] instead. See Apple's [url=https://developer.apple.com/documentation/coremotion/cmmagnetometerdata]CMMagnetometerData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="magnetic_field" type="Vector3" setter="set_magnetic_field" getter="get_magnetic_field">
Magnetic field strength along each axis in microteslas (µT).
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMMotionActivity" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A user-activity classification (walking, running, automotive, etc.) from the system motion coprocessor.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMMotionActivity[/code]. More than one activity flag may be set simultaneously (e.g. [member walking] and [member automotive] when the user is moving inside a vehicle). The system uses [member confidence] to indicate how certain the classification is.
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmmotionactivity]CMMotionActivity reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="automotive" type="bool" setter="set_automotive" getter="get_automotive">
[code]true[/code] when the user appears to be in a vehicle.
</member>
<member name="confidence" type="int" setter="set_confidence" getter="get_confidence" enum="Confidence">
How confident the system is in this classification.
</member>
<member name="cycling" type="bool" setter="set_cycling" getter="get_cycling">
[code]true[/code] when the user appears to be cycling.
</member>
<member name="running" type="bool" setter="set_running" getter="get_running">
[code]true[/code] when the user appears to be running.
</member>
<member name="start_date" type="float" setter="set_start_date" getter="get_start_date">
Unix-time start of the period for which this activity applies, in seconds.
</member>
<member name="stationary" type="bool" setter="set_stationary" getter="get_stationary">
[code]true[/code] when the user appears to be stationary.
</member>
<member name="unknown" type="bool" setter="set_unknown" getter="get_unknown">
[code]true[/code] when the system cannot classify the user's activity.
</member>
<member name="walking" type="bool" setter="set_walking" getter="get_walking">
[code]true[/code] when the user appears to be walking.
</member>
</members>
<constants>
<constant name="LOW" value="0" enum="Confidence">
Low confidence in the classification.
</constant>
<constant name="MEDIUM" value="1" enum="Confidence">
Medium confidence in the classification.
</constant>
<constant name="HIGH" value="2" enum="Confidence">
High confidence in the classification.
</constant>
</constants>
</class>

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMMotionActivityManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Classifies the user's current activity (walking, running, automotive, cycling, stationary).
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMMotionActivityManager[/code]. The system continuously classifies user activity in the background while motion permission is granted, so [method query_activity] can return historical data even from before your app launched.
[b]Requires the [code]NSMotionUsageDescription[/code] Info.plist key.[/b]
[b]Platform availability:[/b] Real implementation on [b]iOS[/b]. On other platforms [method is_activity_available] returns [code]false[/code] and calls report unavailability via the callback or [signal activity_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmmotionactivitymanager]CMMotionActivityManager reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="authorization_status" qualifiers="static">
<return type="int" />
<description>
Returns Apple's [code skip-lint]CMAuthorizationStatus[/code] integer (0 = notDetermined, 1 = restricted, 2 = denied, 3 = authorized).
</description>
</method>
<method name="is_activity_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device has a motion coprocessor capable of activity classification.
</description>
</method>
<method name="query_activity">
<return type="void" />
<param index="0" name="fromUnixTime" type="float" />
<param index="1" name="toUnixTime" type="float" />
<param index="2" name="callback" type="Callable" />
<description>
Returns historical activities recorded between two Unix-time stamps. [param callback] is invoked on the main thread with [code]callback(activities: Array, error: String)[/code]; [param activities] is an array of [CMMotionActivity].
</description>
</method>
<method name="start_activity_updates">
<return type="void" />
<description>
Begins live activity updates delivered via [signal activity_updated]. The signal fires whenever the classified activity changes.
</description>
</method>
<method name="stop_activity_updates">
<return type="void" />
<description>
Stops live activity updates.
</description>
</method>
</methods>
<signals>
<signal name="activity_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when the API is unavailable on the current platform.
</description>
</signal>
<signal name="activity_updated">
<param index="0" name="activity" type="CMMotionActivity" />
<description>
Emitted on the main thread when the user's classified activity changes.
</description>
</signal>
</signals>
</class>

View file

@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMMotionManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Streams accelerometer, gyroscope, magnetometer, and fused device-motion data from the device.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMMotionManager[/code]. Configure an update interval, call one of the [code]start_*_updates[/code] methods, and connect to the matching signal to receive samples.
Prefer [signal device_motion_updated] over raw [signal accelerometer_updated] / [signal gyro_updated] / [signal magnetometer_updated] when you need gravity-separated user acceleration, bias-corrected rotation, or device attitude.
[b]Platform availability:[/b] Real implementation on [b]iOS[/b]. On other platforms the manager exists but [code]is_*_available[/code] returns [code]false[/code] and calling [code]start_*_updates[/code] emits [signal update_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmmotionmanager]CMMotionManager reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="start_accelerometer_updates">
<return type="void" />
<description>
Begins delivering accelerometer samples via [signal accelerometer_updated]. Sampling cadence is controlled by [member accelerometer_update_interval].
</description>
</method>
<method name="start_device_motion_updates">
<return type="void" />
<param index="0" name="referenceFrame" type="int" enum="AttitudeReferenceFrame" />
<description>
Begins delivering fused [CMDeviceMotion] samples via [signal device_motion_updated]. [param referenceFrame] selects how attitude is referenced. Pass [constant XMAGNETIC_NORTH_Z_VERTICAL] or [constant XTRUE_NORTH_Z_VERTICAL] to align yaw with magnetic or true north (requires the magnetometer).
</description>
</method>
<method name="start_gyro_updates">
<return type="void" />
<description>
Begins delivering gyroscope samples via [signal gyro_updated]. Sampling cadence is controlled by [member gyro_update_interval].
</description>
</method>
<method name="start_magnetometer_updates">
<return type="void" />
<description>
Begins delivering magnetometer samples via [signal magnetometer_updated]. Sampling cadence is controlled by [member magnetometer_update_interval].
</description>
</method>
<method name="stop_accelerometer_updates">
<return type="void" />
<description>
Stops accelerometer updates.
</description>
</method>
<method name="stop_device_motion_updates">
<return type="void" />
<description>
Stops device-motion updates.
</description>
</method>
<method name="stop_gyro_updates">
<return type="void" />
<description>
Stops gyroscope updates.
</description>
</method>
<method name="stop_magnetometer_updates">
<return type="void" />
<description>
Stops magnetometer updates.
</description>
</method>
</methods>
<members>
<member name="accelerometer_data" type="CMAccelerometerData" setter="" getter="get_accelerometer_data">
The most recent accelerometer sample, or [code]null[/code] if none is available.
</member>
<member name="accelerometer_update_interval" type="float" setter="set_accelerometer_update_interval" getter="get_accelerometer_update_interval">
Desired interval between accelerometer samples in seconds.
</member>
<member name="device_motion" type="CMDeviceMotion" setter="" getter="get_device_motion">
The most recent device-motion sample, or [code]null[/code] if none is available.
</member>
<member name="device_motion_update_interval" type="float" setter="set_device_motion_update_interval" getter="get_device_motion_update_interval">
Desired interval between device-motion samples in seconds.
</member>
<member name="gyro_data" type="CMGyroData" setter="" getter="get_gyro_data">
The most recent gyroscope sample, or [code]null[/code] if none is available.
</member>
<member name="gyro_update_interval" type="float" setter="set_gyro_update_interval" getter="get_gyro_update_interval">
Desired interval between gyroscope samples in seconds.
</member>
<member name="is_accelerometer_active" type="bool" setter="" getter="get_is_accelerometer_active">
[code]true[/code] when accelerometer updates are currently being delivered.
</member>
<member name="is_accelerometer_available" type="bool" setter="" getter="get_is_accelerometer_available">
[code]true[/code] when the device has an accelerometer available to this binding.
</member>
<member name="is_device_motion_active" type="bool" setter="" getter="get_is_device_motion_active">
[code]true[/code] when device-motion updates are currently being delivered.
</member>
<member name="is_device_motion_available" type="bool" setter="" getter="get_is_device_motion_available">
[code]true[/code] when fused device-motion is available on this device.
</member>
<member name="is_gyro_active" type="bool" setter="" getter="get_is_gyro_active">
[code]true[/code] when gyroscope updates are currently being delivered.
</member>
<member name="is_gyro_available" type="bool" setter="" getter="get_is_gyro_available">
[code]true[/code] when the device has a gyroscope available to this binding.
</member>
<member name="is_magnetometer_active" type="bool" setter="" getter="get_is_magnetometer_active">
[code]true[/code] when magnetometer updates are currently being delivered.
</member>
<member name="is_magnetometer_available" type="bool" setter="" getter="get_is_magnetometer_available">
[code]true[/code] when the device has a magnetometer available to this binding.
</member>
<member name="magnetometer_data" type="CMMagnetometerData" setter="" getter="get_magnetometer_data">
The most recent magnetometer sample, or [code]null[/code] if none is available.
</member>
<member name="magnetometer_update_interval" type="float" setter="set_magnetometer_update_interval" getter="get_magnetometer_update_interval">
Desired interval between magnetometer samples in seconds.
</member>
</members>
<signals>
<signal name="accelerometer_updated">
<param index="0" name="accelerometer" type="CMAccelerometerData" />
<description>
Emitted on the main thread when a new accelerometer sample is available.
</description>
</signal>
<signal name="device_motion_updated">
<param index="0" name="deviceMotion" type="CMDeviceMotion" />
<description>
Emitted on the main thread when a new fused device-motion sample is available.
</description>
</signal>
<signal name="gyro_updated">
<param index="0" name="gyro" type="CMGyroData" />
<description>
Emitted on the main thread when a new gyroscope sample is available.
</description>
</signal>
<signal name="magnetometer_updated">
<param index="0" name="magnetometer" type="CMMagnetometerData" />
<description>
Emitted on the main thread when a new magnetometer sample is available.
</description>
</signal>
<signal name="update_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when CoreMotion reports an error or when the API is unavailable on the current platform.
</description>
</signal>
</signals>
<constants>
<constant name="XARBITRARY_Z_VERTICAL" value="1" enum="AttitudeReferenceFrame">
Z axis vertical, X axis aligned with an arbitrary direction in the horizontal plane.
</constant>
<constant name="XARBITRARY_CORRECTED_Z_VERTICAL" value="2" enum="AttitudeReferenceFrame">
Same as [constant XARBITRARY_Z_VERTICAL] but corrected for magnetometer drift.
</constant>
<constant name="XMAGNETIC_NORTH_Z_VERTICAL" value="4" enum="AttitudeReferenceFrame">
Z axis vertical, X axis pointing toward magnetic north. Requires the magnetometer.
</constant>
<constant name="XTRUE_NORTH_Z_VERTICAL" value="8" enum="AttitudeReferenceFrame">
Z axis vertical, X axis pointing toward true north. Requires the magnetometer and Location Services.
</constant>
</constants>
</class>

View file

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMPedometer" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Step, distance, and floor counts from the system pedometer.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMPedometer[/code]. Supports both historical queries (already-recorded data from the system) and live updates.
[b]Requires the [code]NSMotionUsageDescription[/code] Info.plist key.[/b] On iOS the system records pedometer data continuously while motion permission is granted, so [method query_pedometer_data] can return data even from before your app launched.
[b]Platform availability:[/b] Real implementation on [b]iOS[/b]. On other platforms the [code]is_*_available[/code] static methods return [code]false[/code] and calls report unavailability through their callback or [signal pedometer_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmpedometer]CMPedometer reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="authorization_status" qualifiers="static">
<return type="int" />
<description>
Returns the current authorization status using Apple's [code skip-lint]CMAuthorizationStatus[/code] integer (0 = notDetermined, 1 = restricted, 2 = denied, 3 = authorized).
</description>
</method>
<method name="is_cadence_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can report cadence.
</description>
</method>
<method name="is_distance_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can estimate walked/run distance.
</description>
</method>
<method name="is_floor_counting_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can count floors ascended/descended.
</description>
</method>
<method name="is_pace_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can report pace.
</description>
</method>
<method name="is_step_counting_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can count steps. Step counting is the minimum requirement for any pedometer functionality.
</description>
</method>
<method name="query_pedometer_data">
<return type="void" />
<param index="0" name="fromUnixTime" type="float" />
<param index="1" name="toUnixTime" type="float" />
<param index="2" name="callback" type="Callable" />
<description>
Queries pedometer data recorded between two Unix-time stamps. [param callback] is invoked on the main thread with [code]callback(data: CMPedometerData, error: String)[/code]; [param data] is [code]null[/code] when [param error] is set.
</description>
</method>
<method name="start_updates">
<return type="void" />
<param index="0" name="fromUnixTime" type="float" />
<description>
Begins live pedometer updates accumulating from [param fromUnixTime] (Unix seconds). Subsequent samples arrive via [signal pedometer_updated]. Use [code]Time.get_unix_time_from_system()[/code] for "now".
</description>
</method>
<method name="stop_updates">
<return type="void" />
<description>
Stops live pedometer updates.
</description>
</method>
</methods>
<signals>
<signal name="pedometer_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when CoreMotion reports an error on a live updates stream, or when the API is unavailable on the current platform.
</description>
</signal>
<signal name="pedometer_updated">
<param index="0" name="data" type="CMPedometerData" />
<description>
Emitted on the main thread with the latest cumulative pedometer reading since [method start_updates] was called.
</description>
</signal>
</signals>
</class>

View file

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMPedometerData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Aggregated pedometer data covering a time window.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMPedometerData[/code]. Optional Apple values (distance, floor counts, pace, cadence) report [code]-1[/code] when the underlying capability is unavailable on the device. See Apple's [url=https://developer.apple.com/documentation/coremotion/cmpedometerdata]CMPedometerData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="average_active_pace" type="float" setter="set_average_active_pace" getter="get_average_active_pace">
Average pace across the window in seconds per meter, or [code]-1[/code] when unavailable.
</member>
<member name="current_cadence" type="float" setter="set_current_cadence" getter="get_current_cadence">
Instantaneous cadence in steps per second, or [code]-1[/code] when unavailable.
</member>
<member name="current_pace" type="float" setter="set_current_pace" getter="get_current_pace">
Instantaneous pace in seconds per meter, or [code]-1[/code] when unavailable.
</member>
<member name="distance" type="float" setter="set_distance" getter="get_distance">
Distance walked or run in meters, or [code]-1[/code] when distance estimation is unavailable.
</member>
<member name="end_date" type="float" setter="set_end_date" getter="get_end_date">
Unix-time end of the reporting window in seconds.
</member>
<member name="floors_ascended" type="int" setter="set_floors_ascended" getter="get_floors_ascended">
Approximate number of floors ascended, or [code]-1[/code] when floor counting is unavailable.
</member>
<member name="floors_descended" type="int" setter="set_floors_descended" getter="get_floors_descended">
Approximate number of floors descended, or [code]-1[/code] when floor counting is unavailable.
</member>
<member name="number_of_steps" type="int" setter="set_number_of_steps" getter="get_number_of_steps">
Step count across the reporting window.
</member>
<member name="start_date" type="float" setter="set_start_date" getter="get_start_date">
Unix-time start of the reporting window in seconds.
</member>
</members>
</class>

View file

@ -0,0 +1,271 @@
<?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>files</key>
<dict>
<key>Resources/Info.plist</key>
<data>
V2gXiXYEKthoF+/jfExDDWF93LQ=
</data>
<key>Resources/doc_classes/CMAbsoluteAltitudeData.xml</key>
<data>
ruTKO3c2PbLquPxEPjNbxh5Lr0g=
</data>
<key>Resources/doc_classes/CMAccelerometerData.xml</key>
<data>
MGhilTq5A7cDDIGlgTeepQ5YnEU=
</data>
<key>Resources/doc_classes/CMAltimeter.xml</key>
<data>
Bh8pRJUZzdX38IUZXYxk5xLAOcY=
</data>
<key>Resources/doc_classes/CMAltitudeData.xml</key>
<data>
XncwCLUZGKxizsT4d36ImyTAfhc=
</data>
<key>Resources/doc_classes/CMDeviceMotion.xml</key>
<data>
7cMBuEKO+J33emlQzGAmUVY+37Y=
</data>
<key>Resources/doc_classes/CMGyroData.xml</key>
<data>
BUfMW1Q1pI+HZDTgn7S/kC4RZVY=
</data>
<key>Resources/doc_classes/CMHeadphoneMotionManager.xml</key>
<data>
FnOPBnmglv3tUY2/KINv4MwAnUk=
</data>
<key>Resources/doc_classes/CMMagnetometerData.xml</key>
<data>
yhze/CizXvHiuOZrD0iiFhB4mTU=
</data>
<key>Resources/doc_classes/CMMotionActivity.xml</key>
<data>
2BYkcgbtrEhnKtg4wo2BMIH3pxA=
</data>
<key>Resources/doc_classes/CMMotionActivityManager.xml</key>
<data>
i12o0lpE95M+o3cs+BhlMG6+PWA=
</data>
<key>Resources/doc_classes/CMMotionManager.xml</key>
<data>
y/QuZavNCtAQp/aFqQpPBsLrwpI=
</data>
<key>Resources/doc_classes/CMPedometer.xml</key>
<data>
jXC71Xh81YCrJcTyIk1ZfQ0zrzg=
</data>
<key>Resources/doc_classes/CMPedometerData.xml</key>
<data>
ragAg6xgX258zW943jka4RCMk7A=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/Info.plist</key>
<dict>
<key>hash2</key>
<data>
RA4KNEUT3BeYQxqO+ChSDfr68XFnxKBqktMIMvNJOKg=
</data>
</dict>
<key>Resources/doc_classes/CMAbsoluteAltitudeData.xml</key>
<dict>
<key>hash2</key>
<data>
RJbSliCU4rrzZ+Ds73KNMiV2V2hC3kF1vml1r3gVNrg=
</data>
</dict>
<key>Resources/doc_classes/CMAccelerometerData.xml</key>
<dict>
<key>hash2</key>
<data>
0ZTg5tlk5CebGDj0zvJBOHrNq7MFG5YM+TXXkMpOvXg=
</data>
</dict>
<key>Resources/doc_classes/CMAltimeter.xml</key>
<dict>
<key>hash2</key>
<data>
wjkXKlnfQlR3FpN4zMszvfAKegJddYZaXaJPcf+5jKo=
</data>
</dict>
<key>Resources/doc_classes/CMAltitudeData.xml</key>
<dict>
<key>hash2</key>
<data>
MrQBfd0SlC/fnCNRxWozDU2l1kuh6u4krHpUeyNpEDw=
</data>
</dict>
<key>Resources/doc_classes/CMDeviceMotion.xml</key>
<dict>
<key>hash2</key>
<data>
OGWPjyAOnFUgAUTrNZYuvDDj/QyxAzjJxvzzc9w72GI=
</data>
</dict>
<key>Resources/doc_classes/CMGyroData.xml</key>
<dict>
<key>hash2</key>
<data>
CauWse7MqNhA3wY+9eK7esh6Hj6s43RlEK4zO46KNkk=
</data>
</dict>
<key>Resources/doc_classes/CMHeadphoneMotionManager.xml</key>
<dict>
<key>hash2</key>
<data>
8255jnS84Sld2w3fVL5fTl4EOn4zIbMfQE5ArxPScpA=
</data>
</dict>
<key>Resources/doc_classes/CMMagnetometerData.xml</key>
<dict>
<key>hash2</key>
<data>
f1C6fe6RKz0BiJEeVQ6WQmwuLXyOpQple5yzW1VF59U=
</data>
</dict>
<key>Resources/doc_classes/CMMotionActivity.xml</key>
<dict>
<key>hash2</key>
<data>
mJtQxqJ5A/FzMfPR6briuOcUhX+TYmQt1tOdzncVFKM=
</data>
</dict>
<key>Resources/doc_classes/CMMotionActivityManager.xml</key>
<dict>
<key>hash2</key>
<data>
ptSLkSJQIHBOZfAzvavj63f4//29X9S9wqISFndxkcA=
</data>
</dict>
<key>Resources/doc_classes/CMMotionManager.xml</key>
<dict>
<key>hash2</key>
<data>
k3zhKAXBA0YNQnBIZnf6I1/ZKQWkCSqCan+n4wHqvgI=
</data>
</dict>
<key>Resources/doc_classes/CMPedometer.xml</key>
<dict>
<key>hash2</key>
<data>
wQfIsk9BMd0ZPyaPfjD2gKMPERVqxuZWa1jjKbCsqJA=
</data>
</dict>
<key>Resources/doc_classes/CMPedometerData.xml</key>
<dict>
<key>hash2</key>
<data>
pGA4w+NWkL1kO3DCw31Q8wFg+x5b2yL9hgKAWPOfEN8=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

View file

@ -0,0 +1,5 @@
XSym
0001
7fc56270e7a70fa81a5935b72eacbe29
A

View file

@ -0,0 +1,44 @@
<?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>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>GodotApplePluginsCoreMotion.framework/GodotApplePluginsCoreMotion</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>GodotApplePluginsCoreMotion.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>GodotApplePluginsCoreMotion.framework/GodotApplePluginsCoreMotion</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>GodotApplePluginsCoreMotion.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,101 @@
<?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>files</key>
<dict>
<key>Info.plist</key>
<data>
YATGjz2TdE4R5vbRwDC/UvHPYg0=
</data>
</dict>
<key>files2</key>
<dict/>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

View file

@ -0,0 +1,101 @@
<?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>files</key>
<dict>
<key>Info.plist</key>
<data>
UePO3lMGlX3OnMIwpSjcm5NID5w=
</data>
</dict>
<key>files2</key>
<dict/>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

View file

@ -0,0 +1,5 @@
XSym
0044
99be1ba3f1b49f27eaef0cd758c0b70d
Versions/Current/GodotApplePluginsCoreMotion

View file

@ -0,0 +1,5 @@
XSym
0026
e58c4cf10cc7c8ef7d7167ccb641aeb4
Versions/Current/Resources

View file

@ -0,0 +1,46 @@
<?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>BuildMachineOSBuild</key>
<string>25F71</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>GodotApplePluginsCoreMotion</string>
<key>CFBundleIdentifier</key>
<string>godotappleplugins.GodotApplePluginsCoreMotion</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>GodotApplePluginsCoreMotion</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>25E251</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>26.4</string>
<key>DTSDKBuild</key>
<string>25E251</string>
<key>DTSDKName</key>
<string>macosx26.4</string>
<key>DTXcode</key>
<string>2641</string>
<key>DTXcodeBuild</key>
<string>17E202</string>
<key>LSMinimumSystemVersion</key>
<string>14.0</string>
</dict>
</plist>

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMAbsoluteAltitudeData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
An absolute (sea-level-referenced) altitude sample from [CMAltimeter].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMAbsoluteAltitudeData[/code], available on iOS 15 and later. Reports altitude referenced to mean sea level along with accuracy and precision estimates.
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmabsolutealtitudedata]CMAbsoluteAltitudeData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="accuracy" type="float" setter="set_accuracy" getter="get_accuracy">
Estimated accuracy of [member altitude] in meters.
</member>
<member name="altitude" type="float" setter="set_altitude" getter="get_altitude">
Altitude in meters relative to mean sea level.
</member>
<member name="precision" type="float" setter="set_precision" getter="get_precision">
Estimated precision of [member altitude] in meters.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMAccelerometerData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A single accelerometer sample produced by [CMMotionManager].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMAccelerometerData[/code]. Provides the raw accelerometer reading in G-forces (1 G = 9.81 m/s²) along each device axis. See Apple's [url=https://developer.apple.com/documentation/coremotion/cmaccelerometerdata]CMAccelerometerData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="acceleration" type="Vector3" setter="set_acceleration" getter="get_acceleration">
Acceleration along each axis in G-forces. Includes gravity. To remove gravity, use device-motion updates and read [member CMDeviceMotion.user_acceleration] instead.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMAltimeter" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Reports relative and (iOS 15+) absolute altitude from the device barometer.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMAltimeter[/code]. Use [method start_relative_altitude_updates] for change-from-start readings and [method start_absolute_altitude_updates] for sea-level-referenced readings (iOS 15+).
[b]Requires the [code]NSMotionUsageDescription[/code] Info.plist key.[/b]
[b]Platform availability:[/b] Real implementation on [b]iOS[/b]. On other platforms [code]is_*_available[/code] returns [code]false[/code] and calls to start updates emit [signal altimeter_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmaltimeter]CMAltimeter reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="authorization_status" qualifiers="static">
<return type="int" />
<description>
Returns Apple's [code skip-lint]CMAuthorizationStatus[/code] integer for altimeter access (0 = notDetermined, 1 = restricted, 2 = denied, 3 = authorized).
</description>
</method>
<method name="is_absolute_altitude_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can report absolute (sea-level) altitude. Requires iOS 15 or later.
</description>
</method>
<method name="is_relative_altitude_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device has a barometer capable of reporting relative altitude.
</description>
</method>
<method name="start_absolute_altitude_updates">
<return type="void" />
<description>
Begins absolute altitude updates delivered via [signal absolute_altitude_updated]. iOS 15+; emits [signal altimeter_failed] on earlier iOS versions or other platforms.
</description>
</method>
<method name="start_relative_altitude_updates">
<return type="void" />
<description>
Begins relative altitude updates delivered via [signal relative_altitude_updated].
</description>
</method>
<method name="stop_absolute_altitude_updates">
<return type="void" />
<description>
Stops absolute altitude updates.
</description>
</method>
<method name="stop_relative_altitude_updates">
<return type="void" />
<description>
Stops relative altitude updates.
</description>
</method>
</methods>
<signals>
<signal name="absolute_altitude_updated">
<param index="0" name="altitude" type="CMAbsoluteAltitudeData" />
<description>
Emitted on the main thread when a new absolute altitude sample is available.
</description>
</signal>
<signal name="altimeter_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when CoreMotion reports an error or when the API is unavailable on the current platform.
</description>
</signal>
<signal name="relative_altitude_updated">
<param index="0" name="altitude" type="CMAltitudeData" />
<description>
Emitted on the main thread when a new relative altitude sample is available.
</description>
</signal>
</signals>
</class>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMAltitudeData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A relative altitude / barometric pressure sample from [CMAltimeter].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMAltitudeData[/code]. The altitude is reported relative to the point at which updates were started, not absolute sea level — for absolute readings, use [method CMAltimeter.start_absolute_altitude_updates] and [CMAbsoluteAltitudeData].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmaltitudedata]CMAltitudeData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="pressure" type="float" setter="set_pressure" getter="get_pressure">
Barometric pressure in kilopascals (kPa).
</member>
<member name="relative_altitude" type="float" setter="set_relative_altitude" getter="get_relative_altitude">
Change in altitude in meters, relative to the point at which updates were started.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMDeviceMotion" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Fused sensor data combining accelerometer, gyroscope and magnetometer into attitude, gravity, user acceleration and bias-corrected rotation rate.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMDeviceMotion[/code]. Use this instead of raw accelerometer/gyro data when you need device attitude, gravity-separated user acceleration, or bias-corrected rotation. Emitted by both [CMMotionManager] (handheld device) and [CMHeadphoneMotionManager] (AirPods).
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmdevicemotion]CMDeviceMotion reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="attitude_quaternion" type="Quaternion" setter="set_attitude_quaternion" getter="get_attitude_quaternion">
Device attitude as a quaternion, relative to the reference frame chosen when starting updates.
</member>
<member name="attitude_roll_pitch_yaw" type="Vector3" setter="set_attitude_roll_pitch_yaw" getter="get_attitude_roll_pitch_yaw">
Device attitude as Euler angles in radians: [code]x[/code] is roll, [code]y[/code] is pitch, [code]z[/code] is yaw.
</member>
<member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity">
The gravity component of the acceleration, in G-forces, in device coordinates.
</member>
<member name="heading" type="float" setter="set_heading" getter="get_heading">
Heading in degrees, where 0° is the reference attitude. Returns [code]-1[/code] on platforms where heading is not available (e.g. macOS headphone motion, iOS &lt; 11).
</member>
<member name="magnetic_field" type="Vector3" setter="set_magnetic_field" getter="get_magnetic_field">
Bias-corrected magnetic field in microteslas. Check [member magnetic_field_accuracy] to interpret reliability.
</member>
<member name="magnetic_field_accuracy" type="int" setter="set_magnetic_field_accuracy" getter="get_magnetic_field_accuracy" enum="MagneticFieldCalibrationAccuracy">
Calibration accuracy of [member magnetic_field].
</member>
<member name="rotation_rate" type="Vector3" setter="set_rotation_rate" getter="get_rotation_rate">
Bias-corrected rotation rate around each axis in radians per second.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
<member name="user_acceleration" type="Vector3" setter="set_user_acceleration" getter="get_user_acceleration">
Acceleration imparted by the user, in G-forces, with gravity removed.
</member>
</members>
<constants>
<constant name="UNCALIBRATED" value="-1" enum="MagneticFieldCalibrationAccuracy">
The magnetometer has not been calibrated; [member magnetic_field] is not reliable.
</constant>
<constant name="LOW" value="0" enum="MagneticFieldCalibrationAccuracy">
Low calibration accuracy.
</constant>
<constant name="MEDIUM" value="1" enum="MagneticFieldCalibrationAccuracy">
Medium calibration accuracy.
</constant>
<constant name="HIGH" value="2" enum="MagneticFieldCalibrationAccuracy">
High calibration accuracy.
</constant>
</constants>
</class>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMGyroData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A single gyroscope sample produced by [CMMotionManager].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMGyroData[/code]. Provides the raw rotation rate around each device axis. See Apple's [url=https://developer.apple.com/documentation/coremotion/cmgyrodata]CMGyroData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="rotation_rate" type="Vector3" setter="set_rotation_rate" getter="get_rotation_rate">
Rotation rate around each axis in radians per second. Includes bias from gyroscope drift. For a bias-corrected value, use device-motion updates and read [member CMDeviceMotion.rotation_rate] instead.
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMHeadphoneMotionManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Streams fused head motion data from AirPods Pro / AirPods Max / AirPods 3rd gen and later.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMHeadphoneMotionManager[/code]. Provides [CMDeviceMotion] samples representing head pose when compatible headphones are connected. Useful for head-tracked audio, spatial UI, or letting the user look around with their head while their hands are free.
[b]Requires the [code]NSMotionUsageDescription[/code] Info.plist key (and on macOS, the matching entitlement).[/b]
[b]Platform availability:[/b] Real implementation on [b]iOS 14+[/b] and [b]macOS 14+[/b]. On other platforms [member is_device_motion_available] is [code]false[/code] and [method start_device_motion_updates] emits [signal update_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmheadphonemotionmanager]CMHeadphoneMotionManager reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="authorization_status" qualifiers="static">
<return type="int" />
<description>
Returns Apple's [code skip-lint]CMAuthorizationStatus[/code] integer (0 = notDetermined, 1 = restricted, 2 = denied, 3 = authorized). Available on iOS 17.4 / macOS 14.4 and later; returns 0 on earlier versions.
</description>
</method>
<method name="start_device_motion_updates">
<return type="void" />
<description>
Begins delivering [CMDeviceMotion] samples for the connected headphones via [signal device_motion_updated]. If no compatible headphones are connected, samples will begin to arrive once a pair connects.
</description>
</method>
<method name="stop_device_motion_updates">
<return type="void" />
<description>
Stops headphone motion updates.
</description>
</method>
</methods>
<members>
<member name="device_motion" type="CMDeviceMotion" setter="" getter="get_device_motion">
The most recent headphone motion sample, or [code]null[/code] if none is available.
</member>
<member name="is_device_motion_active" type="bool" setter="" getter="get_is_device_motion_active">
[code]true[/code] when updates are currently being delivered.
</member>
<member name="is_device_motion_available" type="bool" setter="" getter="get_is_device_motion_available">
[code]true[/code] when compatible headphones are currently connected and providing motion data.
</member>
</members>
<signals>
<signal name="connected">
<description>
Emitted when compatible headphones connect and begin providing motion data.
</description>
</signal>
<signal name="device_motion_updated">
<param index="0" name="deviceMotion" type="CMDeviceMotion" />
<description>
Emitted on the main thread when a new headphone motion sample is available.
</description>
</signal>
<signal name="disconnected">
<description>
Emitted when the previously connected headphones disconnect.
</description>
</signal>
<signal name="update_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when CoreMotion reports an error or when the API is unavailable on the current platform.
</description>
</signal>
</signals>
</class>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMMagnetometerData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A single magnetometer sample produced by [CMMotionManager].
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMMagnetometerData[/code]. Provides the raw magnetic field reading in microteslas along each device axis. Includes bias from device magnetic interference. For a bias-corrected value, use device-motion updates and read [member CMDeviceMotion.magnetic_field] instead. See Apple's [url=https://developer.apple.com/documentation/coremotion/cmmagnetometerdata]CMMagnetometerData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="magnetic_field" type="Vector3" setter="set_magnetic_field" getter="get_magnetic_field">
Magnetic field strength along each axis in microteslas (µT).
</member>
<member name="timestamp" type="float" setter="set_timestamp" getter="get_timestamp">
The time at which the sample was taken, in seconds since device boot.
</member>
</members>
</class>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMMotionActivity" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
A user-activity classification (walking, running, automotive, etc.) from the system motion coprocessor.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMMotionActivity[/code]. More than one activity flag may be set simultaneously (e.g. [member walking] and [member automotive] when the user is moving inside a vehicle). The system uses [member confidence] to indicate how certain the classification is.
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmmotionactivity]CMMotionActivity reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="automotive" type="bool" setter="set_automotive" getter="get_automotive">
[code]true[/code] when the user appears to be in a vehicle.
</member>
<member name="confidence" type="int" setter="set_confidence" getter="get_confidence" enum="Confidence">
How confident the system is in this classification.
</member>
<member name="cycling" type="bool" setter="set_cycling" getter="get_cycling">
[code]true[/code] when the user appears to be cycling.
</member>
<member name="running" type="bool" setter="set_running" getter="get_running">
[code]true[/code] when the user appears to be running.
</member>
<member name="start_date" type="float" setter="set_start_date" getter="get_start_date">
Unix-time start of the period for which this activity applies, in seconds.
</member>
<member name="stationary" type="bool" setter="set_stationary" getter="get_stationary">
[code]true[/code] when the user appears to be stationary.
</member>
<member name="unknown" type="bool" setter="set_unknown" getter="get_unknown">
[code]true[/code] when the system cannot classify the user's activity.
</member>
<member name="walking" type="bool" setter="set_walking" getter="get_walking">
[code]true[/code] when the user appears to be walking.
</member>
</members>
<constants>
<constant name="LOW" value="0" enum="Confidence">
Low confidence in the classification.
</constant>
<constant name="MEDIUM" value="1" enum="Confidence">
Medium confidence in the classification.
</constant>
<constant name="HIGH" value="2" enum="Confidence">
High confidence in the classification.
</constant>
</constants>
</class>

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMMotionActivityManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Classifies the user's current activity (walking, running, automotive, cycling, stationary).
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMMotionActivityManager[/code]. The system continuously classifies user activity in the background while motion permission is granted, so [method query_activity] can return historical data even from before your app launched.
[b]Requires the [code]NSMotionUsageDescription[/code] Info.plist key.[/b]
[b]Platform availability:[/b] Real implementation on [b]iOS[/b]. On other platforms [method is_activity_available] returns [code]false[/code] and calls report unavailability via the callback or [signal activity_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmmotionactivitymanager]CMMotionActivityManager reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="authorization_status" qualifiers="static">
<return type="int" />
<description>
Returns Apple's [code skip-lint]CMAuthorizationStatus[/code] integer (0 = notDetermined, 1 = restricted, 2 = denied, 3 = authorized).
</description>
</method>
<method name="is_activity_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device has a motion coprocessor capable of activity classification.
</description>
</method>
<method name="query_activity">
<return type="void" />
<param index="0" name="fromUnixTime" type="float" />
<param index="1" name="toUnixTime" type="float" />
<param index="2" name="callback" type="Callable" />
<description>
Returns historical activities recorded between two Unix-time stamps. [param callback] is invoked on the main thread with [code]callback(activities: Array, error: String)[/code]; [param activities] is an array of [CMMotionActivity].
</description>
</method>
<method name="start_activity_updates">
<return type="void" />
<description>
Begins live activity updates delivered via [signal activity_updated]. The signal fires whenever the classified activity changes.
</description>
</method>
<method name="stop_activity_updates">
<return type="void" />
<description>
Stops live activity updates.
</description>
</method>
</methods>
<signals>
<signal name="activity_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when the API is unavailable on the current platform.
</description>
</signal>
<signal name="activity_updated">
<param index="0" name="activity" type="CMMotionActivity" />
<description>
Emitted on the main thread when the user's classified activity changes.
</description>
</signal>
</signals>
</class>

View file

@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMMotionManager" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Streams accelerometer, gyroscope, magnetometer, and fused device-motion data from the device.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMMotionManager[/code]. Configure an update interval, call one of the [code]start_*_updates[/code] methods, and connect to the matching signal to receive samples.
Prefer [signal device_motion_updated] over raw [signal accelerometer_updated] / [signal gyro_updated] / [signal magnetometer_updated] when you need gravity-separated user acceleration, bias-corrected rotation, or device attitude.
[b]Platform availability:[/b] Real implementation on [b]iOS[/b]. On other platforms the manager exists but [code]is_*_available[/code] returns [code]false[/code] and calling [code]start_*_updates[/code] emits [signal update_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmmotionmanager]CMMotionManager reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="start_accelerometer_updates">
<return type="void" />
<description>
Begins delivering accelerometer samples via [signal accelerometer_updated]. Sampling cadence is controlled by [member accelerometer_update_interval].
</description>
</method>
<method name="start_device_motion_updates">
<return type="void" />
<param index="0" name="referenceFrame" type="int" enum="AttitudeReferenceFrame" />
<description>
Begins delivering fused [CMDeviceMotion] samples via [signal device_motion_updated]. [param referenceFrame] selects how attitude is referenced. Pass [constant XMAGNETIC_NORTH_Z_VERTICAL] or [constant XTRUE_NORTH_Z_VERTICAL] to align yaw with magnetic or true north (requires the magnetometer).
</description>
</method>
<method name="start_gyro_updates">
<return type="void" />
<description>
Begins delivering gyroscope samples via [signal gyro_updated]. Sampling cadence is controlled by [member gyro_update_interval].
</description>
</method>
<method name="start_magnetometer_updates">
<return type="void" />
<description>
Begins delivering magnetometer samples via [signal magnetometer_updated]. Sampling cadence is controlled by [member magnetometer_update_interval].
</description>
</method>
<method name="stop_accelerometer_updates">
<return type="void" />
<description>
Stops accelerometer updates.
</description>
</method>
<method name="stop_device_motion_updates">
<return type="void" />
<description>
Stops device-motion updates.
</description>
</method>
<method name="stop_gyro_updates">
<return type="void" />
<description>
Stops gyroscope updates.
</description>
</method>
<method name="stop_magnetometer_updates">
<return type="void" />
<description>
Stops magnetometer updates.
</description>
</method>
</methods>
<members>
<member name="accelerometer_data" type="CMAccelerometerData" setter="" getter="get_accelerometer_data">
The most recent accelerometer sample, or [code]null[/code] if none is available.
</member>
<member name="accelerometer_update_interval" type="float" setter="set_accelerometer_update_interval" getter="get_accelerometer_update_interval">
Desired interval between accelerometer samples in seconds.
</member>
<member name="device_motion" type="CMDeviceMotion" setter="" getter="get_device_motion">
The most recent device-motion sample, or [code]null[/code] if none is available.
</member>
<member name="device_motion_update_interval" type="float" setter="set_device_motion_update_interval" getter="get_device_motion_update_interval">
Desired interval between device-motion samples in seconds.
</member>
<member name="gyro_data" type="CMGyroData" setter="" getter="get_gyro_data">
The most recent gyroscope sample, or [code]null[/code] if none is available.
</member>
<member name="gyro_update_interval" type="float" setter="set_gyro_update_interval" getter="get_gyro_update_interval">
Desired interval between gyroscope samples in seconds.
</member>
<member name="is_accelerometer_active" type="bool" setter="" getter="get_is_accelerometer_active">
[code]true[/code] when accelerometer updates are currently being delivered.
</member>
<member name="is_accelerometer_available" type="bool" setter="" getter="get_is_accelerometer_available">
[code]true[/code] when the device has an accelerometer available to this binding.
</member>
<member name="is_device_motion_active" type="bool" setter="" getter="get_is_device_motion_active">
[code]true[/code] when device-motion updates are currently being delivered.
</member>
<member name="is_device_motion_available" type="bool" setter="" getter="get_is_device_motion_available">
[code]true[/code] when fused device-motion is available on this device.
</member>
<member name="is_gyro_active" type="bool" setter="" getter="get_is_gyro_active">
[code]true[/code] when gyroscope updates are currently being delivered.
</member>
<member name="is_gyro_available" type="bool" setter="" getter="get_is_gyro_available">
[code]true[/code] when the device has a gyroscope available to this binding.
</member>
<member name="is_magnetometer_active" type="bool" setter="" getter="get_is_magnetometer_active">
[code]true[/code] when magnetometer updates are currently being delivered.
</member>
<member name="is_magnetometer_available" type="bool" setter="" getter="get_is_magnetometer_available">
[code]true[/code] when the device has a magnetometer available to this binding.
</member>
<member name="magnetometer_data" type="CMMagnetometerData" setter="" getter="get_magnetometer_data">
The most recent magnetometer sample, or [code]null[/code] if none is available.
</member>
<member name="magnetometer_update_interval" type="float" setter="set_magnetometer_update_interval" getter="get_magnetometer_update_interval">
Desired interval between magnetometer samples in seconds.
</member>
</members>
<signals>
<signal name="accelerometer_updated">
<param index="0" name="accelerometer" type="CMAccelerometerData" />
<description>
Emitted on the main thread when a new accelerometer sample is available.
</description>
</signal>
<signal name="device_motion_updated">
<param index="0" name="deviceMotion" type="CMDeviceMotion" />
<description>
Emitted on the main thread when a new fused device-motion sample is available.
</description>
</signal>
<signal name="gyro_updated">
<param index="0" name="gyro" type="CMGyroData" />
<description>
Emitted on the main thread when a new gyroscope sample is available.
</description>
</signal>
<signal name="magnetometer_updated">
<param index="0" name="magnetometer" type="CMMagnetometerData" />
<description>
Emitted on the main thread when a new magnetometer sample is available.
</description>
</signal>
<signal name="update_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when CoreMotion reports an error or when the API is unavailable on the current platform.
</description>
</signal>
</signals>
<constants>
<constant name="XARBITRARY_Z_VERTICAL" value="1" enum="AttitudeReferenceFrame">
Z axis vertical, X axis aligned with an arbitrary direction in the horizontal plane.
</constant>
<constant name="XARBITRARY_CORRECTED_Z_VERTICAL" value="2" enum="AttitudeReferenceFrame">
Same as [constant XARBITRARY_Z_VERTICAL] but corrected for magnetometer drift.
</constant>
<constant name="XMAGNETIC_NORTH_Z_VERTICAL" value="4" enum="AttitudeReferenceFrame">
Z axis vertical, X axis pointing toward magnetic north. Requires the magnetometer.
</constant>
<constant name="XTRUE_NORTH_Z_VERTICAL" value="8" enum="AttitudeReferenceFrame">
Z axis vertical, X axis pointing toward true north. Requires the magnetometer and Location Services.
</constant>
</constants>
</class>

View file

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMPedometer" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Step, distance, and floor counts from the system pedometer.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMPedometer[/code]. Supports both historical queries (already-recorded data from the system) and live updates.
[b]Requires the [code]NSMotionUsageDescription[/code] Info.plist key.[/b] On iOS the system records pedometer data continuously while motion permission is granted, so [method query_pedometer_data] can return data even from before your app launched.
[b]Platform availability:[/b] Real implementation on [b]iOS[/b]. On other platforms the [code]is_*_available[/code] static methods return [code]false[/code] and calls report unavailability through their callback or [signal pedometer_failed].
See Apple's [url=https://developer.apple.com/documentation/coremotion/cmpedometer]CMPedometer reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<methods>
<method name="authorization_status" qualifiers="static">
<return type="int" />
<description>
Returns the current authorization status using Apple's [code skip-lint]CMAuthorizationStatus[/code] integer (0 = notDetermined, 1 = restricted, 2 = denied, 3 = authorized).
</description>
</method>
<method name="is_cadence_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can report cadence.
</description>
</method>
<method name="is_distance_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can estimate walked/run distance.
</description>
</method>
<method name="is_floor_counting_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can count floors ascended/descended.
</description>
</method>
<method name="is_pace_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can report pace.
</description>
</method>
<method name="is_step_counting_available" qualifiers="static">
<return type="bool" />
<description>
Returns [code]true[/code] when the device can count steps. Step counting is the minimum requirement for any pedometer functionality.
</description>
</method>
<method name="query_pedometer_data">
<return type="void" />
<param index="0" name="fromUnixTime" type="float" />
<param index="1" name="toUnixTime" type="float" />
<param index="2" name="callback" type="Callable" />
<description>
Queries pedometer data recorded between two Unix-time stamps. [param callback] is invoked on the main thread with [code]callback(data: CMPedometerData, error: String)[/code]; [param data] is [code]null[/code] when [param error] is set.
</description>
</method>
<method name="start_updates">
<return type="void" />
<param index="0" name="fromUnixTime" type="float" />
<description>
Begins live pedometer updates accumulating from [param fromUnixTime] (Unix seconds). Subsequent samples arrive via [signal pedometer_updated]. Use [code]Time.get_unix_time_from_system()[/code] for "now".
</description>
</method>
<method name="stop_updates">
<return type="void" />
<description>
Stops live pedometer updates.
</description>
</method>
</methods>
<signals>
<signal name="pedometer_failed">
<param index="0" name="message" type="String" />
<description>
Emitted when CoreMotion reports an error on a live updates stream, or when the API is unavailable on the current platform.
</description>
</signal>
<signal name="pedometer_updated">
<param index="0" name="data" type="CMPedometerData" />
<description>
Emitted on the main thread with the latest cumulative pedometer reading since [method start_updates] was called.
</description>
</signal>
</signals>
</class>

View file

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CMPedometerData" inherits="RefCounted" api_type="extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/godotengine/godot/master/doc/class.xsd">
<brief_description>
Aggregated pedometer data covering a time window.
</brief_description>
<description>
Wraps Apple's [code skip-lint]CMPedometerData[/code]. Optional Apple values (distance, floor counts, pace, cadence) report [code]-1[/code] when the underlying capability is unavailable on the device. See Apple's [url=https://developer.apple.com/documentation/coremotion/cmpedometerdata]CMPedometerData reference[/url].
</description>
<tutorials>
<link title="CoreMotion Integration Guide">$DOCS_URL/coremotion_coremotionguide.html</link>
</tutorials>
<members>
<member name="average_active_pace" type="float" setter="set_average_active_pace" getter="get_average_active_pace">
Average pace across the window in seconds per meter, or [code]-1[/code] when unavailable.
</member>
<member name="current_cadence" type="float" setter="set_current_cadence" getter="get_current_cadence">
Instantaneous cadence in steps per second, or [code]-1[/code] when unavailable.
</member>
<member name="current_pace" type="float" setter="set_current_pace" getter="get_current_pace">
Instantaneous pace in seconds per meter, or [code]-1[/code] when unavailable.
</member>
<member name="distance" type="float" setter="set_distance" getter="get_distance">
Distance walked or run in meters, or [code]-1[/code] when distance estimation is unavailable.
</member>
<member name="end_date" type="float" setter="set_end_date" getter="get_end_date">
Unix-time end of the reporting window in seconds.
</member>
<member name="floors_ascended" type="int" setter="set_floors_ascended" getter="get_floors_ascended">
Approximate number of floors ascended, or [code]-1[/code] when floor counting is unavailable.
</member>
<member name="floors_descended" type="int" setter="set_floors_descended" getter="get_floors_descended">
Approximate number of floors descended, or [code]-1[/code] when floor counting is unavailable.
</member>
<member name="number_of_steps" type="int" setter="set_number_of_steps" getter="get_number_of_steps">
Step count across the reporting window.
</member>
<member name="start_date" type="float" setter="set_start_date" getter="get_start_date">
Unix-time start of the reporting window in seconds.
</member>
</members>
</class>

View file

@ -0,0 +1,271 @@
<?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>files</key>
<dict>
<key>Resources/Info.plist</key>
<data>
V2gXiXYEKthoF+/jfExDDWF93LQ=
</data>
<key>Resources/doc_classes/CMAbsoluteAltitudeData.xml</key>
<data>
ruTKO3c2PbLquPxEPjNbxh5Lr0g=
</data>
<key>Resources/doc_classes/CMAccelerometerData.xml</key>
<data>
MGhilTq5A7cDDIGlgTeepQ5YnEU=
</data>
<key>Resources/doc_classes/CMAltimeter.xml</key>
<data>
Bh8pRJUZzdX38IUZXYxk5xLAOcY=
</data>
<key>Resources/doc_classes/CMAltitudeData.xml</key>
<data>
XncwCLUZGKxizsT4d36ImyTAfhc=
</data>
<key>Resources/doc_classes/CMDeviceMotion.xml</key>
<data>
7cMBuEKO+J33emlQzGAmUVY+37Y=
</data>
<key>Resources/doc_classes/CMGyroData.xml</key>
<data>
BUfMW1Q1pI+HZDTgn7S/kC4RZVY=
</data>
<key>Resources/doc_classes/CMHeadphoneMotionManager.xml</key>
<data>
FnOPBnmglv3tUY2/KINv4MwAnUk=
</data>
<key>Resources/doc_classes/CMMagnetometerData.xml</key>
<data>
yhze/CizXvHiuOZrD0iiFhB4mTU=
</data>
<key>Resources/doc_classes/CMMotionActivity.xml</key>
<data>
2BYkcgbtrEhnKtg4wo2BMIH3pxA=
</data>
<key>Resources/doc_classes/CMMotionActivityManager.xml</key>
<data>
i12o0lpE95M+o3cs+BhlMG6+PWA=
</data>
<key>Resources/doc_classes/CMMotionManager.xml</key>
<data>
y/QuZavNCtAQp/aFqQpPBsLrwpI=
</data>
<key>Resources/doc_classes/CMPedometer.xml</key>
<data>
jXC71Xh81YCrJcTyIk1ZfQ0zrzg=
</data>
<key>Resources/doc_classes/CMPedometerData.xml</key>
<data>
ragAg6xgX258zW943jka4RCMk7A=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/Info.plist</key>
<dict>
<key>hash2</key>
<data>
RA4KNEUT3BeYQxqO+ChSDfr68XFnxKBqktMIMvNJOKg=
</data>
</dict>
<key>Resources/doc_classes/CMAbsoluteAltitudeData.xml</key>
<dict>
<key>hash2</key>
<data>
RJbSliCU4rrzZ+Ds73KNMiV2V2hC3kF1vml1r3gVNrg=
</data>
</dict>
<key>Resources/doc_classes/CMAccelerometerData.xml</key>
<dict>
<key>hash2</key>
<data>
0ZTg5tlk5CebGDj0zvJBOHrNq7MFG5YM+TXXkMpOvXg=
</data>
</dict>
<key>Resources/doc_classes/CMAltimeter.xml</key>
<dict>
<key>hash2</key>
<data>
wjkXKlnfQlR3FpN4zMszvfAKegJddYZaXaJPcf+5jKo=
</data>
</dict>
<key>Resources/doc_classes/CMAltitudeData.xml</key>
<dict>
<key>hash2</key>
<data>
MrQBfd0SlC/fnCNRxWozDU2l1kuh6u4krHpUeyNpEDw=
</data>
</dict>
<key>Resources/doc_classes/CMDeviceMotion.xml</key>
<dict>
<key>hash2</key>
<data>
OGWPjyAOnFUgAUTrNZYuvDDj/QyxAzjJxvzzc9w72GI=
</data>
</dict>
<key>Resources/doc_classes/CMGyroData.xml</key>
<dict>
<key>hash2</key>
<data>
CauWse7MqNhA3wY+9eK7esh6Hj6s43RlEK4zO46KNkk=
</data>
</dict>
<key>Resources/doc_classes/CMHeadphoneMotionManager.xml</key>
<dict>
<key>hash2</key>
<data>
8255jnS84Sld2w3fVL5fTl4EOn4zIbMfQE5ArxPScpA=
</data>
</dict>
<key>Resources/doc_classes/CMMagnetometerData.xml</key>
<dict>
<key>hash2</key>
<data>
f1C6fe6RKz0BiJEeVQ6WQmwuLXyOpQple5yzW1VF59U=
</data>
</dict>
<key>Resources/doc_classes/CMMotionActivity.xml</key>
<dict>
<key>hash2</key>
<data>
mJtQxqJ5A/FzMfPR6briuOcUhX+TYmQt1tOdzncVFKM=
</data>
</dict>
<key>Resources/doc_classes/CMMotionActivityManager.xml</key>
<dict>
<key>hash2</key>
<data>
ptSLkSJQIHBOZfAzvavj63f4//29X9S9wqISFndxkcA=
</data>
</dict>
<key>Resources/doc_classes/CMMotionManager.xml</key>
<dict>
<key>hash2</key>
<data>
k3zhKAXBA0YNQnBIZnf6I1/ZKQWkCSqCan+n4wHqvgI=
</data>
</dict>
<key>Resources/doc_classes/CMPedometer.xml</key>
<dict>
<key>hash2</key>
<data>
wQfIsk9BMd0ZPyaPfjD2gKMPERVqxuZWa1jjKbCsqJA=
</data>
</dict>
<key>Resources/doc_classes/CMPedometerData.xml</key>
<dict>
<key>hash2</key>
<data>
pGA4w+NWkL1kO3DCw31Q8wFg+x5b2yL9hgKAWPOfEN8=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

View file

@ -0,0 +1,5 @@
XSym
0001
7fc56270e7a70fa81a5935b72eacbe29
A

View file

@ -0,0 +1,18 @@
[configuration]
entry_symbol = "godot_apple_plugins_core_motion_start"
compatibility_minimum = 4.2
[libraries]
ios = "res://addons/GodotApplePluginsCoreMotion/bin/GodotApplePluginsCoreMotion.xcframework"
linux.arm64 = "res://addons/GodotApplePluginsCoreMotion/bin/godot_apple_plugins_core_motion_stub.linux.arm64.so"
linux.x86_64 = "res://addons/GodotApplePluginsCoreMotion/bin/godot_apple_plugins_core_motion_stub.linux.x86_64.so"
macos.arm64 = "res://addons/GodotApplePluginsCoreMotion/bin/GodotApplePluginsCoreMotion.framework"
macos.x86_64 = "res://addons/GodotApplePluginsCoreMotion/bin/GodotApplePluginsCoreMotion_x64.framework"
windows.arm64 = "res://addons/GodotApplePluginsCoreMotion/bin/godot_apple_plugins_core_motion_stub.windows.arm64.dll"
windows.x86_64 = "res://addons/GodotApplePluginsCoreMotion/bin/godot_apple_plugins_core_motion_stub.windows.x86_64.dll"
[dependencies]
ios = { "res://addons/GodotApplePluginsRuntime/bin/SwiftGodotRuntime.xcframework": "" }
macos.arm64 = { "res://addons/GodotApplePluginsRuntime/bin/SwiftGodotRuntime.framework": "" }
macos.x86_64 = { "res://addons/GodotApplePluginsRuntime/bin/SwiftGodotRuntime_x64.framework": "" }

View file

@ -0,0 +1 @@
uid://dhf6qp0offg0b