summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFawzi Mohamed <fawzi.mohamed@digia.com>2013-11-04 22:45:52 +0100
committerFawzi Mohamed <fawzi.mohamed@digia.com>2013-11-05 16:59:09 +0100
commit242cba3065fc2eedbc056061467d9859b4195c74 (patch)
treef9e9993fb930427e5fa3014f16a7a7b38c835402 /src
parent7243def78ca0f3ca56ad0a852cc40870046f12a3 (diff)
downloadqt-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.cpp20
-rw-r--r--src/plugins/ios/iosrunner.cpp36
-rw-r--r--src/plugins/ios/iosrunner.h2
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,