Swift, JINS MEME 애플리케이션 개발
JINS MEME
생활일지학과의 착용 가능한 장비는 안경이다.손목밴드 타입 많죠?
안경이기 때문에 머리로 가속도와 기울기를 측정하는 재미가 있다.
그리고 눈의 전위를 측정하여 눈의 운동과 윙크를 측정할 수 있다(ES모델만 해당).
2015/11/05 발매.발매 때부터 iOS용 SDK를 배포하고 측정 데이터 개발 응용 프로그램을 사용할 수 있다.
안드로이드를 위한 SDK도 새해에 나온다.
개요
그래서 iOS 앱을 바로 만드세요.
환경
그래서 iOS 앱을 바로 만드세요.
환경
단계
프로젝트 작성
가이드에 따르면 이런 느낌이에요.
SDK 배포
위의 페이지에서 SDK 다운로드
개발용과 애플 신청용 두 가지 틀이 있어 개발용으로 사용한다.
framework/universal/MEMELib.framework
를 생성된 프로젝트의 디렉토리로 복사합니다.또한 복사된 위 파일 (엔티티는 디렉토리) 을 Xcode
Embedded Binaries
로 드래그합니다.Bluetooth 사용 권한 설정
용량 > 배경 모드가 열리고 선택되어 있습니다
Use Bluetooth LE accessory
.Bridging Header 파일 제작
프로젝트에서 새 헤더 파일을 만들고 다음import 문장을 기술합니다.
#import <MEMELib/MEMELib.h>
또한 Bridging Header 파일 경로는 구축 설정 > 빠른 컴파일러 - 코드 생성에서 지정됩니다.응용 프로그램 인증 코드 제출
위의 페이지에서 응용 프로그램을 등록합니다.
등록하면 응용 프로그램 일람 페이지에 표시됩니다.
상세, 편집 단추를 누르면 응용 프로그램 인증 코드를 확인할 수 있습니다.
코드 설명
애플리케이션 검증
AppDelegate.swift
에 다음과 같은 내용이 기술되어 있다.AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
MEMELib.setAppClientId("<発行されたアプリID>", clientSecret: "<発行されたアプリSecret>")
return true
}
이후 MEMELib.sharedInstance()
에 대해 각종 처리를 호출하지만 1차sharedInstance()
에 취득하기 전에 이 응용 인증 정보 설정이 필요하다.JINS MEME 연결, 데이터 가져오기
여기에는 오류 처리, 모든 모델의 생명주기 관리 등 모든 것이 생략되어 있다.행동에 전념하다.
ViewController.swift
아래와 같다.ViewController.swift
import UIKit
class ViewController: UIViewController, MEMELibDelegate {
override func viewDidLoad() {
super.viewDidLoad()
MEMELib.sharedInstance().delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func memeAppAuthorized(status: MEMEStatus) {
MEMELib.sharedInstance().startScanningPeripherals()
}
func memePeripheralFound(peripheral: CBPeripheral!, withDeviceAddress address: String!) {
MEMELib.sharedInstance().connectPeripheral(peripheral)
}
func memePeripheralConnected(peripheral: CBPeripheral!) {
let status = MEMELib.sharedInstance().startDataReport()
print(status)
}
func memeRealTimeModeDataReceived(data: MEMERealTimeData!) {
print(data.description)
}
}
MEMELibDelegate
implementMEMELib
실례의 delegate
속성에 자신을 대입하여 각종 사건을 통지sharedInstance()
호출 시 어플리케이션 인증을 실행하고 성공하면 호출memeAppAuthorized
호출
startScanningPeripherals()
, BT에 연결된 JINS MEME 찾기memePeripheralFound
호출
connectPeripheral(peripheral)
, 애플리케이션 시도 - JINS MEME 간 연결memePeripheralConnected
호출
startDataReport()
이면 정기적으로 데이터를 받아야 합니다... startDataReport()
의 반환을 검사하면 실패 코드JinsQiita[5749:2461884] MEME Model Type Check: error = [(null)], errorDescription = [(null)]
startDataReport()
성공하면 데이터가 memeRealTimeModeDataReceived
로 흐를 것이다.그래서
논단을 보니 같은 실수를 한 사람이 있었다.
그러니 좀 지켜보자.
누가 움직이면 알려주세요.
2015-11-09 추기
움직여!
포럼 참조
JINSMEME 데이터 전송 중
데이터 모드를 변경할 수 없습니다.
본사의 Official 응용 프로그램은 표준 모드를 사용한다
이 모드에서 데이터를 보낼 때 이 현상이 발생합니다.
Official 애플리케이션을 시작하지 않은 상태에서
JINSMEME에 연결해서 사용할 수 있습니까?
공식 응용 프로그램은 표준 모드로 실행되지만 독립 응용 프로그램은 실시간 모드이다.
그래서 두 가지 모드는 동시에 이동할 수 없는 것 같다.
공식 앱을 잘 막으면 잘 움직일 텐데, 이 기사의 코드에 문제가 하나 있다.
움직여!
포럼 참조
JINSMEME 데이터 전송 중
데이터 모드를 변경할 수 없습니다.
본사의 Official 응용 프로그램은 표준 모드를 사용한다
이 모드에서 데이터를 보낼 때 이 현상이 발생합니다.
Official 애플리케이션을 시작하지 않은 상태에서
JINSMEME에 연결해서 사용할 수 있습니까?
공식 응용 프로그램은 표준 모드로 실행되지만 독립 응용 프로그램은 실시간 모드이다.
그래서 두 가지 모드는 동시에 이동할 수 없는 것 같다.
공식 앱을 잘 막으면 잘 움직일 텐데, 이 기사의 코드에 문제가 하나 있다.
startScanningPeripherals()
를 실행할 때 반드시 공식 응용 프로그램으로 연결해야 한다.startScanningPeripherals()
부터 startDataReport()
까지 끊임없이 실행되기 때문에 이 기간 동안 공식 응용 프로그램을 정지할 시기가 없다.connectPeripheral()
의 호출은 조건없이 실행되고 갈고리 뽑기 등 사용자 사건의 형식이라면 피할 수 있지만 현재의 코드에 따라 동작하는 절차도 있기 때문에 미리 기록한다.Reference
이 문제에 관하여(Swift, JINS MEME 애플리케이션 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nisshiee/items/9ec409a35f4137e2a32e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)