Try setting your world alignment to .gravityAndHeading
let configuration = ARWorldTrackingConfiguration()
configuration.worldAlignment = .gravityAndHeading
Are you saving and loading the original world data?
https://developer.apple.com/documentation/arkit/world_tracking/saving_and_loading_world_data
In general cellular enhanced GPS accuracy is in terms of meters. For centimeter accuracy you need special hardware such as is used for Land Surveying and Bulldozer Auto Grading. ARKit 3 enhances it GPS accuracy by relocating the previous world data. The following WWDC Session may be helpful.
WWDC19 Session 610: Building Collaborative AR Experiences
https://developer.apple.com/videos/play/wwdc2019/610/
Post
Replies
Boosts
Views
Activity
The attached file is a protocol with default implementations of startRecording and stopRecording. I start recording before presenting my AR view controller and stop in the unwind segue.
class MainViewController: UIViewController, ReplayKitScreenRecorder {
		internal let recorder = RPScreenRecorder.shared()
		@IBOutlet private weak var recordVideoOfSession: UISwitch!
		if recordVideoOfSession.isOn {
				startRecording()
		}
		if self.recordVideoOfSession.isOn {
				stopRecording()
		}
ReplayKitScreenRecorder.swift - https://developer.apple.com/forums/content/attachment/e716cafc-bde2-4dfe-88b8-9516c17377a9
From the WWDC Q&A
(Apple)
answered:
Simply do not use a CloudKit container identifier when configuring the SwiftData stack. There is currently a bug with this, so please file a feedback report.
I expect this will be fixed in the next Beta Release of Xcode.
The fix if you want to keep ENABLE_USER_SCRIPT_SANDBOXING enabled is to add the files as inputs and outputs. I use a script to set the build number in the build info plist file.
I just need to set "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" as an output of the script
build setting ENABLE_USER_SCRIPT_SANDBOXING was added in Xcode 14 but enabled in the update to recommend setting in Xcode 15
From the Xcode 14 Release Notes:
You can now enable sandboxing for shell script build phases using the ENABLE_USER_SCRIPT_SANDBOXING build setting. Sandboxing blocks access to files inside the source root of the project as well as the Derived Data directory unless you list those files as inputs or outputs. When enabled, the build fails with a sandbox violation if a script phase attempts to read from or write to an undeclared dependency, preventing incorrect builds.
Thanks to Daniel Jalket's Blog Post: Xcode Build Script Sandboxing -
https://indiestack.com/2023/06/xcode-build-script-sandboxing/