Эхо — это настольный инструмент для отладки клиентских приложений, который называется «эхо» на китайском языке и символизирует взаимодействие между настольными компьютерами Mac и мобильными устройствами, как эхо.
В процессе разработки и тестирования клиентских приложений обычно интегрируются некоторые инструменты отладки для отображения информации о сетевых запросах приложения, обнаружения зависаний и других данных, которые помогают инженерам по обеспечению качества (QA) и разработчикам (RD) выявлять и устранять проблемы. В настоящее время эти инструменты отладки в основном встроены в само приложение. Хотя эти инструменты для отладки на маленьком экране могут удовлетворить повседневные потребности разработчиков, работающих над клиентскими приложениями, они также имеют некоторые недостатки:
Основываясь на текущей ситуации и проблемах, инструмент отладки Echo для больших экранов не только удовлетворяет потребности в разработке и тестировании клиентских приложений, но и предлагает следующие преимущества по сравнению с другими инструментами отладки:
Echo — это простой в использовании, расширяемый с помощью плагинов, предназначенный для работы с большими экранами инструмент отладки для разработки клиентских приложений. Он позволяет в реальном времени просматривать различные типы данных приложения (сетевые запросы, журналы, точки отслеживания и т. д.) и вносить изменения в предварительный просмотр приложения без необходимости изменять код.
Текущие поддерживаемые функции Echo разделены на четыре категории:
Каждая из возможностей, представленных в разделе функций, разрабатывается как отдельный плагин. Каждый плагин требует внимания только к сбору данных и ответам на операции, что упрощает быстрое расширение новых функций. Ниже приведён пример того, как быстро расширить новый плагин:
+ (void)load {
//регистрируем плагин
[[ECOClient sharedClient] registerPlugin:[self class]];
}
- (instancetype)init {
self = [super init];
if (self) {
self.name = @"Журнал";
[self registerTemplate:ECOUITemplateType_ListDetail data:nil];
}
return self;
}
//изменение состояния подключения
- (void)device:(ECOChannelDeviceInfo *)device didChangedAuthState:(BOOL)isAuthed {
if (isAuthed) {
id yourData = "Информация для отправки";
!self.deviceSendBlock ?: self.deviceSendBlock(device, yourData);
}
}
#pragma mark - ECOBasePlugin methods
- (void)didReceivedPacketData:(id)data {
// Реализуйте здесь свою бизнес-логику
NSDictionary *dict = (NSDictionary *)data;
}
Это основные шаги для расширения нового плагина. Новому плагину нужно уделять внимание только своей собственной логике данных, а процесс расширения и интеграции довольно прост.
Echo для настольных компьютеров Mac включает три универсальных шаблона: List-Detail, Outline и H5, которые удовлетворяют большинству потребностей бизнес-плагинов в отображении и позволяют новым пользователям быстро подключаться, даже если они не знакомы с разработкой для Mac. Опытные разработчики для Mac или те, у кого есть особые требования, могут создавать собственные шаблоны отображения плагинов и интегрировать их, просто сопоставляя имена шаблонов с пользовательским интерфейсом в Echo.
На изображениях ниже представлено техническое решение Echo.
pod 'EchoSDK', :configurations => ["Debug"]
<key>NSLocalNetworkUsageDescription</key>
<string></string>
<key>NSBonjourServices</key>
<array>
<string>_ECHO._tcp</string>
</array>
Отображение в Xcode выглядит следующим образом:
#ifdef DEBUG
#import <EchoSDK/ECOClient.h>
#endif
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#ifdef DEBUG
[[ECOClient sharedClient] start];
#endif
}
Система iOS 14 строго ограничила локальные сетевые разрешения, учитывая, что Echo использует службу Bonjour в фоновом режиме. Необходимо добавить NSLocalNetworkUsageDescription и NSBonjourServices в файл Info.plist проекта в Xcode. Выберите файл Info.plist в Xcode, щёлкните его правой кнопкой мыши и выберите Open As Source Code. Затем добавьте следующее содержимое:
<key>NSLocalNetworkUsageDescription</key>
<string></string>
<key>NSBonjourServices</key>
<array>
<string>_ECHO._tcp</string>
</array>
Добавление этого содержимого приведёт к следующему отображению в Xcode:
Обратите внимание, что даже без этой адаптации функция автоматического подключения Echo всё равно будет работать. Вы можете использовать USB-соединение для подключения к устройству или запустить симулятор на том же компьютере для автоматического подключения.
При разработке Echo использовались и были адаптированы части кода из следующих проектов:
Apache-2.0 license. Эхо распространяется и используется на основе протокола Apache-2.0. Дополнительную информацию см. в лицензионном соглашении.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )