Pull to refresh

Comments 87

Спасибо за статью. Все четко, доступно и в меру. Задумываюсь в последнее время о начале разработки под iOS, так как Android местами не радует:)
>Adobe Flash Pro CS5 поддерживает разработку под iPhone.
Это уже не работает, в плане того что Apple окончательно запретило публикацию таких приложений.

По Unity ценовая политика тоже указана неверно.
по Flash: буквально полтора месяца назад мы с нашим flash-разработчиком занимались этим вопросом и никаких препятствий не нашли. можно пруфлинк на запрет, если что-то изменилось за это время? — подкорректирую статью.

по Unity: store.unity3d.com/shop/

спасибо за замечания!
Статья не нужна. Часть инфы это копипаст документов от Apple, а остальная часть это устаревшая информация. Unity3d под iOS стоит от 400$.
Adobe AIR 2.6 позволяет паковать приложения под iOS 4.3+ и никаких ограничений нет. Apple, наоборот, разрешило использование такого подхода, внеся правки в какое-то там лицензионное соглашение, которое раньше это запрещало.
Сначала разрешило, а потом запретило совсем и это есть в текущих правилах публикации. Запрет был поставлен где-то около месяца назад если не ошибаюсь.
А потом снова разрешило — читайте новости чаще. Adobe не просто так выпустили AIR 2.6 с поддержкой компиляции под iOS.
Ну попробуйте сейчас опубликовать что-то на флеше, я на вас погляжу=)
Не вижу никаких проблем, в ближайшее время в AppStore появятся приложения, собранные с использованием AIR 2.6, как вы их будете отличать от нативных я не знаю.
Легко — по тормозам. А отличить их тем кто проверяет вообще раз плюнуть.
Когда у меня возникла задача отправить факсом заполненную формочку, я немного встал в ступор. Факс аппарата не было, факс-модем потерял и не имел информации о каких либо факс сервисах. После гугления решил попробовать вот это — www.myfax.com/free/ — через пару дней мой аккаунт успешно активировали.
А мы просто на мыло им все отослали, и так же все отлично прошло.
А на какой адрес слали?
devenroll@apple.com
Совсем недавно продляли, отослали туда же. Но нам надо было срочно убедится что все нормально продлится, позвонили на их номер поддержки в Ирландии и там девушка нашла мыло и сказала что переправит куда надо. Хотя и без этого наверно было бы все хорошо.
Скажите, а вы в какой форме мыло отправляли? Plain text или PDF вложение или еще что?
Каким образом им заполненную форму отправлять?
Спасибо.

P.S. А то по фрифаксу как-то стремновато светить неизвестно кому свои данные карточки и т.п.
Не безопасно ни разу.
Мы отправляли скан картинкой + в тексте письма рассказывали что факса у нас нет, и вот мол мы решили так и так.
спасибо за опыт:) добавлю в статью
Фантастика. Хорошо что не надо высылать саму программу на дискетах.
Про сдачу клиенту: полезно добавить, что можно не просто показывать приложение на своем устройстве, а передавать его заказчику, собрав под конкретно его устройство — для этого нужно знать UDID устройства заказчика. Всего можно до 100 устройств так охватить.
100 UDID на один ак на всю жизнь или 100 UDID в год на один ак? То есть после продления подписки список добавленных UDID обнуляется?
100 UDID на один аккаунт, можно добавлять/удалять в любой момент. После добавления UDID нужно обновить Provision Profile и пересобрать приложение под ним.
Насколько я помню, существует ограничение в 100 UDID на аккаунт в год. Исчерпав весь лимит за год, новых не добавишь.

Кроме того, приложения, добавленные таким образом, через некоторое время «протухают» — вроде как срок составляет 3 месяца.
действительно, из статьи это не очевидно, хотя должно быть:) сейчас добавлю. спасибо за замечание.
Спасибо за статью!
Возник вопрос, может подскажете: хотим опубликовать книгу для iPad. Надо ли для этого регистрироваться как разработчику, или там используется другой механизм?
Тоже озадачился вопросом публикации книги. Есть iBookstore, но для регистрации нужен номер налогоплательщика США. Получается, что нам туда доступ пока что закрыт
Спасибо за наводку. Сейчас изучаю правила получения EIN, кажется, что его можно получить и иностранным гражданам.
Нашел видеоинструкцию www.youtube.com/watch?v=8c9GXc8yVoA там вроде ничего не говорится о том, что надо быть резидентом. И вот некоторые ответы кажется это подтверждают www.createspace.com/en/community/thread/2842
Так что может быть и из РФ можно его получить. Правда кажется для этого все -же надо быть юрлицом( зарегистрирваться как ИП)
Но тогда получается — если продавать книгу то ИП должен иметь валютный счет и т. п. Стоит ли овчинка выделки?
Поиск рулит… оказалось что на хабре был уже соответствующий топик.

