मैं आईओएस में जीरोस्कोप सेंसर का उपयोग करके एक ऐप लिखना सीख रहा हूं। क्या एक्सेलेरोमीटर के लिए यूआईक्सेलेरेशन/यूआईएक्सेलेरोमीटर/यूआईएसीसीलेरोमीटर डिलीगेट के समान जीरोस्कोप से निपटने के लिए कक्षाएं हैं?आईओएस Gyroscope API
उत्तर
पहले आयात CoreMotion
ढांचे
#import <CoreMotion/CoreMotion.h>
self.motionManager = [[CMMotionManager alloc] init];
//Gyroscope
if([self.motionManager isGyroAvailable])
{
/* Start the gyroscope if it is not active already */
if([self.motionManager isGyroActive] == NO)
{
/* Update us 2 times a second */
[self.motionManager setGyroUpdateInterval:1.0f/2.0f];
/* Add on a handler block object */
/* Receive the gyroscope data on this block */
[self.motionManager startGyroUpdatesToQueue:[NSOperationQueue mainQueue]
withHandler:^(CMGyroData *gyroData, NSError *error)
{
NSString *x = [[NSString alloc] initWithFormat:@"%.02f",gyroData.rotationRate.x];
self.gyro_xaxis.text = x;
NSString *y = [[NSString alloc] initWithFormat:@"%.02f",gyroData.rotationRate.y];
self.gyro_yaxis.text = y;
NSString *z = [[NSString alloc] initWithFormat:@"%.02f",gyroData.rotationRate.z];
self.gyro_zaxis.text = z;
}];
}
}
else
{
NSLog(@"Gyroscope not Available!");
}
कोड कहते हैं, पहले मैं प्रस्ताव प्रबंधक का एक उदाहरण बना सकते हैं। फिर मैं देखता हूं कि डिवाइस Gyroscope का समर्थन करता है या नहीं। अगर कृपा से मर नहीं जाते हैं, तो अन्यथा जीरोस्कोप अपडेट अंतराल & सेट करें और फिर जीरोस्कोप से अपडेट प्राप्त करने के लिए पंजीकरण करें। इन अद्यतनों के साथ आपको मूल्यों के साथ क्या करना है, इसके अपने कस्टम तर्क को परिभाषित करने की आवश्यकता है। यही है कि आप जाने के लिए अच्छे हैं ...
जीरोस्कोप डेटा के लिए, आपको CoreMotion का उपयोग करने की आवश्यकता होगी। relevant section of the Event Handling Guide for iOS पढ़कर शुरू करें। आपको दो कक्षाओं के साथ काम करने की आवश्यकता होगी: CMGyroData जो जीरोस्कोप घटना डेटा को समाहित करता है, और CMMotionManager जिसका उपयोग जीरोस्कोप घटनाओं के लिए पंजीकरण करने के लिए किया जाता है।
अधिक जानकारी इस प्रश्न के चयनित जवाब में पाया जा सकता है: Apple gyroscope sample code
- 1. Gyroscope बनाम एक्सेलेरोमीटर?
- 2. आईओएस निजी API दस्तावेज़
- 3. आईओएस एप्लिकेशन में Google स्थल API
- 4. मैं कैसे जांच सकता हूं कि डिवाइस पर एक Gyroscope मौजूद है या नहीं?
- 5. आईओएस प्रोजेक्ट में एसआईजीपीआईपीई अपवाद BUMP API एकीकृत
- 6. api
- 7. आईओएस
- 8. Magento API V2 - API प्रतिक्रिया
- 9. आईओएस
- 10. Google स्थल API उल्लंघन
- 11. आईओएस
- 12. iText API
- 13. API-key
- 14. Magento - API
- 15. एक API
- 16. Windows API
- 17. .NET API?
- 18. JSON API
- 19. लॉगिन API
- 20. WinInet api
- 21. YouTube API
- 22. YouTube API
- 23. Shopify API
- 24. SalesForce API
- 25. YouTube API
- 26. php, API
- 27. Google+ API
- 28. Office API
- 29. GData API
- 30. Win32 API
[self.motionManager isGyroAvailable] क्या यह जांच जरूरी है? क्या होता है यदि जीरोस्कोप उपलब्ध नहीं है? क्या ऐप दुर्घटनाग्रस्त है? या शून्य मान वापस करें। यदि यह शून्य मान देता है तो वह वस्तु कौन सा शून्य वापस कर देगी ?? – user682765
पुरानी आईफ़ोन के बाद से यह एक चेक है जिसमें जीरोस्कोप नहीं है। यदि आप gyro API का उपयोग शुरू करते हैं तो यह क्रैश हो सकता है जब डिवाइस स्वयं समर्थित नहीं होता है। माफ़ी से सुरक्षित होना बेहतर है ... –
अपडेट के रूप में: 'startGyroUpdatesToQueue' के लिए ऐप्पल का प्रलेखन मुख्य कतार का उपयोग न करने की सिफारिश करता है क्योंकि इससे अंतराल हो सकता है। या तो एक अलग कतार का उपयोग करें या जीरो डेटा प्राप्त करने के लिए बस गति प्रबंधक की '.groData' प्रॉपर्टी का उपयोग करें। यदि आप मोशन फ्रेमवर्क का उपयोग करके गेम बना रहे हैं, तो मैं अंतराल 1/60 (फ्रेम दर से मिलान करने के लिए) अंतराल बनाने की सलाह दूंगा, और यदि दोनों में से कोई भी समस्या है, तो gyro डेटा को प्राप्त करने के लिए अंतराल को चालू करें । – DDPWNAGE