2011-05-05 5 views
0

Qt를 처음 사용하고 QtMobility를 사용하여 메시지를 보내려고합니다. 이 링크의 예제를 사용하고 있습니다 : http://doc.qt.nokia.com/qtmobility/writemessage.htmlNokia Qt를 사용하여 S60 (Nokia E72)에서 메시지 보내기

소스 코드를 컴파일 할 수 있으며 시뮬레이터에서 테스트 할 수 있습니다. 그러나 E72에 배포하면 프로그램이 실패합니다. 사용 가능한 계정을 찾을 수 없기 때문입니다.

// Find the list of available accounts and add them to combo box 
foreach (const QMessageAccountId &id, manager.queryAccounts()) { 
    QMessageAccount account(id); 
    ... 
} 

if (accountDetails.isEmpty()) { 
    QMessageBox::warning(0, tr("Cannot send"), tr("No accounts are available to send with!")); 
    QCoreApplication::instance()->quit(); 
} else { 
    accountCombo->setCurrentIndex(0); 
} 

코드는 장치에서 (accountDetails.isEmpty())를 입력하지만 때 시뮬레이터에 괜찮 : 문제는이 코드에있다. 따라서 manager.queryAccounts()는 빈 목록을 반환합니다.

정확히 계정이란 무엇입니까? 시뮬레이터에서는 SMS와 MMS입니다. 그러나 장치가 비어있는 이유는 무엇입니까? 이 코드는 관리자가 초기화되지 않으므로 어떻게 작동하는지 추적 할 수 없습니다. 아, 관리자는 QMessageManager 인스턴스입니다. 장비에서 작동하도록하려면 어떻게해야합니까?

QtMobility 버전 1.0.2가 설치된 Nokia Qt SDK를 사용하고 있습니다.

+0

경로에 Qt Mobility 1.0 베타 버전이 표시됩니다. 베타 버전은 비교적 오래된 버전이며 ... 베타 버전입니다. 나는 이것을 실제로 볼 시간이 없지만 http://doc.qt.nokia.com/qtmobility/writemessage.html에서 코드를 시험해 보는 것이 좋을 것입니다. 즉 최신 버전입니다. – Lucian

+0

또한 컴파일하고 실행하는 Qt 및 Qt Mobility의 버전을 지정해야합니다. – Lucian

+0

Qt Mobility 1.0.2를 가지고 있으며 새 코드로 코드를 변경했습니다. 하지만 여전히 작동하지 않습니다 : (Nokia Qt SDK를 사용하고 S60 기능 팩 2를 사용하는 장치가 문제입니까? – dieend

답변

0

오케이, 대답했습니다. 문제는 응용 프로그램이나 qt가 아닙니다. 그러나 인증. QMessageManager는 어떻게 든 OS에 액세스해야합니다. * .pro 파일의 symbian : TARGET.CAPABILITY에 설명되어 있습니다. 이를 능력이라고합니다. 또한 프로젝트 설정에서 기본값 인 일부 기능에는 자체 서명 할 수 없습니다. 서명이 필요합니다.

오픈 서명 사용 : 여기 서명 된 파일을 얻으려면 https://www.symbiansigned.com/app/page/public/openSignedOnline.do입니다. 서명 된 파일이 서명 된 파일을 장치에 설치하면 프로그램이 OS에 액세스 할 수 있으며 QMessageManager의 queryAccounts()는 빈 결과를 반환하지 않습니다.

그게 전부입니다. 그리고 메시지를 보낼 수 있습니다.

필자는 먼저 장치에 테스트해야 할 때 짜증나게 생각합니다. 먼저 서명해야합니다. 그리고 오프라인에서는 오프라인에서 라이센스가 필요합니다. * 한숨

EDITED : 어떻게 든 자기 서명으로 실행할 수 있습니다. 그러나 그것이 어떻게 될 수 있는지 정확히 알지 못합니다. 내가하는 일 :

  1. QtCreator로 자체 서명 된 응용 프로그램을 실행하십시오. 오류 : 장치에서 컴퓨터로
  2. 다시 시작 장치
  3. 실행 QtCreator와 자체 서명 된 응용 프로그램을 복사 할 수 없습니다. 오류 : 일반 OS 관련
  4. PC Suite를 사용하여 응용 프로그램을 수동으로 설치하십시오. 많은 경고.

그리고 다음에 수행 할 작업을 잊어 버렸습니다. - QtCreator를 실행 해보십시오. 잘 작동합니다. - PC Suite를 먼저 설치 제거하십시오.

+0

http://www.forum.nokia.com/document/Mobile_Hands-on_Labs/Qt/MobilityMessaging/ 서명없이 N8에서 저의 예제가 작동했습니다 –

+0

다음에서 배울 점이 하나 있습니다 : devcert를 얻을 수없는 경우 Symbian 서명, Ovi Publish에서 서명하십시오. 서명 요구 사항과 관련된 많은 문제를 제거하고 더 많은 자유 실험을 할 수 있습니다. – Lucian