UPD 2: По поводу EIN стоит уточнить — Я с Украины, может быть это именно для Украины не требуется EIN. Просто не хочу вводить хабраюзеров в заблуждение. А получить его очень просто, не надо никуда слать факсы, проще всего это позвонить на известный номер в американскую налоговую, и в телефонном режиме получить его на 5 минут. Реально у меня так и было. В начале парился с факсами, а потом позвонил, и понял что даром форму заполнял. Хотя заполнить стоит, потому что вопросы оператор задает по ней. Заполнить только для того, чтобы была шпаргалка перед глазами.

Значит все существенно упрощается…
публикацией книг никогда не занимался, но в AppStore множество приложений-книг.
например — itunes.apple.com/ru/app/id391324103
То есть, по сути, вам можно будет просто создать приложение с контентом вашей книги. Для этого потребуется стандартная регистрация, как для любого другого приложения.
Этот вариант понятен. Спасибо. Чуть выше стало обсуждаться получение EIN для публикации в iBookstore, нужно ли его получать разработчику? Если да, то поделитесь опытом получения пожалуйста.
к сожалению, тут ничем не могу помочь — никогда не занимался подобными вопросами.
Вы пишете:
>при участии в Enterprise программе вы не можете, в отличие от обычной программы, выкладывать свои приложения в AppStore, зато можете разрабатывать in-house приложения — приложения, для внутреннего пользования каких-либо компаний, без открытого доступа.

Хотя, на сайте Apple явно написано:
> Distribute your proprietary, in-house iOS apps to employees or members of your organization.
Вы уверены, что вы не вводите людей в заблуждение?
UFO just landed and posted this here
да, верно — профайлы временные. решил не писать об этом, чтобы не перегружать статью непонятными терминами:) — про профайлы вообще, думаю, нужно отдельно написать, так как в начале, люди часто путаются что к чему, если внимательно не прочитают Program User Guide
UFO just landed and posted this here
ок, отметил, но без лишних непонятных новичкам терминов:) спасибо.
Распространять программу по Ad-Hoc не стоит, потому что этот режми предназначен только для тестирования, а не для распространения.
UFO just landed and posted this here
UFO just landed and posted this here
1. Кажется, Вы упустили очень важный момент для российских разработчиков: процесс получения денег. Поэтому перед тем, как писать под iOS с целью заработка, необходимо заранее увериться в том, что этот вопрос проблем не вызовет. Иначе можно потратить время впустую.
2. Для регистрации компании в iOS из официальных документов нужна только выписка из ЕГРЮЛ, ее перевод. Нотариус не нужен.
1. Да, тут возможны трудности, — буду рад, если поделитесь опытом, так как для себя пока выбрал последний вариант заработка — разработка приложений под заказ. Тут с получением денег все достаточно прозаично:)
2. Вы правы — сейчас достаточно только ЕГРЮЛ и копии. поправлю. спасибо.
У меня пока такого опыта нет (но должен скоро появиться), только теория и предположения. Поэтому было бы неплохо, если бы Вы в статье отметили этот неоднозначный момент. Возможно, кто-то действительно знающий расскажет особенности получения денег в РФ.
В частности, в рунете слабо освящен вопрос налогообложения организаций при работе с Apple.
ок, сейчас отмечу. возможно, кто-нибудь с положительным-отрицательным опытом оставит свои комментарии.
UFO just landed and posted this here
Его довольно просто получить, достаточно заполнить короткую анкету.
UFO just landed and posted this here
«Ах, как было бы хорошо», если бы отразили подробнее! Мы протра… сь 3.5 месяца, чтобы зарегать нашу контору. Вот ссылка на детальный пост о граблях и советах как на них не наступить.
Подскажите, пожалуйста, Apple подтверждает какими-то документами факт оплаты им 99 долларов?
да, высылают на почту документ «INVOICE RECEIPT» — такой же, как и при любой покупке в AppStore.
Как всегда чтоб похвалить objc упоминают какойто малопонятный «шарм». Вот только язык древний, неконсистентный, инструменты разработки банально отстойные.
На нем конечно можно писать, без проблем, сам пишу, но «шарма» в этом никакого нет.
это ведь все достаточно субъективно:) у меня лично такое отношение к Objective-С. а в каких-то языках я не вижу той прелести, о которой пишут другие.
Да нет. Это достаточно обьективно.
objc обьективно отстоен. Так как простые вещи на нем делаются через задницу.
objc может нравиться только если программист не писал никогда на более современных языках — C#, Java, AS3 etc.
не поверите, но на Objective-C я начал писать после трех лет программирования на C# (и сейчас продолжаю работать с .NET платформой). да, это очень разные языки. что говорить, C# — куда более мощный язык. тем не менее Objective-С мне нравится.
Чем???
Тем что не смотря на свой более низкий уровень (имею ввиду отсутствие байт кода — ближе к железу) он медленнее C#??
Тем что каждая конструкция получается в несколько раз длиннеееее?
Тем что нет рефакторинга?
Тем что в масив при инициализации на запихнеш nil?
Тем что нет дженериков, да хоть типизированых масивов ито нет?
Тем что иногда компилятор выдает абсолютно несуразные ероры? (Confused by earlier errors bailing out — единственный еррор в проекте — как такое понимать?)
Тем, что название каждого аргумента надо повторять: повторять 4:4 раза: раза?
Тем что для нормальной работы всеравно прийдется всеравно мешать objc c++ и c? Фактически одновременно писать на 3х языках с разными парадигмами.
Тем что, не говоря про аналог LINQ или е4х, в базовых библиотеках нет даже нормльного ХМЛ парсера?

