
Евгений
24.12.2016
22:31:42
хм как-то не вспомню такие. а что ты расчитываешь там прочесть, как пишут код и коммитят его в терминале или гит клиенте?

A
24.12.2016
22:32:57
как не используют сториборды и не коммитят ксибы, когда их икскод сам апдейтит

Alexey
24.12.2016
22:33:59
так смотреть надо на изменения

Евгений
24.12.2016
22:34:15

Google

Alexey
24.12.2016
22:34:29
если икскод версию документа обновил или координаты на 0.5 поправил, можно и сбросить их

A
24.12.2016
22:34:45
ну так а я о чем

Булат
24.12.2016
22:35:58
да нет, со сторибордами проблем ни разу не было
но вот постоянно меняется .pbproj файл, например
и надо чтобы всегда там при мерже и те и те изменения были
с Cocoapods периодически проблемы
конфликты в смысле
ну и там типа постоянно менять code signing на свой после пулла с другой ветки

Евгений
24.12.2016
22:38:20

Булат
24.12.2016
22:38:48
так, уже что-то)

Евгений
24.12.2016
22:38:52
конфликтов нет. делаешь пулл и инсталлятся те поды, которые указаны в локе
а не лейтест

A
24.12.2016
22:39:04

Google

Евгений
24.12.2016
22:39:15
если деплоймент очень жаркий и юзается CI то можно прикрутить фастлейн
у них там есть фича с match
типа он сам генерит провижены нужные и раздает
подробней не расскажу — не я рулю билдмашиной
но с точки зрения участника проекта работает так: сливаешь проект, делаешь под инсталл, делаешь матч девеломпент и у тебя всё ок работает и нежелательные изменения не происходят

Булат
24.12.2016
22:43:20
то есть папка /Pods в гитигноре, а podfile и podfile.lock коммитсятся?

Евгений
24.12.2016
22:43:38
да
это позволяет не указывать строгие версии и рулить апдейтом подов кому-то одному

Булат
24.12.2016
22:46:30
ага, вижу
здорово
спасибо
нашел еще материальчиков по этому делу:
https://robots.thoughtbot.com/xcode-and-git-bridging-the-gap
https://github.com/github/gitignore/blob/master/Swift.gitignore

Евгений
24.12.2016
22:50:01
> @khabiroff
https://robots.thoughtbot.com/xcode-and-git-bridging-the-gap
это чет боян
с гитхаба поинтересней

Булат
24.12.2016
22:50:34
ну там зато кроме гитигнора фиксят проблему с .pbproj
что при мерже автоматически сохраняются изменения из обоих веток

Евгений
24.12.2016
22:51:25
с блекджеком и пбпрожами

Булат
24.12.2016
22:51:45
игнором там не обойтись

Google

Булат
24.12.2016
22:53:00
.pbproj - часть .xcodeproj, там хрянится какие файлы в каких группах лежат. Если два разных разраба что-то делают и оба добавили/удалили файлы из проекта, то будет конфликт в любом случае, а в игнор это добавить нельзя.

Евгений
24.12.2016
22:55:47
ну да, так будет
но он быстро резолвится же

Булат
24.12.2016
22:56:26
ну а там написано в статейке как сделать так, чтобы не резолвить каждый раз)

Евгений
24.12.2016
22:56:51
на крайняк, если лень резолвить, то можно принять ремоут версию и свои файлы добавить еще раз
потому что обычно не добавляешь за раз типа там 20 файлов которые лежат в разных местах

Булат
24.12.2016
22:57:11
на начальных этапах разработки сэкономит время немножко

Александр
24.12.2016
23:12:54
Пацаны, вечер в хату, раз уж зашла речь о бестпрактиках. Как правильно нужно логи приложухи вести чтоб потом смотреть исполнение? Причем не события чтоб по ним воронку переходов потэкранам строить, а логи именно функций. В firebase куданить пихать? Как я видел - делается какой нить класс аналитики, куда оборачиваются вызовы разных сервисов аналитических в функции, и потом методы его везде вызываются.
Может вопрос тупой но чувствую что есть пробел в знаниях))

Евгений
24.12.2016
23:14:45
сложно как-то.
в плане это тебе самому надо, типа ты это на досуге почитывать будешь и анализировать или аналитикам, которые втыкают в поведение юзера?

Александр
24.12.2016
23:14:56
для себя

Евгений
24.12.2016
23:15:15
а ты уверен что будешь разгребать потом эти логи?))

Александр
24.12.2016
23:15:23
а вот хз
потому и хочу узнать как правильно))))

Евгений
24.12.2016
23:15:35
крешлитики имхо достаточно
случился креш — получил лог, пофиксил
а куда там юзер пошел — не пох ли? )
всё равно поведение ты не поменяешь, тк не ты продакт оунер

