5

आईओएस 5 के साथ कम्पास कच्चे डेटा पढ़ने की अद्यतन आवृत्ति, CLHeading, नाटकीय रूप से गिरा दी गई। इसने मेरे उन्नत वास्तविकता ऐप को अनुपयोगी प्रदान किया, क्योंकि यह कच्चे कंपास डेटा के नज़दीक-वास्तविक-पढ़ने के समय पर निर्भर करता है।आईओएस 5: सीएलएचडिंग रीडिंग की कम अपडेट दर -> कोरमोशन पर स्विच करना समस्याग्रस्त है

इसलिए अब मैं CoreMotion पर स्विच करने की कोशिश कर रहा हूं।

cmManager = [[CMMotionManager alloc] init];  
[cmManager startMagnetometerUpdates]; 

मैं तो magneticField डेटा किसी भी समय मैं खेल के दौरान चाहते उपयोग कर सकते हैं: कर रहे हैं CMMagneticField में डेटा:

CMMagneticField magneticField = cmManager.magnetometerData.magneticField; 
समस्या मेरे पास है

पीछा कर रहा है यह और अधिक अक्सर अद्यतन मैग्नेटोमीटर डेटा प्रदान करता है एक अलग इकाई में CLHeading एक्स/वाई/जेड डेटा।

मैं CLHeading/CLHeadingComponentValue के समान है इकाइयों को CMMagneticField एक्स/Y/Z डेटा परिवर्तित करने के लिए चाहते हैं कर रहे हैं - आदेश मेरे मौजूदा ए.आर. कोड उपयोग करने के लिए सक्षम होने के लिए में।

यहाँ कुछ रीडिंग:

7.3 /17.64/-39.58   CLHeadingComponentValue X/Y/Z 
-103.12/88.51/-20.05   CMMagneticField 

-10.81/-34.9/-18.6   CLHeadingComponentValue X/Y/Z 
-121.00/ 33.29/3.1   CMMagneticField  

-20.8/-38.0/ -4.0   CLHeadingComponentValue X/Y/Z 
-132.9/ 32.2/14.4   CMMagneticField 

उत्तर

0

इस से संबंधित है कि CLHeadingComponentValue सूचना दस्तावेज में केवल संदर्भ -128 128 को श्रृंखला के लिए सामान्यीकृत है । लेकिन मेरे लिए ऐसा लगता है कि कुछ अन्य प्रकार की अंशांकन लागू होता है।