ОС Symbian - общая информация Symbian OS - это операционная система для смартфонов и коммуникаторов, разрабатываемая консорциумом Symbian , основанным в июне 1998 года компаниями: Psion, Nokia, Ericsson и Motorola. Позже к консорциуму присоединились компании: Sony Ericsson, Siemens, Panasonic, Fujitsu, Samsung, Sony и Sanyo. В настоящий момент в консорциуме Symbian Nokia принадлежит 47.9 %, Ericsson - 15.6 %, Sony Ericsson - 13.1 %), Panasonic - 10.5 %, Siemens AG - 8.4 % и Samsung - 4.5%. Symbian OS является потомком операционной системы EPOC , разработанной компанией Psion для своих портативных устройств, прежде всего PDA, и работает исключительно на процессорах ARM . ARM - это архитектура 32 - битных RISC-процессоров, разработанных компанией ARM Limited для мобильных устройств. По причине их высоких энергосберегающих функций, процессоры ARM занимают 75 % рынка встраиваемых 32-битных RISC- процессоров в мире. Существует несколько модификаций системы Symbian (для разных типов устройств), наиболее известные из них - UIQ, Series 60 , Series 40 , Series 80 и FOMA: UIQ является основной для смартфонов, выпускаемых Sony Ericsson и Motorola. Отличительная особенность UIQ - поддержка устройств с сенсорным экраном. С ноября 2006 года принадлежит Sony Ericsson. Series 60 - это основная платформа для смартфонов компании Nokia , также лицензируемая Samsung, Siemens и LG. Разработана для устройств с телефонной клавиатурой (с сокращённым набором кнопок). Series 40 представляет собой урезанную версию Series 60 , которой Nokia комплектует свои мобильные телефоны. Хотя Series 40 не является операционной системой в полном смысле этого слова, ее возможности постепенно растут (уже существуют 5 редакций), поэтому она заслуживает рассмотрения в отдельной статье. Series 80 - платформа, также разработанная Nokia, для устройств с полноразмерными клавиатурами (в настоящее время развитие этой ветки Symbian OS приостановлено в связи с усовершенствованием Series 60 для устройств данного вида). FOMA (Freedom of Mobile Access). Распространена в Японии. Продвигается крупнейшим сотовым оператором NTT DoCoMo, по заказу которого устройства на FOMA производят компании Mitsubishi, Fujutsu, Sony Ericsson и Sharp. Кроме этого существует несколько отдельно стоящих устройств, использующих нестандартные модификации Symbian OS. К ним относятся смартфоны Nokia 7710 ( Series 90 ) и Nokia 9210. Развитие ОС Symbian от версии к версии: 1999 г. - Symbian OS v5.0 (порядковый номер унаследован от ОС EPOC Release 5 , которой она и являлась). Финансовые сложности вынудили копанию Psion лицензировать свою ОС третьим компаниям. Первым устройством на Symbian OS v5.0 был Ericsson MC218 2000 г. - Symbian OS v5.1 , первый поддерживащий аппарат - Ericsson R380. 2001 г. - Symbian OS v6.0 и v6.1 (первый поддерживащий аппарат -Nokia 9210). 2003 г. - Symbian OS v7.0 и v7.0s , начала массового появления на рынке смартфонов с ОС Symbian. 2004 г. - Symbian OS v8.0. Версия давала выбор ядра между EKA1 и EKA2 . Однако в полной мере поддержка ядра EKA2 была реализована в Symbian OS 8.1b . Symbian OS 8.1a - последняя версия Symbian для ядра EKA1 . Symbian OS 6.0-8.1 a были между собой бинарно - совместимы, что позволяло исполнять одни и те же приложения на различных версия ОС. Начиная с версии 8.1b это стало невозможным для последующих версий. Конец 2004 г. - выход предназначенной только для внутреннего использования Symbian OS 9.0 . 2005 г. - Symbian OS v9.1. Улучшена безопасность, введена подписка приложений, что позволило привязывать их к конкретному телефону с целью защиты авторских прав разработчиков. Начало 2006 г. - Symbian OS v9.2. Поддержка Bluetooth 2.0 и OMA Device Management 1.2 (протокол управления мобильными устройствами, разработанный Open Mobile Alliance ( http://www.openmobileallianc e.org/ ) Середина 2006 г. - Symbian OS v9.3. Поддержка HSDPA (стандарт мобильной связи, рассматриваемый как переходной к технологиям мобильной связи четвертого поколения - 4 G, максимальная теоретическая скорость передачи данных - 14 ,4 Мбит/сек), встроенная поддержка Wi-Fi 802.11 2007 г. - Symbian OS v9.5. уменьшение до 75 % времени запуска приложений, улучшенная поддержка VoIP, поддержка цифрового телевидения (DVB-H, ISDB-T) и SQL. Структура OS Symbian Структура Symbian OS подобна большинству настольных операционных систем с такими функциями, как приоритетная многозадачность, многопоточной обработкой и защитой памяти. Преимуществом системы является нацеленность ее функций на переносные устройства с ограниченными ресурсами, которые должны работать в течении многих месяцев и лет. К таким функциям относится минимизация использования памяти и редкость ее утечки. Так же следует отметить оптимизацию использования CPU в целях снижения энергопотребления - процессор отключается, когда приложения находятся в режиме ожидания. Структуру же самой системы можно условно разбить на уровни. На самом низком уровне находятся основные компоненты Symbian, состоящие из ядра ( EKA1 , для Symbian 6.0-8.1a, или EKA2 для Symbian 8.1 b-9.5) и пользовательская библиотека , позволяющая программам сторонних производителей обращаться к функциям ядра. Symbian OC имеет микроядерную архитектуру, что означает, что ядро содержит минимум необходимых функций операционной системы. К этим функциям относится поддержка многозадачности и управление памятью. Поддержку файловой системы и сетевой составляющей осуществялют серверы пользовательской стороны, расположенные на базовом уровне . Файловый сервер обеспечивает подобное DOS отображение файловой системы устройства (каждому диску назначена определенная буква, обратный слеш определяет каталог). Symbian поддерживает различные типы файловых систем, включая FAT32 и специфическую для Symbian систему NOR . На уровень выше файловой системы находятся системные библиотеки, которые выполняют такие функции как преобразование кодировок символов, поддержку базы данных DBMS и обработку файлов ресурсов. Остальное программное обеспечение находится на верхнем уровне . Средства разработки для Symbian OS Основным языком программирования для Symbian OS является C++ (даже сама система написана на этом языке). Вместе с тем, многие устройства на Symbian OS могут быть программируемы на OPL, Python , Visual Basic, Simkin и Perl, а также Java ME и PersonalJava . Фирмы-разработчки устройств на Symbian как правило предоставляют комплект средств разработки ( SDK ) для своих устройств. Естественно, что для каждой платформы они различны. Описание процессоров, применяемых в смартфонах Nokia В смартфонах Nokia применяются RISC-процессоры, разработанные корпорацией ARM Ltd. . Британская корпорация ARM Ltd . (название происходит от Advanced RISC Machines) является одним из крупнейших разработчиков и лицензедателей современной архитектуры 32-х разрядных RISC-процессоров, специально ориентированных для использования в портативных и мобильных устройствах (таких, как мобильные телефоны, персональные органайзеры, пр.). ARM не является производителем микропроцессоров как таковым, однако лицензирует собственную технологию третьим фирмам, таким как Atmel, Intel, Texas Instruments, NXP, Samsung, которые, собственно, и воплощают её в чипах. Технология ARM оказалась весьма успешной и в настоящее время является доминирующей микропроцессорной архитектурой для портативных цифровых устройств. ARM утверждает, что общий объём микропроцессоров, произведённых по их лицензии, превышает 2 ,5 миллиарда штук. В настоящее время известны несколько семейств микропроцессоров ARM - ARM7 (обычно с тактовой частотой около 50 МГц, предназначенные, например, для недорогих мобильных телефонов), ARM9 (с частотами порядка 200 МГц для продвинутых телефонов и карманных компьютеров). Интересной дополнительной возможностью архитектуры ARM9 является технология Jazelle , предназначенная для аппаратного ускорения выполнения байт-кодов языка Java. Новейшим семейством является ARM11 с тактовой частотой до 1ГГц и расширенными мультимедийными возможностями. Процессоры, применяемые в смартфонах Nokia Модель Процессор/частота Nokia 3230 ARM9 / 123МГц Nokia 3250 ARM9 E / 235МГц Nokia 5500 ARM9 E / 235МГц Nokia 5700 ARM11 / 369МГц Nokia 6110 ARM11 / 369МГц Nokia 6120 ARM11 / 369МГц Nokia 6121 ARM11 / 369МГц Nokia 6290 ARM11 / 369МГц Nokia 6630 ARM9 / 220МГц Nokia 6670 ARM9 / 123МГц Nokia 6680 ARM9 / 220МГц Nokia 6681 ARM9 / 220МГц Nokia 7710 ARM9 / 150МГц Nokia 9300 ARM9 / 150МГц Nokia 9300i ARM9 / 150МГц Nokia 9500 ARM9 / 150МГц Nokia E50 ARM9 E / 235МГц Nokia E51 ARM11 / 369МГц Nokia E60 ARM9 E / 235МГц Nokia E61 ARM9 / 220МГц Nokia E61i ARM9 / 220МГц Nokia E65 ARM9 / 220МГц Nokia E70 ARM11 / 369МГц Nokia E90 Dual CPU ARM11 / 332 МГц + 3D Graphics HW Accelerator Nokia N70 ARM9 / 220МГц Nokia N71 ARM9 / 220МГц Nokia N72 ARM9 / 220МГц Nokia N73 ARM9 / 220МГц Nokia N75 ARM9 / 220МГц Nokia N76 ARM11 / 369МГц Nokia N77 ARM9 / 220МГц Nokia N80 ARM9 / 220МГц Nokia N81 ARM11 / 369МГц Nokia N81 8Gb ARM11 / 369МГц Nokia N90 ARM11 / 369МГц Nokia N91 ARM9 / 220МГц Nokia N92 Dual CPU ARM9 / 268МГц Nokia N93 Dual CPU ARM11 / 332 МГц + 3D Graphics HW Accelerator Nokia N93i Dual CPU ARM11 / 332 МГц + 3D Graphics HW Accelerator Nokia N95 Dual CPU ARM11 / 332 МГц + 3D Graphics HW Accelerator Nokia N95 8Gb Dual CPU ARM11 / 332 МГц + 3D Graphics HW Accelerator Платформа Series 60. Общие сведения и особенности. Series 60 - платформа на основе Symbian OS , для мобильных телефонов. В настоящее время является мировым лидером среди платформ для смартфонов. Была разработана корпорацией Nokia, и в последствий лицензирована другим компаниям, таким как Lenovo, LG Electronics, Panasonic и Samsung. Так же в разработку входят компании, интегрирующие программное обеспечение Elektrobit, Teleca, SYSOPENDIGIA, Mobica, Texas Instruments, STMicroelectronics, Broadcom, Renesas, Freescale, и операторы мобильной связи Vodafone и Orange, которые разрабатывают и поставляют мобильные приложения и услуги для S60 . Версии и ключевые особенности платформы Series 60: В зависимости от версии, ОС Symbian Series 60 (далее S60 ) подразделяется на редакции ( edition ), которые в свою очередь могут иметь пакеты дополнений ( feature pack ). В списке ниже перечисленны все существующие на данный момент редакции и пакты дополнений платформы Series 60 и соответствующие им версии Symbian OS . S60 0.9-й (S60 v0.9) и 1-й редакции (S60 v1.2 ), соответствуют Symbian OS v6.1 S60 2-й редакции (S60 v2.0) имела несколько модификаций: Feature Pack 1 (S60 v2.1 ) соответствует Symbian OS v7.0s Feature Pack 2 (S60 v2.6 ) соответствует Symbian OS v8.0a Feature Pack 3 (S60 v2.8 ) соответствует Symbian OS v8.1a S60 1 -й и 2 -й редакций бинарно - совместимы меду собой (это означает, что теоретически программы, написанные для S60 1 -й и 2 -й редакции могут запускаться на всех телефонах, работающих под управлением этих версий S60). S60 3-й редакции (S60 v3 ), соответствует Symbian OS v9.1 Feature Pack 1 соответствует Symbian OS v9.2 S60 5-й редакции (S60 v5 ), выход ожидается в 2008 . Число 4 пропущено по причине того, что считается несчастливым в некоторых азиатских странах (то же касается и модельного ряда Nokia). Поддерживаемые платформой Series 60 разрешения экрана: S60 1-й редакции - 176 x208 S60 2 -й редакции (Feature Pack 1 ,2) - 176 x208 S60 2 -й редакции (Feature Pack 3) - 176 x208 , 352 x416 (только Nokia N90) S60 3-й редакции - 320 x240 (т.н. стандарт QVGA, название возникло по причине того что это разрешение составляет 1 /4 от стандартного разрешения VGA), 352 x416 (для некоторых моделей), 208 x208 (только Nokia 5500). В зависимости от возможностей конкретной модели смартфона начиная с S60 3-й редакции поддерживается как горизонтальная так и вертикальная ориентация экрана: вертикальная ориентация 176 x208 ("классическое") 240 x320 (QVGA) 352 x416 горизонтальная ориентация: 208 x176 (не реализовано) 320 x240 (реализовано в Nokia E61) 416 x352 (как пользовательский интерфейс впервые реализовано в Nokia E70) Архитектура платформы Series 60 Схема архитектуры платформы Series 60 показана на рисунке ниже: Symbian OS Extensions - это набор возможностей, позволяющих платформе S60 взаимодействовать с функциями компонентов 'железа', такими как вибровызов, статус заряда батареи и пр. S60 Platform Services - это фундаментальные сервисы, предоставляемые платформой. Они включают: Application Framework Services - базовые возможности запуска приложений и сервисов, компоненты пользовательского интерфейса. UI Framework Services - определенный вид компонентов интерфейса и операции с событиями. Graphics Services - создание графики и отрисовка ее на экране. Location Services - метод, с помощью которого платформа 'узнает' о местоположении аппарата. Web-Based Services - включают сервисы по установлению соединений, взаимодействию с WEB, в том числе обеспечивает работу браузеров и загрузку файлов. Multimedia Services - проигрывание видео и аудио, распознавание речи. S60 Application Services - набор возможностей, которые используются приложениями S60 и могут быть использованы разработчиками при создании сторонних приложений. S60 Java Technology Services - набор возможностей, которые используются приложениями S60 и могут быть использованы разработчиками при создании сторонних приложений на языке Java. Средства разработки Series 60 Компания Nokia предоставляет пакет средств разработки ( SDK ) для загрузки со своего сайта. SDK включает документацию, файлы библиотек и описаний заголовков, необходимые для создания программ, а так же эмулятор ОС смартфона для Windows. Symbian OS 9 и более ранние версии Symbian OS до v. 8 включительно используют различные версии GCC- компилятор для создания приложений, что связано с бинарной несовместимостью между этими версиями. Для Series 60 SDK доступно для С++ и Java. Программирование на C++ для осуществляется с помощью коммерческой интегрированной среды разработки CodeWarrior для Symbian OS, либо Carbide.c++ , интегрированной среды разработки, основанной на Eclipse . Пробные версии персональной, профессиональной и OEM- версии CodeWarrior доступны для загрузки с сайта Nokia . Express-версия Carbide.c++ позволяет создавать полнофункциональные программы и является бесплатной. Платные версии - Developer, Professional, and OEM предлагают дополнительные возможности, такие как дизайна интерфейса пользователя, аварийный отладчик и т.д. Java -приложения для Symbian OS разрабатываются с использованием стандартных технологий и средств, таких как Sun Java Wireless Toolkit (бывший J 2ME Wireless Toolkit ). Для установки в телефон C++ приложения запаковываются в SIS -файлы, а Java - в JAR или JAD -файлы. Установка SIS - приложений для Symbian OS 9.x усложнена по сравению с предыдущими версиями по причине необходимости подписки программ . Подробнее об установке приложений для Series 60 смотрите в статье "Установка программ для Symbian". Помимо скомпилированный программ для Series 60 написан интерпретатор языка Python , позволяющий запускать на телефоне скрипты на этом языке. Для интерпретатор Python , существует API , поддерживающее Bluetooth и многое другое. Разработчики приложений и контента на Flash Lite могут использовать Flash 8 Professional или Flash CS3 Professional от Adobe Systems Incorporated. Для разработки тем экрана используется новый редактор тем от Nokia - Carbide.ui Theme Edition 3.2. Cертификация (подпись) программ для Symbian OS 9.x Процесс сертификации программ для Symbian OS 9 детально описан на многих сайтах, посвященных смартфонам, но без этого описания диапазон статей на сайте был бы не полным, поэтому я так же его размещаю. Описание процесса сертификации сделано как на основании материалов размещенных в сети, так и моего собственного опыта. Редактор сайта www.s40 s60.dp.ua Сертификация (или другими словами подпись) приложений для Symbian OS была введена в 9-й версии системы, с целью повышения безопасности и ограничения доступ к различным функциям, которые используют приложения, и (что прямо не говориться, но подразумевается) для защиты кода самой OS. Так же это повысило защиту приложений от несанкционированного использования, что естественно это осложнило жизнь тем, кто экономит свои средства на приобретении программ :-), но тем не менее решение было найдено. Существует четыре уровня сертификации приложений для Symbian OS 9: Self-signed (самоподписаный) - самый простой и самый ограниченный сертификат. Базовый уровень доступа к API (доступно порядка 60% API), нет привязки к IMEI, разрешён доступ только к функциям, которые не защищены "проверкой возможностей". "Проверка возможностей" (дословный перевод словосочетания "capability check") - это проверка возможности программы выполнять те или иные функции. Возможности, образно, являются списками функций, которые приложение может использовать. Допускается использование возможностей группы "пользователь" (user) и "основные" (basic). Symbian Signed - подпись в консорциуме Symbian. SIS-файл отправляется в консорциум на рассмотрение. Если программа - коммерческая, то сертификация платная, если бесплатная, то подпись так же будет бесплатной. Доступ к 100% API дается в случаи достаточной обоснованности. Developer certificate (сертификат разработчика) - Как предполагается, он предназначен для тестирования программ на одном устройстве, перед отправкой в Symbian на подпись. Сертификат привязан к одному IMEI и программа, подписанная таким сертификатом установится на смартфон, только с одним, указанным при создании сертификата, IMEI. Такой сертификат даёт возможность получить доступ к примерно 80% функций API. Именно им мы и можем воспользоваться. Phone Manufactured devcert (сертификат разработчика для производителей телефонов) - сертификат имеет доступ ко 100% функций API и возможностей операционной системы (в том числе доступ в закрытые папки). Но, как следует из название, обычным пользователям его не получить. Получение сертификат разработчика для Symbian OS 9: Для получения сертификата разработчика необходимо зарегистрироваться на сайте http://www.symbiansigned.c om/ . При этом следует учесть, что для регистрации требуется указать e-mail, расположенный на не бесплатном хостинге (в сети периодически появляются списки бесплатных серверов, регистрацию с доменов которых допускается Symbian signed , но как правило вскорости админы сайта эту ситуацию исправляют :-). На мой взгляд, если у вас есть "нормальный" e-mail - смело регистрируйтесь с него, вас никто не накажет :-). О самом процессе регистрации. Если в процессе регистрации какие-либо окна не отображаются, желательно снизить уровень безопасности и конфиденциальнсти разрешить всплывающие окна. После валидации e-mail адреса на него будет выслано сообщение с кодом активации, который нужно будет ввести на следующей отобразившейся странице вместе с обязательными полями "Имя", "Фамилия", "пароль", "название организации" и "номер телефона", остальные поля являются опциональными. Так же в на этой странице нужно будет ввести отображенный на картинке код безопасности, просмотреть лицензионное соглашение и согласиться с ним. Теперь вы можете спокойно залогиниться на сайте (не забудьте - в качестве логина используется ваш e-mail) и воспользоваться всеми возможностями, которые предоставляет членство в Symbian signed . Так как нас интересует только подписка приложений, переходим к закладке My Symbian Signed , и из меню Developer Certificates загружаем программу DevCertRequest (ее так же можно найти на различных, посвященных смартфонам сайта). Генерация запроса на получение сертификата для Symbian OS 9: Устанавливаем и запускаем DevCertRequest . В отобразившемся окне вводим имя вашего файла-запроса сертификата (он имеет расширение.csr). Нажимаем на Next . В отобразившемся окне параметр " ACS Pub ID available " ставим NO , в качестве " Private key file " выбираем файл mykey.key (его можно найти в сети, или у меня в разделе "Программы"), убираем галочку с " No password " и вводим пароль 12345678 , нажимаем на Next . В следующем окне заполняем поля отмеченные звездочкой обязательные поля (можно вводить любые значения, это ни на что не влияет). В четвертом окне выделяем все Capabilitis и нажимаем на кнопку ADD . Затем жмем на кнопку " ... ". В отобразившемся окне вводим IMEI , затем жмем на ADD , а потом ОК и по кнопке Next переходим к последнему окну. Нажимаем Finish и если видим это окно, то запрос на сертификат готов: Снова логинемся на Symbian signed , переходим на закладку " My Symbian signed ", и в последовательности, показанной на рисунке ниже загружаем наш запрос на сертификат на сайт www.symbiansigned.com Далее мы увидим: Нажимаем на кнопку Download . Наш сертефикат скачан. На пол года вы про это можете забыть но через пол года вы снова должны будете получить сертификат. Подпись программ для Symbian OS 9: Для подписи программ чаще всего рекомендуют программу SISsinger , но честно говоря ее я бы не рекомендовал из-за откровенной убогости, хотя если ничего нет другого под рукой, сойдет и она. На мой взгляд, более удобной является утилита SISWare , которая как и следует из названия, предназначена для выполнения различных операций над SIS-файлами, таких как пересборка, сертификация и десертификация, а также может генерировать самоподисываемые сертификаты. Итак, запускаем программу, в меню Tools выбираем пункт Digitally Sign Tools . Переходим на закладку Sign SIS File и заполняем поля: SIS File To Be Signed - указываем файл который Вы хотите подписать. Target Signed SIS File - указываем путь и название файла который будет сертифицирован. Certificate File - указываем путь к полученному сертификата (файл с расширением.cer) Key File - указываем путь к ключу. ( mykey.key в нашем случае). Password - пароль ключа.(тот который мы указали при создании запроса на получение сертификата). Sign Algorithm - выбираем DSA Algorithm. После этого нажимаем кнопку Sign , и ждём 5-10 секунд. В случае успешной сертификации в окне Signing Info должна появиться информация о сроке действия сертификата. Теперь подписанную программу можно устанавливать в смартфон. *********************** ТЕЛЕФОНЫ И КПК Список статей Автор: Бакунин Юрий Рубрика на сайте: Программирование Дата публикации на сайте: 02 /08 Распечатать Материал написан специально для публикации на Mobi.ru Symbian S60 3rd: сертификация программ во всех подробностях. Capabilities Разработчики Symbian OS 9 совершили, по мнению многих пользователей, сумасбродный шаг. Была изобретена сертификация программ (Symbian sign) , которая появилась на платформах S60 3rd и UIQ 3.0 . Во-первых, все старые добрые программы для S60 1st и 2nd перестали работать. Во-вторых, Nokia заявила, что пользователи смартфонов 1 st и 2nd были сильно обеспокоены вирусами, а производители этих программ - пиратскими версиями. Если в последнее охотно верится, то от первого заявления финских маркетологов устойчиво веет фальшью безалкогольного пива. Несмотря на «ахи- страхи», которые регулярно раздаются на сетевых форумах, подавляющее большинство пользователей «умных» мобильных (любых платформ) не страдает от программ-вирусов и, надеемся, ещё долго не будет. Старания Symbian пропали втуне. Оказалось, что написать вредоносную программу для S60 3rd по- прежнему как два байта переслать и проблема пиратского софта никуда не пропала. Сертификация дала возможность компании Symbian собирать дань с разработчиков. В итоге крупные производители стали вытеснять с рынка одиночек-энтузиастов, чьи программы подчас были значительно выше по качеству. Как уже можно было догадаться, кроме того, что за сертификаты надо было платить, под них ещё придется подгонять программы. Сертификация изнутри Известно, что любое приложение в ходе работы вызывает различные функции операционной системы. В Symbian OS 9, как и в некоторых других платформах, эти самые функции разбиты по разделам. Разделы, к которым доступ ограничен, требуют от программы capability , что можно перевести как право доступа. Мы будем использовать сленговое слово «капс» (к кнопке CAPS LOCK никакого отношения не имеет). Принято говорить: "Эта функция требует капса XXX". Сертификат, грубо говоря, является паспортом, в котором написано, какие функции программе позволено задействовать. Правило : Если некоторая функция требует наличия какого- то капса, то программа должна быть подписана сертификатом, предоставляющим этот самый капс. Большинство распространённых функций - рисование, обработка нажатий клавиш внутри приложения и многое другое - никаких капсов не требуют. Однако нормальная полезная программа, не использующая ни одной функции из капсов - редкость. Это может быть программа, которая не хранит пользовательских данных, не обращается к системе за информацией, не использует доступ в интернет. Например, калькулятор. Тем не менее, даже такую программу нужно подписать. Список capabilities : Название капса Описание LocalServices Доступ к коммуникационным службам телефона - соединение по IrDA (ИК- порт), Bluetooth, COM- порту и др. ReadUserData Доступ к пользовательским данным на чтение: контакты, SMS, заметки и пр. WriteUserData Доступ к пользовательским данным на запись: изменение контактов, SMS, заметок и пр. Очень часто идёт в паре с ReadUserData, т.к. обычно требуется и прочитать, и поменять сразу. UserEnvironment Доступ к использованию камеры и микрофона (буквально - доступ к конфиденциальной информации о жизни пользователя). NetworkServices Доступ к удалённым службам - например, доступ в интернет. Location Доступ к определению местоположения пользователя - например, информации о текущей сети. Как правило, дополнительно требует ReadDeviceData. ReadDeviceData Доступ на чтение к настройкам ПО телефона, получение данных с SIM-карты. Для многих разработчиков важно то, что этот капс нужен для получения серийного номера телефона - IMEI, на котором очень часто строится защита ПО. WriteDeviceData Доступ на запись к настройкам ПО телефона. PowerMgmt Позволяет убивать процессы в системе, выключать/перезагру жать телефон. TrustedUI Позволяет использовать функции для проверки сертификации приложения. Трудно что- то сказать по этому поводу, так как эти функции недоступны рядовому программисту. ProtServ Позволяет предоставлять процессам некоторые особые свойства. Например, чтобы при завершении процесса телефон принудительно перезагружался. SwEvent Работа с нажатиями клавиш - глобальный перехват и отправка клавишных событий запущенным приложениям. Также работает с неким загадочным pen pointer - очевидно, понадобится, если в смартфонах S60 будет сенсорный экран. Кстати говоря, Nokia над этим работает ( http://www.mobi.ru/Sh owArticle.php?id=2878 ). NetworkControl Чтение и модификация сетевых настроек. MultimediaDD Доступ к глобальным настройкам записи видео и аудио. DRM Доступ к на редактирование защищённого DRM контента. Для защищённых аудиофайлов, которые продаются в некоторых интернет- магазинах. SurroundingsDD Доступ к логическим драйверам устройства. TCB Предоставляет доступ на запись к папкам \sys и \resource. CommDD Доступ к коммуникационным драйверам устройства. DiskAdmin Администрирование дисков. AllFiles Доступ на чтение и запись в папку private. Капсы, помеченные белым цветом, - базовые (Basic Capabilities) . Они предоставляются свободно - программист может самостоятельно подписать программу сертификатом SelfSigned , и тогда она будет работать на всех смартфонах S60 3rd. Если программа была подписана самостоятельно, при её установке появляется неприятное предупреждение, которое на русском языке звучит как "Данное приложение ненадёжно и может повредить телефон". Чтобы убрать это предупреждение, необходимо пройти официальную процедуру подписи в Symbian Signed . Серым цветом помечены расширенные капсы (Extended Capabilities) , для использования которых нужно отправлять программу офису Symbian Signed для тестирования. Но поскольку прежде, чем что-то тестировать, надо это что-то написать - программистам на время разработки предоставляется особый сертификат DevCert . Программа, подписанная этим сертификатом, работает только на отдельно взятом телефоне. Сертификат предоставляется бесплатно всем желающим. В результате появился новый для S60 тип ПО - программа, "которую нужно подписать". Что означает: "Программист предоставляет неподписанную (unsigned) программу. Пользователь самостоятельно получает DevCert, подписывает им программу, и она работает на его телефоне". И, наконец, сиреневым обозначены особые капсы, доступные только производителям телефонов (Phone Manufacturer Approved capabilies) . Я пока ещё не слышал, чтобы кто-то из рядовых программистов получил легально какой-то из этих капсов. Для особо любознательных пользователей есть способ заполучить эти капсы для своего телефона путем модификации файла прошивки с последующей перепрошивкой, но это уже экстремальный спорт. О том, какие капсы нужны той или иной функции - можно узнать из справки SDK по этой функции. Чтобы получить полный список функций, требующих капсы, - нужно ввести в поиске по справке условие "Functions listed by capability" - как есть, с кавычками. В эмуляторе доступны все капсы. Если нужно узнать, какие capability требуются программе, - в настройках эмулятора нужно включить PerformCapabilityCheck (меню Tools->Preferences) и выбрать нужные капсы: Также на вкладке С++ Debug должен быть включен чекбокс Enable EPOCWINDOUT.LOG logging. После этого запускаем программу в эмуляторе. Внешне работа программы от этого не меняется, но все сообщения об использовании выбранных капсов попадают в файл EPOCWINDOUT.LOG, который лежит в папке Temp (как правило, на Windows XP это C:\Documents and Settings\<Имя пользователя> \Local Settings\Temp\EPOCWI NDOUT.LOG). На время работы эмулятора файл открыт на запись, потому не любой текстовый редактор его откроет. Лучше всего просматривать такой файл во встроенном просмотрщике файлового менеджера Far - он позволяет открыть файл во время работы эмулятора и показывает его содержимое по мере записи сообщений в log. Что нужно, чтобы подписать программу? Чтобы предоставить программе необходимые капсы, необходимо прописать их в файле MMP. Например: CAPABILITY LocalServices ReadUserData WriteUserData NetworkServices Имена капсов - как указано в таблице; пишутся через пробел. Другие примеры инструкции CAPABILITY можно увидеть в примерах SDK. Далее программу нужно скомпилировать, собрать sis-файл, как уже было показано ранее. Затем этот sis-файл нужно подписать сертификатом, в зависимости от капсов. Подпись SelfSign Если программа использует только "белые" капсы из таблицы - пользуемся этим способом. Вначале необходимо сгенерировать свой сертификат, для чего используется утилита makekeys из SDK. Она находится в Epoc32/Tools, достаточно набрать в командной строке makekeys, чтобы увидеть краткую справку. Но чтобы создать сертификат, необходимо запустить программу с параметрами. Например : makekeys -cert -password "1234 " -len 2048 - dname "CN=Juriy Bakunin OU=Development OR=Organisation CO=GB EM=none@none.com" mykey.key mycert.cer Параметр -cert означает, что мы делаем сертификат (для makekeys доступны и другие действия). - password "1234 " - создаём сертификат с паролем 1234, пароль потом понадобится при подписи. В параметре - dname перечисляем сведения о себе (как и на примере, в кавычках). И, наконец, желаемые имена для будущего ключа и сертификата - в данном случае mykey.key mycert.cer. После запуска будет предложено произвольно поводить мышью по экрану, что и делаем до тех пор, пока не появится надпись random data collected. Сертификация приложения на OS (ОС) Symbina 9 S60 3rd В результате в текущей папке получаем 2 файла - с расширением key и cer. Эту операцию достаточно проделать один раз, а дальше при подписи программ пользоваться сгенерированными файлами. Сертификат содержит все "белые" капсы. Теперь можно подписывать свои программы либо примеры из SDK. Для подписи sis-файла используется утилита signsis, которая лежит там же, где и makekeys. Чтобы получить sis, подписанный нашим сертификатом, необходимо выполнить команду: signsis -s <Путь к неподписанному sis> <Путь к подписанному sis> <Путь к cer-файлу> <Путь к key-файлу> <Пароль> Например : signsis -s MySis.sis MySelfsignedSis.sis C:\Symbian\cert\self\my cert.cer C:\Symbian\cert\self\my key 1234 Выполнив эту команду, получим подписанный файл MySelfsignedSis.sis. Можно ставить на телефон. Срок действия сертификата SelfSigned - 1 год. Спустя год программу всё равно можно установить, но для этого нужно перевести время в телефоне назад. Подпись DevCert Если программа использует только "серые" капсы (ну или "белые"и "серые" сразу), потребуется DevCert, по меньшей мере для тестирования. Для получения сертификата DevCert необходимо скачать с сайта symbiansigned.com программу DevCertRequest и установить её. При запуске программа первым делом предложит ввести путь к файлу csr - этот файл запроса сертификата на symbiansigned.com . Второе окно интереснее: Здесь возможно 2 варианта : 1. Для владельцев ACS Publisher ID. Если он есть-- можно получить DevCert сразу для 1000 телефонов (на момент написания статьи, раньше было меньше). ACS Publisher ID необходим в дальнейшем тем, кто собирается подписывать приложения официально: через Symbian Signed. Эта штука стоит денег. Подробнее в разделе Официальная подпись. 2. Для обычных пользователей. Один IMEI - один DevCert, и не более 20 в день, зато свободно. Бесплатно и сердито, это и будем юзать. Первым делом выставляем ACS Publisher ID в No, затем вводим путь, куда программа сгенерирует файл key. В третьем окне - информация о себе, заполняем по своему усмотрению. Четвёртое окно позволяет выбрать IMEI и нужные нам капсы. Чтобы ввести IMEI телефона, нажмите кнопку с тремя точками. С капсами поступаем по-военному просто - выделяем в левом списке все пункты и кнопкой ADD перемещаем в правый список, не будем себе ни в чём отказывать. На последнем пятом окне видим краткое описание будущего сертификата. Жмём Finish - и файлы csr и key сгенерированы. Теперь идём на сайт , заходим под нашей учётной записью (ведь мы зарегистрировались там уже, верно? Когда UID'ы получали). В меню слева выбираем Open Sign (так этот пункт называется на момент написания статьи, а раньше назывался DevCert). Далее - кликаем ссылку Request и оказываемся на странице, где нужно ввести путь к файлу csr и контрольные цифры. После отправки формы получаем сертификат DevCert, который можно скачать со страницы в любое время. Примечание: некоторые браузеры, например Opera Mobile, скачивая сертификат, дают ему расширение html. Достаточно просто переименовать файл, заменив расширение на cer. Теперь для подписи sis- файла достаточно воспользоваться утилитой signsis, о которой рассказывалось в предыдущем разделе. И можно ставить sis на телефон. Срок действия сертификата DevCert - полгода. Обратите внимание, что срок действия начинается не с дня получения, а со следующего за ним дня. То есть, если программа была подписана свежеполученным сертификатом, - будет ошибка при установке, которая решается переводом времени в телефоне на один день вперед. Совсем недавно на symbiansigned.com появился новый сервис - подпись программ через WEB, на момент написания статьи - бета-версия. Сервис доступен, если зайти на сайт под своей учетной записью. Достаточно ввести свой IMEI, E-mail и путь к неподписанному файлу на компьютер или смартфоне - и на указанный E-mail будет прислан файл, подписанный DevCert'ом, сроком на 2 года. Распространённые ошибки При подписи файлов ошибки, как правило, не бывает, зато можем получить sis-файл, который при установке выдаёт ошибку. Первая ошибка - для проекта мы взяли UID из unprotected range (он начинается с 0 xE, как правило), но подписали его DevCert. Либо наоборот - UID из protected range (начинаются с цифры меньше 8), но подписали его сертификатом SelfSigned. Оба варианта дадут ошибку при установке. Убедитесь, что с этим всё правильно. В случае необходимости поменяйте UID. Вторая ошибка - вначале подписываем программу своим DevCert, а затем подписываем уже подписанный файл другим DevCert, например знакомому. Так тоже делать нельзя. Подписывать можно только одним сертификатом. Из неподписанного файла можно удалить старую подпись с помощью той же утилиты signsis. Для этого необходимо ввести такую команду : signsis -u <Подписанный_Sis_файл> <неподписанная_копия> Официальная подпись Автор этих строк ещё не подписал у Symbian ни одну из своих программ, поэтому процесс будет рассмотрен в общих чертах. Подробности можно узнать всё на том же сайте . Подпись файлов через Symbian Signed стоит денег в любом случае, даже если программа некоммерческая. Независимо от того, является ли программа коммерческой или бесплатной и какие капсы она использует, первым делом необходимо получить Publisher ID от компаний Verisign - 350$ в год или TrustCenter - примерно 200$ в год (к моменту написания статьи Verisign больше не упоминается, только сказано, что полученные у них сертификаты действительны). Обе эти компании требуют реальную информацию о получателе ID, так что будьте готовы предоставить нужные документы. Далее - необходимо убедиться, что программа отвечает критериям тестирования, документацию о критериях тестирования можно скачать по адресу . В принципе, критерии справедливы, им так или иначе должна отвечать любая программа - не оставлять на дисках большие файлы при деинсталляции, устанавливать файлы только в выбранную пользователем память и прочее. Если программа не прошла какой-то из тестов, деньги не возвращаются, а обратиться повторно с этой же программой можно только через полгода, так что перед отправкой нужно все тщательно проверить. Если программа коммерческая, в меню своей учётной записи на сайте нужно найти сведения о компаниях- тестерах и их условиях и выбрать наиболее для себя подходящее. Некоммерческие программы бесплатно тестирует Cellmania, отправить на тестирование бесплатную программу можно со своей учетной записи на сайте. Sis-файл и readme для коммерческой программы необходимо отправить выбранному тестеру. Отправлять для тестирования необходимо каждый релиз программы, будь то первая публичная версия или обновление, исправляющее пару косметических багов. Сам по себе сертификат бесплатен, оплачивается только тестирование программы - это чтобы не смущали фразы в тексте "стоимость тестирования". Информация на symbiansigned.com меняется довольно часто, поэтому перед подписью нужно обязательно проштудировать сайт. На момент написания статьи - расценки такие : - Подпись программы, которая использует белые капсы (как уже было сказано, для того, чтобы убрать неприятную надпись) - 20 $. Называется процедура Express Sign. - Подпись программы, использующей серые и белые капсы в разных компаниях: MphasiS BFL Limited (доступен только e-mail Symbian.Signed собака Mphasis.com) - 185 евро в первый раз и 160 при последующих обращениях; NSTL, Inc - 250 евро; Sogeti High Tech - 560 евро при первом обращении и 280 при повторных. И ещё... Советую обратить внимание на createsis.bat из SDK в уже знакомой папке Epoc32/Tools. Батник этот связывает между собой утилиты makesis, signsis и makekeys и позволяет создать и подписать sis-файл одной-единственной командой. Предлагается запустить в командной строке createsis.bat без параметров, что выдаст краткую справку, и разобраться самостоятельно. Для подписывании программ с помощью DevCert уже появилось множество специализированных программ, которые, как правило, представляют собой просто графический интерфейс для командной строки. Но особенно интересна программа SignSIS для S60 3rd, позволяющая подписывать программы прямо на телефоне. Весьма удобно для программ, скачанных из интернета. Что будет, если в программе, например, сразу задать все "белые" капсы, даже те, которые заведомо не нужны? Обычно программисты так и делают:). Есть одно "но". Об используемых программой капсах пишется на одном из диалогов при установке. Особо внимательный юзер, которому эти диалоги ещё не успели намозолить глаза, может удивиться: "Я ставлю калькулятор, а написано, что программа может подключаться к интернету, к блютусу... Хм.. А вдруг это вирус под видом калькулятора?" И глядишь - не будет ставить. Забыть про такого юзера или угодить ему - решать программисту.