Anton
25.12.2016
00:41:38
Платформа да та же
Так шо ничо он не унаследовал

Google

Anton
25.12.2016
01:00:24
Swift classes are Objective-C classes, even when they don't subclass NSObject. In that case, they subclass SwiftObject which is a new root class that conforms to the NSObject protocol
https://www.mikeash.com/pyblog/friday-qa-2014-07-18-exploring-swift-memory-layout.html

Антон
25.12.2016
01:11:47

Булат
25.12.2016
01:34:08
Кошмар
Ну и вопросы О_о
А можно ли в Xcode создавать свои темплейты приложений? Ну типа как при создании проекта "Single view application". Чтобы сразу например добавлялись заготовки какие-то свои

Bogdan
25.12.2016
03:15:10

Admin
ERROR: S client not available

Булат
25.12.2016
03:15:37
Здорово, спасибо!


Bogdan
25.12.2016
03:25:12
Подскажите пожалуйста статейку про лучшие практики работы Xcode + Git
Как тулзу использовать Xcode боль и унижения, я использую Tower, но подойдет и любой гит клиент. В гитигнор обязательно добавлять все, что не писали сами (generamba templates, pods, carthage builds etc). Сторибоарды и ксибы достаточно хорошо мерджатся, т.к. это по сути xml, хотя со сторибоардами я в большой команде не работал, так что мб там конфликты и есть. .pbxproj дело тонкое. С одной стороны, ты можешь добавить весь .xcodeproj в гитигнор и каждый разработчик будет настраивать его сам, а гит будет использоваться только для файлов проекта, этот вариант более легкий для мерджинга, т.к. мастеру не придется думать, что на что заменять, подходит, если команда большая, а мастер репозитория занимается только код-ревью. С другой стороны, если команда из 2-х\3-х людей, которые сами обрабатывают свои мердж реквесты, то проблем не возникнет, т.к. каждый знает, что он менял и как именно должен выглядеть его проект после изменений.
Хотя, вполне возможно, что решение исключить проект из гита, не самое лучшое, сейчас посмотрел в гитигнор аламофайр, так там все по дефолту и похоже легко мерджат проект. Сам лично сталкивался с тем, что в проекте было 8 человек, а реквесты обрабатывал только я, после первого геммороя с мерджингом проекта я просто исключил проект из репозитория и каждый разраб строил свой без особых проблем, в репозитории лежала только первая версия проекта с первоначальными настройками


Ilkhom
25.12.2016
06:11:11
что при мерже автоматически сохраняются изменения из обоих веток
я всегда так настраиваю проект, очень удобно, как там и написано всеравно в .pbproj пишутса файлы которые в проекте, добавленные/удаленные, лучше чтобы все эти изменения были у всех синхронизированы, ато получится так что у один будет видеть файл а другие в команде нет.
хкод + гит имхо в ранних стадиях подходит, но когда дело дойдет до более сложных манипуляций то без GUI не обойтись

Anton
25.12.2016
08:38:26
Надо её в постбилд шаг положить
Она выдаёт файлам в pbxproj айдишники получше - хеши от относительного пути к файлу

Anton
25.12.2016
12:36:10
Есть консольная программа tig - с ней поудобнее

Антон
25.12.2016
12:40:54
не сказал бы я что обычный. проходил много, такое спрашивают редко - скорее всего из разряда как вы читаете чужой говнокод и смиряетесь с тем что то тут то там мы срезали на поворотах, изза чего таких касяков у нас очень много

Google

Anton
25.12.2016
12:41:00
Для конфликтов можно opendiff использовать

Антон
25.12.2016
12:41:30

Anton
25.12.2016
12:41:53

Антон
25.12.2016
12:42:09
порог вхождения снизился
и подобные вырвиглазные практики уходят в прошлое

Anton
25.12.2016
12:42:42
Можно посмотреть вопросы у Рамблера на иос позицию - там все ещё хардкор

Антон
25.12.2016
12:42:57
у меня кореш там тимлидом работает)
а он совсем не хардкорный

Anton
25.12.2016
12:43:09
Хм
Ну может скрывает :)
Или я нагло вру и это был Яндекс :)
Сайт у Рамблере на Вайпере похоже
Чёрный экран и Активити индикатор крутится уже 20 секунд :)))))

Радость
25.12.2016
12:48:20
браво

Anton
25.12.2016
12:49:26
Ага вот, это Яндекс
https://yandex.ru/jobs/vacancies/dev/mobile_objc_dev/
Там ниже вопросы

Антон
25.12.2016
13:32:14
-1, имеющего тип int16_t
ffff