신속한 시계 연결이 예기치 않게 종료 됨

사용자 8403747

watchOS 연결 응용 프로그램을 만들었고 작동합니다. 이제 iPhone과 Watch에서 Connection 전용 수업을 만들려고합니다. iPhone 연결 클래스의 경우 다음과 같습니다 (데이터를 전송하는 다른 방법도 있지만 문제는 여기에 있습니다).

import UIKit
import WatchConnectivity

class iPhoneConnectivity: UIViewController, WCSessionDelegate {

    func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {

    }

    func sessionDidBecomeInactive(_ session: WCSession) {

    }

    func sessionDidDeactivate(_ session: WCSession) {

    }

    var session : WCSession!;

    func getPrepared() {
        if (WCSession.isSupported()) { 
            // check if the watch connectivity is suported on device
            self.session = WCSession.default;
            self.session.delegate = self;
            self.session.activate();
        } else {
            print("Session is not supported")
        }
    }
}

문제는 ViewController에서이 메서드를 호출하려고 할 때

connect.getPrepared();

응용 프로그램이 예기치 않게 종료됩니다.

전역 변수가 있습니다

var connect: iPhoneConnectivity!;

연결 변수를 초기화하지 않았기 때문입니까? 그게 문제라면 어떻게 초기화해야하나요?

작동하는 원래 응용 프로그램에서 ViewController의 메서드 didLoad ()에 getPrepared () 메서드 코드가 있습니다.

양치기 데이비드

문제는 connect암시 적으로 래핑되지 않은 선택 사항이며 실제로 초기화하지 않고 함수를 호출한다는 것입니다. 암시 적으로 언 래핑 된 옵 셔널은 여전히 ​​옵 셔널이므로 값을 제공하지 않으면 기본적으로 nil입니다. 따라서 먼저 nil이 아닌 값을 제공하지 않고 액세스하려고하면 런타임 예외가 발생합니다.

connect전역 변수가 아닌 싱글 톤으로 정의하십시오 .

class iPhoneConnectivity: WCSessionDelegate {

    static let sharedInstance = iPhoneConnectivity()

    func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {}

    func sessionDidBecomeInactive(_ session: WCSession) {}

    func sessionDidDeactivate(_ session: WCSession) {}

    var session : WCSession!;

    func getPrepared() {
        if (WCSession.isSupported()) { 
            // check if the watch connectivity is suported on device
            self.session = WCSession.default;
            self.session.delegate = self;
            self.session.activate();
        } else {
            print("Session is not supported")
        }
    }
}

을 사용하여 액세스하고을 사용 iPhoneConnectivity.sharedInstance하여 전화 getPrepared()수 있습니다 iPhoneConnectivity.sharedInstance.getPrepared().

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ssh가 종료 된 후 ssh 명령이 예기치 않게 다른 시스템에서 계속됨

분류에서Dev

XAMPP- MYSQL이 예기치 않게 종료 됨

분류에서Dev

Ubuntu 11.10이 무작위로 예기치 않게 종료 됨

분류에서Dev

C 프로그램이 예기치 않게 종료 됨

분류에서Dev

ASP.NET 2.0 세션이 예기치 않게 종료 됨

분류에서Dev

작업이 예기치 않게 종료 됨

분류에서Dev

Cordova 앱이 예기치 않게 종료 됨

분류에서Dev

GAE 크론 작업이 예기치 않게 종료 됨

분류에서Dev

Chromedriver가 예기치 않게 종료 됨

분류에서Dev

XQuartz가 예기치 않게 종료 됨

분류에서Dev

내 앱이 예기치 않게 중지되고 강제 종료 됨

분류에서Dev

bash "-e"퍼즐 : 스크립트 파일이 예기치 않게 종료 됨

분류에서Dev

Hadoop Mapreduce Wordcount 예제가 예기치 않게 종료 됨

분류에서Dev

파이썬 게임 : lives_left가 너무 빨리 떨어지고 게임이 예기치 않게 종료 됨

분류에서Dev

노틸러스가 예기치 않게 종료 됨

