Stas
но там flow другой
Stas
распростронение внутри организации. с любого ios можно перейти на специальный линк, который, кажется должен отдавать специальный .plist, далее юзер нажимает "доверяю разработчику" и устанавливает.
Stas
без ревью и смс
Demuz
Почему то у меня у текстового инпута, при смене цвета шрифта в реальном времени value и обнуляется. Кто-нибудь сталкивался? Есть ли решение данной проблемы? Запоминать слово и потом подставлять после смены цента - не вариант.
Demuz
Подскажите, насколько сложно реализовать "увеличиваемый" график на RN?
Maksim
Alexsandr
Demuz
Alexsandr
Но есть тутор как подключить ее к рн
Demuz
Артём
Всем привет, как сделать такой компонент, который загружает фотки и позволяет их удалять?
Nick
из PanResponder получаешь координаты и передаешь их в zoomIdentity.scale, zoomIdentity.translate, zoomIdentity.rescaleX и т.д.
Demuz
Артём
Gena
Ни у кого нет вариантов?
Есть... но я не понимаю вашу проблему... и никто, скорей всего, не понимает... вот вы поконкретней можете сказать, что именно вам не понятно как сделать? Я тогда могу дать ссылки на нужные доки, кто-то может подскажет уже готовые решения или модули которые могут помочь...
Артём
Gena
Nick
Andrei
Gena
Andrei
Nick
Gena
Они же локально на телефоне
Вы сами так задачу описали... вам не нужно хранить временно картинки... они уже хранятся... вам их только надо показывать. Потом загрузить на сервер. Потом показывать уже с сервера )))
Andrei
Gena
неа твоя рекомендованная либа тоже не грузит картинку =) вот ссылка : http://www.x-bikers.ru/board/cache/266589_1.jpg
если будет время попробуй сам плз, чтоб я знал где проблема в либе или у меня )
Посмотрел. Всё грузит. Загрузка работает, декодер работает.
Вы логи не читали, а ведь там явно написано что не так:
2018-08-18 16:18:20.388792+0300 SampleApp[10725:7258926] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
2018-08-18 16:18:20.390265+0300 SampleApp[10725:7258926] Cannot start load of Task <A42C463A-4CB0-4448-9F42-1CFEC85B2106>.<1> since it does not conform to ATS policy
2018-08-18 16:18:20.390537+0300 SampleApp[10725:7258944] Task <A42C463A-4CB0-4448-9F42-1CFEC85B2106>.<1> finished with error - code: -1022
После добавления вот такого в Info.plist, у меня ваша картинка чудесно отобразилась.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
...
<key>www.x-bikers.ru</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
Но имейте ввиду, что это "хак"... и надо просто сделать https на сервере.
GrafMine
понял-принял, спасибо большое 💪👍🤝
Alexander
Как можно определить в файле, react native или web?
Gena
Как можно определить в файле, react native или web?
Config.web.js
export default { type: 'web' }
Config.ios.js
export default { type: 'ios' }
etc...
SomeComponent.js
import config from './Config'
if (config.type === 'web') {
console.log('this is web')
} else {
console.log('this is probably mobile')
}
И ещё около десятка разных способов... но лучше DI использовать
Gena
(а телеграм принципиально не умеет текст форматировать?)
Alexander
Gena
Просто если вы сейчас найдете способ и захардкодите это... потом придется обновляться для поддержки какого нибудь react-native-desktop, react-native-refrigerator и что там ещё может появиться... А если позволите конфигурить это извне, есть шанс, что пользователи смогут это адаптировать без модификации библиотеки
Gena
Gena
Мне казалось, что react-native-vector-icons такой метод используют, но сейчас не вижу там такого... ща найду что нибудь
Alexander
Alexander
Хотя не, жёсткий костыль
Gena
Хотя не, жёсткий костыль
И он не сработает... т.к. импорт статический... можно только попытаться (как всякие полифилы работают) проверять глобальное окружение... вроде в RN есть global.navigator и там что-то про него написано
Gena
Но это шаткое решение довольно...
Alexander
Gena
Просто в компании потребовалось делать приложение как для натива, так и для веба. Моя идея была такова. Мы делаем одно приложение. Вся логика независима от платформы. Платформа влияет только на отрисовку. Поэтому, допустим, есть HTTPService и один один для всего проекта. Там мне требуется использовать Storage. Раньше у меня была папка с двумя точками входа. А сейчас, если собирать бандл, то такое не сработает. Поэтому, скорей всего, мне придётся не собирать либу в бандл и тогда смогу реализовать через разные точки входа
Вот конкретно такую же задачу мы решали уже (правда в разрезе тестирования, а не веба), т.е. нужен был набор модулей, которые работают и под node и под RN.
Решали через DI... т.е. был модуль с логикой, который экспортил основной класс, которому в конструктор передавался объект с нужным интерфейсом, типа (typescript):
interface IStorage {
read(): Promise<IAppData>
save(data: IAppData): Promise<void>
}
В RN приложении был класс реализующий этот интерфейс с помощью AsyncStorage, а в консольном приложении был класс, который это через fs делал.
Gena
Это может начать выглядеть очень криво, если таких "внешних" зависимостей станет много... но в разрезе RN/web, я их много не вижу... т.е. даже UI туда если впихнуть, получится:
- storage
- network (возможно)
- ui factory... штука, которая может плодить компоненты нужных типов для веба DOM, для RN View
- что-то ещё внешнее может прицепиться... тогда я бы это оформлял в виде класса Environment, который уже содержал бы нужные зависимости...
Gena
Но это всё подходит для одного приложения... если писать отдельную либу для широкого использования, то это будет скорей всего очень сложно... тогда разные точки входа
Gena
Кто Android SDK знает хорошо? Задача, получить размеры окна (Window), именно окна, не экрана. Получить изнутри View, который, для простоты, уже приаттачен к этому окну.
Желательно быстро, т.е. без RPC c WindowManager.
Миша
source={{ uri: '...' }}
Stas
Stas
обычно достаточно дождаться onLayout у rootView
Gena
обычно достаточно дождаться onLayout у rootView
Это реализация SafeArea для андроид. Там отступы для системных UI, приходят в системе координат окна. А в общем случае сложно расчитывать что rootView (что нативный, что реактовский) будет занимать всё окно целиком... это лэйаут решает... т.е. он может быть меньше...
Gena
Но если не получится по простому, то два варианта, между которыми выбрать не могу...
- размеры окна можно получить пообщавшись в WindowManager, это медленно, но верно ))
- можно сказать пользователям библиотеки - "ничего не знаю, делайте так, чтоб ваш root view занимал всё окно целиком, мы от него отсупы безопасные определяем..."
Stas
Stas
https://t.me/android_ru мне кажется тут быстрее можно получить ответ, как правильно
Gena
Stas
https://developer.android.com/about/versions/pie/android-9.0#cutout хз, может поможет
Peter
Ребят, у когонибудь была проблема при компиляции под андроид: Execution failed for task ':app:processReleaseResources'.
Peter
при ./gradlew assembleRelease
Peter
Execution failed for task ':app:processReleaseResources'.
> Failed to execute aapt
Peter
гуглю, ничего не помогает
Gena
Да... была... это может быть очень разное... надо логи билда смотреть (не помню, как-то подробные должны включаться)
Gena
Там за таском assembleRelease вся сборка целиком, в том числе бандлинг... так что ошибка где-угодно может быть
Peter
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Peter
с каким флагом запускать?
Stas
Gena
А... "Failed to execute aapt" не заметил... это сужает область поиска
Peter
отключал в gradle.properties
Peter
android.enableAapt2=false
Миша
попробуй background-color указать
Peter
https://gist.github.com/fear48/6bb7461060c0ff289cb1ee5827fc9372