Post

Replies

Boosts

Views

Activity

Symbol Not Found Error in VNFaceLandmarkRegion2D with MacCatalyst on macOS 14.6.1 (Xcode 16)
We have updated our cross-platform applications to support iOS 18 and are in the final stages of releasing versions built with MacCatalyst. After merging the MacCatalyst changes with those for iOS 18, we are now required to build the app using Xcode 16. However, since transitioning to Xcode 16, the app builds successfully but crashes immediately on startup with the following error: dyld[45279]: Symbol not found: _$sSo22VNFaceLandmarkRegion2DC6VisionE16normalizedPointsSaySo7CGPointVGvg Referenced from: <211097A0-6612-3A9A-80B5-AE12915EBA2A> /Users/***/Library/Developer/Xcode/DerivedData/DM_iOS_Apps-gzpzdsacfldxxwclyngreqkbhtey/Build/Products/Debug-maccatalyst/MyApp.app/Contents/Frameworks/Filters_MyApp.framework/Versions/A/Filters_MyApp Expected in: <50DB755E-C83C-3FC7-A0BB-9C4DF9FEA374> /System/Library/Frameworks/Vision.framework/Versions/A/Vision This crash occurs only when building the app with Xcode 16 for MacCatalyst on macOS 14.6.1. On iOS and macOS 15, it functions as expected, and it also worked prior to the iOS 18 changes, which are independent of the Vision framework code, when building with Xcode 15. Here are the environment details where the error occurs: Xcode Version: Xcode 16.0 (16A242d) macOS Version: macOS Sonoma 14.6.1 And the setup where it works: Xcode Version: Xcode 16.0 (16A242d) macOS Version: macOS Sequoia 15.0 Additionally, attempting to implement a workaround using pointsInImage(imageSize:) resulted in a similar issue, where the symbol for this method is also missing. Is this a known issue? Are there any workarounds or fixes available? We have already submitted this issue as feedback (FB15164375), along with a demo project to illustrate the problem.
2
0
852
Oct ’24
Avplayer still producing frames after pausing
I am working on a SwiftUI app where users can apply effects at any arbitrary point in time to a video. After selecting an effect, it can be applied by starting and stopping the playback at desired times. Besides the player, the UI also contains a scrubber, which shows thumbnails from the video and indicating the current timestamp. The player and the scrubber are synced via a PeriodicTimeObserver, so the scrubber always moves along with the video. Since the player is working asynchronously, I am facing the problem that when the user pauses the playback, the observer is still being called 3 to 4 times afterward, which distorts the result. This is probably caused by some internal async behavior of the player. Currently, I am "solving" this by using my own asynchronous pause implementation, which registers its own observer, and each time this gets called, a timer gets restarted. When this timer finishes, it calls a given callback. It looks something like this (I know this is not actual swift code, I've simplified it a lot) func pause(callback: () -> Void) { let timer = Timer(interval: 3, repeat: false) { callback() } timer.start() self.addPeriodicTimeObserver(forInterval: 1, queue: .main) { _ in timer.restart() } } Does anyone have a better idea to know when the player actually stopped playing?
1
1
1.2k
Feb ’23
File templates list do not contain storekit configuration file
In the XCode 16 beta, it isn't possible to create a new StoreKit configuration file because the templates list doesn't contain that option. Adding the storekit extension to a file crashes XCode or doesn't have an effect at all. But, loading an existing file still works.
Replies
4
Boosts
0
Views
819
Activity
Dec ’25
Symbol Not Found Error in VNFaceLandmarkRegion2D with MacCatalyst on macOS 14.6.1 (Xcode 16)
We have updated our cross-platform applications to support iOS 18 and are in the final stages of releasing versions built with MacCatalyst. After merging the MacCatalyst changes with those for iOS 18, we are now required to build the app using Xcode 16. However, since transitioning to Xcode 16, the app builds successfully but crashes immediately on startup with the following error: dyld[45279]: Symbol not found: _$sSo22VNFaceLandmarkRegion2DC6VisionE16normalizedPointsSaySo7CGPointVGvg Referenced from: <211097A0-6612-3A9A-80B5-AE12915EBA2A> /Users/***/Library/Developer/Xcode/DerivedData/DM_iOS_Apps-gzpzdsacfldxxwclyngreqkbhtey/Build/Products/Debug-maccatalyst/MyApp.app/Contents/Frameworks/Filters_MyApp.framework/Versions/A/Filters_MyApp Expected in: <50DB755E-C83C-3FC7-A0BB-9C4DF9FEA374> /System/Library/Frameworks/Vision.framework/Versions/A/Vision This crash occurs only when building the app with Xcode 16 for MacCatalyst on macOS 14.6.1. On iOS and macOS 15, it functions as expected, and it also worked prior to the iOS 18 changes, which are independent of the Vision framework code, when building with Xcode 15. Here are the environment details where the error occurs: Xcode Version: Xcode 16.0 (16A242d) macOS Version: macOS Sonoma 14.6.1 And the setup where it works: Xcode Version: Xcode 16.0 (16A242d) macOS Version: macOS Sequoia 15.0 Additionally, attempting to implement a workaround using pointsInImage(imageSize:) resulted in a similar issue, where the symbol for this method is also missing. Is this a known issue? Are there any workarounds or fixes available? We have already submitted this issue as feedback (FB15164375), along with a demo project to illustrate the problem.
Replies
2
Boosts
0
Views
852
Activity
Oct ’24
Avplayer still producing frames after pausing
I am working on a SwiftUI app where users can apply effects at any arbitrary point in time to a video. After selecting an effect, it can be applied by starting and stopping the playback at desired times. Besides the player, the UI also contains a scrubber, which shows thumbnails from the video and indicating the current timestamp. The player and the scrubber are synced via a PeriodicTimeObserver, so the scrubber always moves along with the video. Since the player is working asynchronously, I am facing the problem that when the user pauses the playback, the observer is still being called 3 to 4 times afterward, which distorts the result. This is probably caused by some internal async behavior of the player. Currently, I am "solving" this by using my own asynchronous pause implementation, which registers its own observer, and each time this gets called, a timer gets restarted. When this timer finishes, it calls a given callback. It looks something like this (I know this is not actual swift code, I've simplified it a lot) func pause(callback: () -> Void) { let timer = Timer(interval: 3, repeat: false) { callback() } timer.start() self.addPeriodicTimeObserver(forInterval: 1, queue: .main) { _ in timer.restart() } } Does anyone have a better idea to know when the player actually stopped playing?
Replies
1
Boosts
1
Views
1.2k
Activity
Feb ’23