Можно продолжить еще пару сотен пунктов. Но где в этом шарм?

я не сравниваю его с С#. что мне понравилось во время первого знакомства с Objective-C — это использование парадигмы Smalltalk. отличной от того, с чем я работал ранее. Не из-за того, что это как-то удобно или дает в чем-то выигрыш, симпатия больше эмоциональная, чем рациональная.
А почему не сравниваете? Я, например, сравниваю, и в сравнении с C# он во всем хуже и нивчем лучше.
Парадигма Smalltalk — это что? Динамический линкинг метода по имени? Это какбы очень много где есть и реализация в objc этого тоже довольно таки отстойная.

А эмоциональная привязаность к языку программирования — это извращение какоето. Язык — инструмент. Инструмент должен помогать работать. И должен делать это хорошо. objc делает это плохо.
сравниваете и до сих пор пишете на Objective-C — по какой причине?
UFO just landed and posted this here
Спасибо. Скоро — надеюсь в следующем месяце.
игрушка классная, атмосферная (да и название отличное — у меня нетбук зовут Petit Monstre:)). Но почему вы сейчас не переходите на monotouch? Думаю, не из-за денег. А из-за наработок и опыта. И задачи определенные вам сейчас, скорее всего, быстрее и проще решить на Objective-C. То есть для определенного класса задач Objective-C язык более уместный, чем C#.
Когда я начинал, все ненативные средства разработки были запрещены Apple. Тоже был не в большом восторге от Objective-C. Но выхода не было. Работу нужно было делать. А если свою работу не любить — то лучше ей не заниматься. Вот и полюбил:)
Да и всегда полезно «расшаривать грабли» (с) — изучение других языков в этом плане очень полезно.
На монотач перейду как только он будет готов. Брать сейчас и переписывать весь проект просто так — глупо.

Работу я люблю, но это не значит, что я должен любить objc.
Чтоб не спорить нипрочто — вы очень романтизируете objc, и тот кто прочитав статью будет на нем писать будет ждать какогото «шарма» итд.
А прагматичное мнение про objc — «это отстой, но писать можно».

ок. думаю, те, кто сильно заинтересуется, прочтут не только статью, но и комментарии к ней. и уже дальше будут думать своей головой.
UFO just landed and posted this here
Насчет именованных аргументов даже спорить нечего. В C# это named and OPTIONAL arguments. это синтаксический сахар который сокращает код. И можно метод с 5ю аргументами вызвать указав только один. В objc это вобще непонятно что, но код удлинняет порядочно.
XCode 4.1 стал лучше, но всеравно отстой.

