请问你们调用ios相册后能选取图片吗,我这边可以调起相册,但是无法点击任何东西,包括取消等。想问问有什么解决方法吗
经过测试,好像ios18系统就不行,ios系统就可以正常使用,相比于17会多出下面这个问题,请问有谁知道该如何解决?
Modifying properties of a view’s layer off the main thread is not allowed: view <View: 0x7fb019e12770> with associated view controller <ViewController: 0x7fb019e12d50>; backtrace:
(
0 UIKitCore 0x0000000156571b02 -[UIView(UIKitManual) _raiseExceptionForBackgroundThreadLayerPropertyModification] + 199
1 UIKitCore 0x0000000156572188 -[UIView(UIKitManual) actionForLayer:forKey:] + 609
2 QuartzCore 0x00000001179271da -[CALayer actionForKey:] + 151
3 QuartzCore 0x000000011792e425 ZN2CA5Layer12begin_changeEPNS_11TransactionEjP11objc_objectRS4 + 199
4 QuartzCore 0x0000000117932ad8 _ZN2CA5Layer6setterEj12_CAValueTypePKv + 974
5 QuartzCore 0x0000000117900e95 -[CAMetalLayer setPresentsWithTransaction:] + 82
6 NewProject-mobile 0x0000000104e53f2b _ZZN2cc3gfx14CCMTLSwapchain6doInitERKNS0_13SwapchainInfoEENK3$_0clEbb + 59
7 NewProject-mobile 0x0000000104e53cba _ZN2cc3gfx14CCMTLSwapchain6doInitERKNS0_13SwapchainInfoE + 346
8 NewProject-mobile 0x0000000104e04a04 _ZN2cc3gfx9Swapchain10initializeERKNS0_13SwapchainInfoE + 132
9 NewProject-mobile 0x0000000104de633d _ZZN2cc3gfx14SwapchainAgent6doInitERKNS0_13SwapchainInfoEEN13SwapchainInit7executeEv + 29
10 NewProject-mobile 0x0000000104876a06 _ZN2cc12MessageQueue15executeMessagesEv + 54
11 NewProject-mobile 0x0000000104876a63 _ZN2cc12MessageQueue13flushMessagesEv + 51
12 NewProject-mobile 0x0000000104876331 _ZN2cc12MessageQueue18consumerThreadLoopEv + 65
13 NewProject-mobile 0x000000010487e019 ZNSt3__18__invokeB8de180100IMN2cc12MessageQueueEDoFvvEPS2_JEvEEDTcldsdeclsr3stdE7declvalIT0_EEclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT1_EEEEOS7_OS6_DpOS8 + 105
14 NewProject-mobile 0x000000010487df9e _ZNSt3__116__thread_executeB8de180100INS_10unique_ptrINS_15__thread_structENS_14default_deleteIS2_EEEEMN2cc12MessageQueueEDoFvvEJPS7_EJLm2EEEEvRNS_5tupleIJT_T0_DpT1_EEENS_15__tuple_indicesIJXspT2_EEEE + 46
15 NewProject-mobile 0x000000010487dc82 ZNSt3__114__thread_proxyB8de180100INS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEMN2cc12MessageQueueEDoFvvEPS8_EEEEEPvSD + 98
16 libsystem_pthread.dylib 0x000000011ac2b253 _pthread_start + 99
17 libsystem_pthread.dylib 0x000000011ac26bef thread_start + 15
)
Modifying properties of a view’s layer off the main thread is not allowed: view <View: 0x7fb019e12770> with associated view controller <ViewController: 0x7fb019e12d50>; backtrace:
(
0 UIKitCore 0x0000000156571b02 -[UIView(UIKitManual) _raiseExceptionForBackgroundThreadLayerPropertyModification] + 199
1 UIKitCore 0x0000000156572188 -[UIView(UIKitManual) actionForLayer:forKey:] + 609
2 QuartzCore 0x00000001179271da -[CALayer actionForKey:] + 151
3 QuartzCore 0x000000011792e425 ZN2CA5Layer12begin_changeEPNS_11TransactionEjP11objc_objectRS4 + 199
4 QuartzCore 0x0000000117932ad8 _ZN2CA5Layer6setterEj12_CAValueTypePKv + 974
5 QuartzCore 0x0000000117900e95 -[CAMetalLayer setPresentsWithTransaction:] + 82
6 NewProject-mobile 0x0000000104e53f2b _ZZN2cc3gfx14CCMTLSwapchain6doInitERKNS0_13SwapchainInfoEENK3$_0clEbb + 59
7 NewProject-mobile 0x0000000104e53cca _ZN2cc3gfx14CCMTLSwapchain6doInitERKNS0_13SwapchainInfoE + 362
8 NewProject-mobile 0x0000000104e04a04 _ZN2cc3gfx9Swapchain10initializeERKNS0_13SwapchainInfoE + 132
9 NewProject-mobile 0x0000000104de633d _ZZN2cc3gfx14SwapchainAgent6doInitERKNS0_13SwapchainInfoEEN13SwapchainInit7executeEv + 29
10 NewProject-mobile 0x0000000104876a06 _ZN2cc12MessageQueue15executeMessagesEv + 54
11 NewProject-mobile 0x0000000104876a63 _ZN2cc12MessageQueue13flushMessagesEv + 51
12 NewProject-mobile 0x0000000104876331 _ZN2cc12MessageQueue18consumerThreadLoopEv + 65
13 NewProject-mobile 0x000000010487e019 ZNSt3__18__invokeB8de180100IMN2cc12MessageQueueEDoFvvEPS2_JEvEEDTcldsdeclsr3stdE7declvalIT0_EEclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT1_EEEEOS7_OS6_DpOS8 + 105
14 NewProject-mobile 0x000000010487df9e _ZNSt3__116__thread_executeB8de180100INS_10unique_ptrINS_15__thread_structENS_14default_deleteIS2_EEEEMN2cc12MessageQueueEDoFvvEJPS7_EJLm2EEEEvRNS_5tupleIJT_T0_DpT1_EEENS_15__tuple_indicesIJXspT2_EEEE + 46
15 NewProject-mobile 0x000000010487dc82 ZNSt3__114__thread_proxyB8de180100INS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEMN2cc12MessageQueueEDoFvvEPS8_EEEEEPvSD + 98
16 libsystem_pthread.dylib 0x000000011ac2b253 _pthread_start + 99
17 libsystem_pthread.dylib 0x000000011ac26bef thread_start + 15
)
打漏了,是ios17以下就可以
你的问题出现在 CAMetalLayer 被后台线程修改,而 iOS 18 更严格 地限制了这个行为:
-
短期解决方案 :用
dispatch_async(dispatch_get_main_queue())确保 UI 操作在主线程执行。 -
长期解决方案 :
-
检查
CCMTLSwapchain代码 ,避免在后台线程修改 Metal 渲染层。 - 升级 Cocos Creator 版本 ,官方可能已经修复 iOS 18 相关的兼容性问题。
-
检查
AI的回答