분류에서Dev

Xcode 오류 보고서 Xcode가 예기치 않게 종료 됨

분류에서Dev

While 루프가 예기치 않게 종료 됨 (C / C ++)

분류에서Dev

Windows 7-64 컴퓨터가 예기치 않게 종료 됨

분류에서Dev

노틸러스가 예기치 않게 종료 됨

분류에서Dev

Software Updater가 예기치 않게 종료 됨

분류에서Dev

Xcode 7.2가 예기치 않게 종료 됨

분류에서Dev

C ++ While 루프가 예기치 않게 종료 됨

분류에서Dev

Android Studio가 예기치 않게 종료 됨

분류에서Dev

탭 조각이 스 와이프하는 동안 Android 애플리케이션이 예기치 않게 종료 됨

분류에서Dev

WebClient UploadValues 연결이 예기치 않게 종료되었습니다.

분류에서Dev

c 프로그램이 잘 컴파일되지만 예기치 않게 종료 됨

분류에서Dev

시스템이 의도하지 않게 종료 됨

분류에서Dev

원격 시스템이 예기치 않게 연결 해제 될 때 원격 시스템에서 SSH 프로세스가 종료되지 않음

분류에서Dev

원격 시스템이 예기치 않게 연결 해제 될 때 원격 시스템에서 SSH 프로세스가 종료되지 않음

Related 관련 기사

  1. 1

    ssh가 종료 된 후 ssh 명령이 예기치 않게 다른 시스템에서 계속됨

  2. 2

    XAMPP- MYSQL이 예기치 않게 종료 됨

  3. 3

    Ubuntu 11.10이 무작위로 예기치 않게 종료 됨

  4. 4

    C 프로그램이 예기치 않게 종료 됨

  5. 5

    ASP.NET 2.0 세션이 예기치 않게 종료 됨

  6. 6

    작업이 예기치 않게 종료 됨

  7. 7

    Cordova 앱이 예기치 않게 종료 됨

  8. 8

    GAE 크론 작업이 예기치 않게 종료 됨

  9. 9

    Chromedriver가 예기치 않게 종료 됨

  10. 10

    XQuartz가 예기치 않게 종료 됨

  11. 11

    내 앱이 예기치 않게 중지되고 강제 종료 됨

  12. 12

    bash "-e"퍼즐 : 스크립트 파일이 예기치 않게 종료 됨

  13. 13

    Hadoop Mapreduce Wordcount 예제가 예기치 않게 종료 됨

  14. 14

    파이썬 게임 : lives_left가 너무 빨리 떨어지고 게임이 예기치 않게 종료 됨

  15. 15

    노틸러스가 예기치 않게 종료 됨

  16. 16

    Xcode 오류 보고서 Xcode가 예기치 않게 종료 됨

  17. 17

    While 루프가 예기치 않게 종료 됨 (C / C ++)

  18. 18

    Windows 7-64 컴퓨터가 예기치 않게 종료 됨

  19. 19

    노틸러스가 예기치 않게 종료 됨

  20. 20

    Software Updater가 예기치 않게 종료 됨

  21. 21

    Xcode 7.2가 예기치 않게 종료 됨

  22. 22

    C ++ While 루프가 예기치 않게 종료 됨

  23. 23

    Android Studio가 예기치 않게 종료 됨

  24. 24

    탭 조각이 스 와이프하는 동안 Android 애플리케이션이 예기치 않게 종료 됨

  25. 25

    WebClient UploadValues 연결이 예기치 않게 종료되었습니다.

  26. 26

    c 프로그램이 잘 컴파일되지만 예기치 않게 종료 됨

  27. 27

    시스템이 의도하지 않게 종료 됨

  28. 28

    원격 시스템이 예기치 않게 연결 해제 될 때 원격 시스템에서 SSH 프로세스가 종료되지 않음

  29. 29

    원격 시스템이 예기치 않게 연결 해제 될 때 원격 시스템에서 SSH 프로세스가 종료되지 않음

뜨겁다태그

보관