• Swift: Почему криво отображается ViewController?

    Makaveli
    @Makaveli
    Смотрите свой StoryBoard, там при выборе вашего segue есть выбор типа как показывать - слева направо или сверху-вниз.

    5cb0d19d61dd42ce9e0f142187ff6ee7.png

    Плюс, слева направо можно делать только если используется Navigation Controller.
    Ответ написан
    Комментировать
  • Может ли приложение загруженное в обход AppStore получить доступ к приложению Сбербанк Онлайн и чтению SMS, если аппарат без JB?

    Makaveli
    @Makaveli
    Jailbreak, как правило, предоставляет возможность получить доступ к файловой системе девайса. Но даже с Jailbreak нужно приложение засунуть на телефон в системные, иначе даже в этом случае оно будет работать в песочнице, за пределы которой выйти не сможет.

    Если Jailbreak на девайсе не сделан - то и доступа нет. Соответственно, скорее всего приложение работает как все несистемные в своей песочнице и не может получить доступ к данным другого приложения, в том числе, по-моему, и к SMS-сообщениям.

    Вы можете погуглить, в интернете можно найти путь где в системе лежит sqlite-база с SMS-сообщениями и попробовать получить к этому файлу доступ и обычного приложения. Если не удаётся - значит можно не бояться. А вот если на девайсе сделан Jailbreak, то даже само приложение Сбербанк Онлайн выдаёт об этом сообщение и блокирует большинство функций, в том числе и платежи с переводами.
    Ответ написан
    Комментировать
  • Сафари на ipad обрезает изображение. Что делать?

    Makaveli
    @Makaveli
    Если есть Mac под рукой то можно поставить Xcode, апустить iOS симулятор с девайсом iPad и в Safari инспектировать исходный код страницы прямо в десктопном Safari. Так поймёте - что перекрывает картинку, скорее всего она не обрезается а перекрывается каким-то блоком с белым фоном. Выделенный винспекторе блок также подсвечивается в симуляторе в браузере.

    e9af2e1f3e984e18aa8e33286b604b97.png4245561194fc458fa5ebc14c828f5970.png

    Кроме того, в десктопном Safari если нажать в меню Разработка -> Включить режим отзывчивого дизайна - то можно посмотреть как выглядит сайт на разных мобильных устройствах

    901052dbc7dd44cb8b4b80557990214b.png
    Ответ написан
    Комментировать
  • Как написать бэкэнд под задачу?

    Makaveli
    @Makaveli
    1. Тот, которым владеете лучше. Или тот, который вам сейчас интересен и на изучение которого у вас сейчас есть время.
    2. Да. Например, настраиваете задание в cron на нужные дни.
    3. Да, можно. Сделайте отдельно парсер, который будет в нужные моменты времени парсить и класть нужное в базу, и отдельно инструмент, который будет выводить данные из базы.
    Ответ написан
    Комментировать
  • Autoplay html5 video на ios и android?

    Makaveli
    @Makaveli
    На iOS никак, это ограничение системы для того, чтобы не сайтоделы не жрали батарейку без спроса. С Android, насколько я знаю, примерно то же самое. На Windows Phone в IE вот всё хорошо.
    Ответ написан
    Комментировать
  • Что такое вэб приложение?

    Makaveli
    @Makaveli
    Single Page Application
    Ответ написан
    Комментировать
  • Как правильно сделать редирект nginx?

    Makaveli
    @Makaveli
    А вы не замучаетесь для каждого товара прописывать url? должно же быть соответствие между цифрой id товара и его ЧПУ. Быть может, проще на серверной стороне в движке сайта написать несколько строк кода? Если зашли на goods/2 - получаем товар с id2, смотрим его url и делаем кодом 301-й редирект. Например, в PHP:
    header( 'Location: http://your.site/goods/' . $goodUrl, TRUE, 301 );
    Ответ написан
  • Как реализовать In-App покупки для разных логинов на одном устройстве?

    Makaveli
    @Makaveli
    Зачем динамический product id? Просто обрабатывая покупку - запоминайте её на своём сервере.

    Если у вас есть Логин или другой уникальный идентификатор пользователя, то вы по нему на сервере просто проверяете - был ли куплен довесок на этом аккаунте или нет. Если нет - отправляете запрос на покупку In-app purchase, по завершению которой запоминаете это на своём сервере. Таким образом люди не смогут перелогинившись получить ваш довесок.

    Также не забудьте про функцию восстановления покупки. Если человек залогинился и у него довеска не обнаружено - он должен нажать кнопку "восстановить покупку", после чего приложение смотрит на своём сервере - покупал ли он ранее эту покупку, плюс проверяет это ещё механизмами Apple.

    Насчёт покупки "второй раз купленного" - как раз у них есть 2 типа покупок внутренних, один из которых вы выбираете при добавлении её в iTunes Connect:

    a80af58119da4bb5b80561946236aef8.png

    Один из них - одноразовая покупка, другой - просто покупка. Подходит, например, для покупки внутриигровой валюты.
    Ответ написан
  • Как заменить нужные символы строке?

    Makaveli
    @Makaveli
    str_replace( array( '&', '%2F' ), array( '%26', '/' ), $youString );
    Ответ написан
    Комментировать
  • Как получить данные геопозиционирования от браузера?

    Makaveli
    @Makaveli
    Используйте Geolocation API браузера:
    htmlbook.ru/html5/geolocation

    Имейте ввиду, что ваше местоположение нормально определится только если вы по Wi-Fi подключены к сети. Если по LAN-проводу, то, как правило, определяется просто город. Те координаты выдадутся, которые вы бы получили введя в поиске просто название города.
    Ответ написан
    3 комментария
  • Как сделать связку элементов при помощи jquery?

    Makaveli
    @Makaveli
    Вот такой, например, простой вариант:

    [ div ] [ div ] [ div ] [ div ]
    <!-- дивы, по которым надо кликнуть -->
    <div data-id="div1" class="selector"></div>
    <div data-id="div2" class="selector"></div>
    ...
    <!-- див, в котором будет текст выводиться -->
    <div id="content"></div>
    
    <!-- скрытые дивы, в которых тексты, которые будут выводиться по клику -->
    <div style="display:none;" data-id="div1" class="infoText">Text 1</div>
    <div style="display:none;" data-id="div2" class="infoText">Text 2</div>


    и на jQuery

    $('.selector').click(function() {
      var id = $(this).data('id'); // получаем значение из атрибута data-id дива, на который кликнули
      var htmlToShow = $('div.infoText[data-id="' + id + '"]').html(); // получаем текст из скрытого дива с таким же data-id
      $('#content').html(htmlToShow); // профит
    });


    Вроде того
    Ответ написан
    Комментировать
  • Как организовать интернет видео трансляцию?

    Makaveli
    @Makaveli
    Недавно делали трансляцию через Google Hangouts. Собственно, ставится плагин для Hangouts и всё, в настройках просто выбираешь при старте вещания устройство для видео и устройство для аудио.

    Вебкамеру - можно попробовать любую, которая даёт HD-качество. Мы не стали заморачиваться и использовали просто камеру макбука Facetime HD. Качество не фонтан, но если выводить в трансляцию слайды, например, или делать демонстрацию экрана (что тоже есть из коробки в Hangouts), то вполне.

    По звуку - брали в аренту петличку (РАДИОПЕТЛИЧНЫЙ МИКРОФОН SENNHEISER EW100/112), вышло 500 р. в сутки.
    Плюс был второй микрофон проводной для вопросов из зала (кажется, вообще от караоке). Он был местный, но в аренду такие тоже можно взять.

    Петличка + микрофон втыкались в Zoom H4N (тоже можно взять в прокат). Это ручной многоканальный рекордер, но мы его использовали как пульт, т.к. он уже был в наличии и отлично справился с этим :) Выставляешь его в 4-канальный режим, оба микрофона втыкаешь в него, затем из дырки для наушников в нём миниджек-кабелем подключили просто в Line-In ноутбука и получили в трансляцию звук с 2 микрофонов.

    10 мегабит, теоретически, должно хватить, дальше нагрузку уже берёт на себя Youtube. Но лучше заранее проверить.
    Ответ написан
    Комментировать
  • Как установить более раннюю версию php на LinuxMint?

    Makaveli
    @Makaveli
    удалить текущую версию, скачать исходники предыдущей ветки 5.4 тут: ru2.php.net/downloads.php

    И поставить из исходников
    Ответ написан
  • linode.com — проблемы с производительностью

    Makaveli
    @Makaveli
    Посмотрите Longview графики сети/проца/диска, у них там всё довольно удобно мониторить:


    Плюс когда в будни сильно тормозит сайт — посмотрите загрузку вашего хоста в Dashboard:


    Если графики показывают большую активность — значит ваш сервер где-то тормозит и проседает.
    Если на графиках всё хорошо — то возможно Host загружен и тогда там должно быть написано во время тормоза не Idle а что-то другое.

    Вероятно, что другой виртуальный сервер на физической машине, где вы хоститесь, сжирает все ресурсы машины и вам не остаётся ничего :)
    Ответ написан
  • Публикация приложения в Apple App Store (OS X)?

    Makaveli
    @Makaveli
    «To distribute your apps on the Mac App Store, you’ll need to set up your accounts in iTunes Connect. „

    Нужно купить Mac Developer Program, стоит 99 долларов в год. Подробнее тут:
    developer.apple.com/programs/mac/
    Ответ написан
    Комментировать
  • Как сделать всплывающее изображение в xcode?

    Makaveli
    @Makaveli
    1. При запуске, например в первом ViewController, который у вас загружается при старте приложения первым, создаёте в коде UIImageView с вашей картинкой и показываете его. Сама картинка должна быть внутри проекта уже импортирована.
    2. Далее можно навесить touch-событие на картинку, по которому изображение убирается
    3. Запоминаете, что картинку уже показывали. Например в NSUserDefaults, и добаляете проверку на то, показывали ли вы это изображение в п.1
    Ответ написан
    Комментировать