diff options
author | Fawzi Mohamed <fawzi.mohamed@digia.com> | 2013-11-04 22:45:52 +0100 |
---|---|---|
committer | Fawzi Mohamed <fawzi.mohamed@digia.com> | 2013-11-05 16:59:09 +0100 |
commit | 242cba3065fc2eedbc056061467d9859b4195c74 (patch) | |
tree | f9e9993fb930427e5fa3014f16a7a7b38c835402 /src | |
parent | 7243def78ca0f3ca56ad0a852cc40870046f12a3 (diff) | |
download | qt-creator-242cba3065fc2eedbc056061467d9859b4195c74.tar.gz |
ios: better error messages
Change-Id: I2ccb7655320b18eed9f10c8b6130befe8c9cbdb0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/ios/iosdeploystep.cpp | 20 | ||||
-rw-r--r-- | src/plugins/ios/iosrunner.cpp | 36 | ||||
-rw-r--r-- | src/plugins/ios/iosrunner.h | 2 |
3 files changed, 28 insertions, 30 deletions
diff --git a/src/plugins/ios/iosdeploystep.cpp b/src/plugins/ios/iosdeploystep.cpp index 071bce8110..35a8d7bc6d 100644 --- a/src/plugins/ios/iosdeploystep.cpp +++ b/src/plugins/ios/iosdeploystep.cpp @@ -39,6 +39,7 @@ #include <projectexplorer/buildconfiguration.h> #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/target.h> +#include <projectexplorer/taskhub.h> #include <qmakeprojectmanager/qmakebuildconfiguration.h> #include <qmakeprojectmanager/qmakeproject.h> #include <qmakeprojectmanager/qmakenodes.h> @@ -97,6 +98,9 @@ void IosDeployStep::run(QFutureInterface<bool> &fi) m_futureInterface = fi; QTC_CHECK(m_transferStatus == NoTransfer); if (iosdevice().isNull()) { + if (iossimulator().isNull()) + TaskHub::addTask(Task::Error, tr("Deployment failed. No iOS device found."), + ProjectExplorer::Constants::TASK_CATEGORY_DEPLOYMENT); m_futureInterface.reportResult(!iossimulator().isNull()); cleanup(); m_futureInterface.reportFinished(); @@ -147,10 +151,14 @@ void IosDeployStep::handleDidTransferApp(IosToolHandler *handler, const QString { Q_UNUSED(handler); Q_UNUSED(bundlePath); Q_UNUSED(deviceId); QTC_CHECK(m_transferStatus == TransferInProgress); - if (status == IosToolHandler::Success) + if (status == IosToolHandler::Success) { m_transferStatus = TransferOk; - else + } else { m_transferStatus = TransferFailed; + TaskHub::addTask(Task::Error, + tr("Deployment failed. The settings in the Organizer window of Xcode might be incorrect."), + ProjectExplorer::Constants::TASK_CATEGORY_DEPLOYMENT); + } m_futureInterface.reportResult(status == IosToolHandler::Success); } @@ -159,6 +167,8 @@ void IosDeployStep::handleFinished(IosToolHandler *handler) switch (m_transferStatus) { case TransferInProgress: m_transferStatus = TransferFailed; + TaskHub::addTask(Task::Error, tr("Deployment failed."), + ProjectExplorer::Constants::TASK_CATEGORY_DEPLOYMENT); m_futureInterface.reportResult(false); break; case NoTransfer: @@ -175,6 +185,10 @@ void IosDeployStep::handleFinished(IosToolHandler *handler) void IosDeployStep::handleErrorMsg(IosToolHandler *handler, const QString &msg) { Q_UNUSED(handler); + if (msg.contains(QLatin1String("AMDeviceInstallApplication returned -402653103"))) + TaskHub::addTask(Task::Warning, + tr("The Info.plist might be incorrect."), + ProjectExplorer::Constants::TASK_CATEGORY_DEPLOYMENT); emit addOutput(msg, BuildStep::ErrorMessageOutput); } @@ -211,7 +225,7 @@ QString IosDeployStep::appBundle() const void IosDeployStep::raiseError(const QString &errorString) { emit addTask(Task(Task::Error, errorString, Utils::FileName::fromString(QString()), -1, - ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); + ProjectExplorer::Constants::TASK_CATEGORY_DEPLOYMENT)); } void IosDeployStep::writeOutput(const QString &text, OutputFormat format) diff --git a/src/plugins/ios/iosrunner.cpp b/src/plugins/ios/iosrunner.cpp index 002ae8fb70..69fc95c11d 100644 --- a/src/plugins/ios/iosrunner.cpp +++ b/src/plugins/ios/iosrunner.cpp @@ -38,6 +38,8 @@ #include <projectexplorer/devicesupport/deviceapplicationrunner.h> #include <projectexplorer/kitinformation.h> #include <projectexplorer/target.h> +#include <projectexplorer/taskhub.h> +#include <projectexplorer/projectexplorerconstants.h> #include <QDir> #include <QTime> @@ -45,6 +47,8 @@ #include <signal.h> +using namespace ProjectExplorer; + namespace Ios { namespace Internal { @@ -163,35 +167,17 @@ void IosRunner::handleAppOutput(IosToolHandler *handler, const QString &output) emit appOutput(output); } -void IosRunner::warnAboutRunFail() -{ - QMessageBox mBox; - mBox.setText(tr("Running on iOS device failed.")); - mBox.setInformativeText(tr("The certificates in Xcode or the device might be outdated. Check the certificates in the organizer window of Xcode, and try again.")); - mBox.setStandardButtons(QMessageBox::Ok); - mBox.setDefaultButton(QMessageBox::Ok); - mBox.setIcon(QMessageBox::Information); - mBox.exec(); -} - -void IosRunner::warnAboutDeployFail() -{ - QMessageBox mBox; - mBox.setText(tr("Deploying to iOS device failed.")); - mBox.setInformativeText(tr("This might be due to an incorrect Info.plist or outdated certificates in Xcode or device (see organizer window of Xcode).")); - mBox.setStandardButtons(QMessageBox::Ok); - mBox.setDefaultButton(QMessageBox::Ok); - mBox.setIcon(QMessageBox::Information); - mBox.exec(); -} - void IosRunner::handleErrorMsg(IosToolHandler *handler, const QString &msg) { Q_UNUSED(handler); if (msg.contains(QLatin1String("AMDeviceStartService returned -402653150"))) - QTimer::singleShot(0, this, SLOT(warnAboutRunFail())); - else if (msg.contains(QLatin1String("AMDeviceInstallApplication returned -402653103"))) - QTimer::singleShot(0, this, SLOT(warnAboutDeployFail())); + TaskHub::addTask(Task::Warning, + tr("Run failed. The settings in the Organizer window of Xcode might be incorrect."), + ProjectExplorer::Constants::TASK_CATEGORY_DEPLOYMENT); + else if (msg.contains(QLatin1String("Unexpected reply: ELocked (454c6f636b6564) vs OK (OK)"))) + TaskHub::addTask(Task::Error, + tr("The device is locked, please unlock."), + ProjectExplorer::Constants::TASK_CATEGORY_DEPLOYMENT); emit errorMsg(msg); } diff --git a/src/plugins/ios/iosrunner.h b/src/plugins/ios/iosrunner.h index 2e2e777ece..5a0267d077 100644 --- a/src/plugins/ios/iosrunner.h +++ b/src/plugins/ios/iosrunner.h @@ -70,8 +70,6 @@ signals: void errorMsg(const QString &msg); void finished(bool cleanExit); private slots: - void warnAboutRunFail(); - void warnAboutDeployFail(); void handleDidStartApp(Ios::IosToolHandler *handler, const QString &bundlePath, const QString &deviceId, Ios::IosToolHandler::OpStatus status); void handleGotGdbserverPort(Ios::IosToolHandler *handler, const QString &bundlePath, |