C# 启动CMMotionActivityManager会产生SIGABRT
我试图在一个运行在iPhone 6s上的原生Xamarin.iOS应用程序中检测运动活动。我是这样启动经理的:C# 启动CMMotionActivityManager会产生SIGABRT,c#,xamarin,xamarin.ios,core-motion,C#,Xamarin,Xamarin.ios,Core Motion,我试图在一个运行在iPhone 6s上的原生Xamarin.iOS应用程序中检测运动活动。我是这样启动经理的: var _manager = new CMMotionActivityManager(); _manager.StartActivityUpdates(new NSOperationQueue(), (activity) => { // do something with activity }); 当我运行应用程序时,它失败,出现以下错误: 2017-07-01 11
var _manager = new CMMotionActivityManager();
_manager.StartActivityUpdates(new NSOperationQueue(), (activity) =>
{
// do something with activity
});
当我运行应用程序时,它失败,出现以下错误:
2017-07-01 11:38:51.722 iosapp[1095:318780]严重:本机
堆栈跟踪:
2017-07-01 11:38:51.813 iosapp[1095:318780]严重:0libmonosgen-2.0.dylib 0x00000001007d5920 单手柄碰撞+260 2017-07-01 11:38:51.813 iosapp[1095:318780]严重:1 libsystem_platform.dylib
0x000000018ca1131c_sigtramp+52 2017-07-01 11:38:51.813 iosapp[1095:318780]严重:2 libsystem_kernel.dylib
0x000000018c9484d0+100 2017-07-01 11:38:51.813 iosapp[1095:318780]严重:3 libsystem_kernel.dylib
0x000000018c9484fc系统设置sfi窗口+0 2017-07-01 11:38:51.813 iosapp[1095:318780]严重:4 TCC
0x000000018fb64498+0 2017-07-01 11:38:51.813 iosapp[1095:318780]严重:5 TCC
0x000000018fb643b8+0 2017-07-01 11:38:51.813 iosapp[1095:318780]严重:6 TCC
0x000000018fb673d4+340 2017-07-01 11:38:51.813 iosapp[1095:318780]临界:7 libxpc.dylib
0x000000018ca46f38+80 2017-07-01 11:38:51.814 iosapp[1095:318780]临界:8 libxpc.dylib
0x000000018ca46ea8+40 2017-07-01 11:38:51.814 iosapp[1095:318780]严重:9 libdispatch.dylib
0x000000018c80a9a0+16 2017-07-01 11:38:51.814 iosapp[1095:318780]严重:10 libdispatch.dylib
0x000000018c8190d4+644 2017-07-01 11:38:51.814 iosapp[1095:318780]严重:11 libdispatch.dylib
0x000000018c81aa50+540 2017-07-01 11:38:51.814 iosapp[1095:318780]严重:12 libdispatch.dylib
0x000000018c81a7d0+124 2017-07-01 11:38:51.814 iosapp[1095:318780]严重:13 libsystem_pthread.dylib
0x000000018ca13100线程+1096 2017-07-01 11:38:51.814 iosapp[1095:318780]严重:14 libsystem_pthread.dylib
0x000000018ca12cac开始线程+4 2017-07-01 11:38:51.814 iosapp[1095:318780]严重: ========================================================================================执行本机代码时收到SIGABRT。这通常表示一个致命的错误 mono运行时或用户使用的本机库之一出错 应用
我实例化管理器的方式是否有问题?可能需要更多的代码,但请尝试使用主NSOperationQueue
public void StartMotionUpdates (Action<ActivityType> handler)
{
motionActivityMgr.StartActivityUpdates (NSOperationQueue.MainQueue, ((activity) => {
handler (ActivityDataManager.ActivityToType (activity));
}));
}
public void startMotionUpdate(操作可能需要更多的代码,但请尝试使用主NSOperationQueue
public void StartMotionUpdates (Action<ActivityType> handler)
{
motionActivityMgr.StartActivityUpdates (NSOperationQueue.MainQueue, ((activity) => {
handler (ActivityDataManager.ActivityToType (activity));
}));
}
public void startMotionUpdate(操作已解决。这是info.plist的权限问题
发件人:
重要信息:在iOS 10.0上或之后链接的iOS应用程序必须包含使用情况
其Info.plist文件中的描述码,用于显示其数据类型
需要。未能包含这些密钥将导致应用程序崩溃。要
特别是访问运动和健身数据,它必须包括
NSMotionUsageDescription
在我将此密钥包含在info.plist中后:
<key>NSMotionUsageDescription</key>
<string>MotionActivity App needs Motion Access</string>
NSMotionUsageDescription
MotionActivity应用程序需要运动访问权限
它就像一个符咒。解决了。这是info.plist的权限问题
发件人:
重要信息:在iOS 10.0上或之后链接的iOS应用程序必须包含使用情况
其Info.plist文件中的描述码,用于显示其数据类型
需要。未能包含这些密钥将导致应用程序崩溃。要
特别是访问运动和健身数据,它必须包括
NSMotionUsageDescription
在我将此密钥包含在info.plist中后:
<key>NSMotionUsageDescription</key>
<string>MotionActivity App needs Motion Access</string>
NSMotionUsageDescription
MotionActivity应用程序需要运动访问权限
它就像一个符咒。算出了。看我的答案。谢谢算出了。看我的答案。谢谢