ЫЫЫ? Чем не угодили нетипизированые массивы? Это понимать как шутку? Какбы обяснить попроще. Типизированые массивы позволяют избежать многих ошибок на этапе компиляции. Также как и всякая строгая типизация.

>зачем запихивать в массив nil? чтобы показать, что он пустой?
Еще одна шутка? пустой массив — массив без элементов. Массив с 1 элементом nil — это массив с одним элементом nil.
А массив с 5ю элементами 2 из которых nil — это масив с 3мя обьектами и двумя nil-ами.
И nil в objc в массив запихивать можно, без проблем, но не при инициализации. А почему?

Рефакторинг НИКАКОЙ. Это насмешка, а не рефакторинг. И для objc++ он просто отключен.

UFO just landed and posted this here
UFO just landed and posted this here
Это не вечный флейм. Есть задачи, которые лучше решать на нетипизированых языках, есть случаи когда типизированые лучше.
От только проблема — objc в обоих случаях проигрывает. А теже например, C# и AS3 используют обе парадигмы без проблем.

>Все же, зачем в массив класть nil?
Если честно вопрос очень глупый. Простенький пример — вывожу в таблицу числа из массива. первая строка должна быть 1, вторая 0, третья пустая, а 5я 4.
Вот этой пустой строке и отвечает nil.

Как мы сделаем такой массив в objc. Проинициализируем его 3мя елементами, потом запихнем nil, потом еще оин елемент.
И это не все — каждый елемент обернем в NSNumber. А зачем? А затем что в objc нет авто боксинга. айайай.

>а давайте-ка через void * все сделаем
бред какойто

> ближе идея о том, что все является объектами
а это тут при чем?

Чтоб закрыть эту дискуссию
NSMutableArray* array = [NSMutabbleArray arrayWithObjects:[NSNumber numberWithInt:1],[NSNumber numberWithInt:2], [NSNumber numberWithInt:3], nil];
[array addObject:nil];
[array addObject:[NSNumber numberWithInt:5]];

VS

int?[] numbers = new int?[5] {1, 2, 3, null, 5};

Разве после этого можно говорить, что objc не уебищный?
UFO just landed and posted this here
За NSNull спасибо, не знал. Костыль конечно, но лучше чем ничего.
NSNumber не от того, что оставили примитивные типы. Другим языкам это не мешает.

Вообще многие проблемы софта от того что пробуют скрестить ежа с ужом. И называют по умному legacy support.
Но они не перестают от этого быть проблемами.

допилят appCode — будет рефакторинг по полной программе:)
Отличное краткое саммари, открыл для себя даже что-то новое. Спасибо!
вам спасибо за фидбэк. приятно читать:)
Из личного опыта добавлю просто. Начинал с того, что абсолютно не знал специфику Маков. Но была конкретная задача (ТЗ, которое получил на собеседовании). Несколько дней разбирался с тем, что нужно, чтобы начать. В итоге, пришел к выводу, что намного целесообразнее поднять МакОсь на виртуальной машине. Заняло немало (относительно) времени. Затем первое внедрение в Objective-C было немного неуютным, но потом потихоньку разбирался. Зная только базово Java, для меня было весьма неудобно удалять все вручную, а еще эта «система делегатов»… В конце концов, написал приложение, но с использованием большого количества быдлокода и, в некоторых местах, полным непониманием того «что я делаю». И тем не менее, исходник с гордостью держу у себя на диске и даже не удаляю виртуальную машину, чтобы, в случае чего, показать потомкам :)
Советую: Не используйте Titanium. Сложного вы все равно ничего не напишете, а простое будет проще написать два раза.

Я работал с Titanium несколько месяцев, в разработке не очень большого приложения. Поначалу все было норм, но когда мы перешли к не совсем элементарным вещам, мы поняли что надо писать два приложения одно на Titanium для Андроида, а второе тоже на Titanium но для iOS. Для того что бы хоть что-то успеть к сроку мы в конце концов отказались от поддержки Android.
И получилось: 4 человека потратили больше 4х месяцев на разработку кросплатформенного не очень сложного приложения которое работало только на iOS. И работало не очень стабильно.
Не нашел в этой статье информации.
При регистрации в iOS Enterprise Developer Program есть ли ограничение по количеству устройств при распространению через Ad Hoc?
годы идут… видимо, убрали или изменили URL. если подскажете новый, подредактирую статью. быстрый поиск в google мне не помог.
Sign up to leave a comment.

Articles