• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ONDRAPiPod, iPhone, iPad Development
    ZVIRATKO
    ZVIRATKO --- ---
    LWEEK: jo to vypada pouzitelne

    ja ale nejsem developer, proto me zajima odhad jak slozity by to bylo realne napsat :) (budte pesimisti)
    ZVIRATKO
    ZVIRATKO --- ---
    LWEEK: uplne idealni by bylo napsat Tokend plugin, ktery by v pripade pritomnosti sparovaneho zarizeni naplnil dostupne certifikaty/keys do keychainu, v pripade pokusu o pouziti vyskocila na iOS zadost o TouchID (nevim jestli vubec na iOSu neco takoveho jde). Pripadne by se to odmeknulo na X hodin pro pouziti a fungovalo i po odpojeni...
    LWEEK
    LWEEK --- ---
    ZVIRATKO: Můžeš použít Wormhole. Používá to zabezpečený systémový messaging. https://github.com/mutualmobile/MMWormhole
    ZVIRATKO
    ZVIRATKO --- ---
    LWEEK: to pouziti SE je pomerne standardni, jediny co je nestandardni je ta proxy na MacOS pro konzumaci napr. SSHckem (i kdyz si predstavuju pouziti i napr. pro Mail.app - proste smartcarda). Snazil jsem se jako laik googlit jestli je nejaky framework na komunikaci MacOS x iOS (napriklad pres Cloud keychain) ale jak tomu nerozumim tak to nenajdu.
    LWEEK
    LWEEK --- ---
    ZVIRATKO: Největší problém vidím v tom samotném odemčení. Pochybuji, že by Apple nechal tyhle APIčka public. Zbytek dotazu mi přijde jako relativně v pohodě do-able.
    LWEEK
    LWEEK --- ---
    OUPA: didRotateFromInterfaceOrientation: je od iOS9 nebo 10 tuším deprecated. Teď to nahradilo
    willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator)
    a
    traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?)

    Nicméně to zkouším různě přes to a nic. Vysloveně tam je nějaký kix.
    ZVIRATKO
    ZVIRATKO --- ---
    Mam laicky a trochu naivni dotaz :-)

    Kolik prace by dalo vyrobit appku, ktera by fungovala jako ssh-agent k MacOS? Predstavuju si to tak, ze by klic byl ulozenej (nebo wrappovanej) v Secure Elementu, a ten klic by byl k dispozici pokud je telefon u pocitace (komunikace idealne pomoci BLE). V podstate bych chtel z iOS zarizeni udelat token. Vypada to, ze v Sierra uz je docela dost infrastruktury co by bylo potreba (napriklad pro unlock pomoci Apple Watch), a fyzicky tokeny v podstate taky jenom INSERTnou svoje klice do DB aby je keychain mohl pouzit.
    Tzn. nemusel by se psat asi ani ssh-agent pokud by se dal tenhle framework na to pouzit, pokud by se priblizilo zarizeni s klicem tak by se proste objevil transparentne v keychainu a (napr. po unlocku TouchID) by byl okamzite k pouziti.
    OUPA
    OUPA --- ---
    LWEEK: Asi bych se zameril na tu rotaci, tzn. nejdriv poradne odladit zvlast obe polohy. Detekce rotace pres zmenu bounds je pro me neznamy koncept, delal jsem to vzdy pres didRotateFromInterfaceOrientation (nove je to viewWillTransitionToSize - poskytuje coordinator, ktery ma completion block)
    LWEEK
    LWEEK --- ---
    OUPA: Pokusim se.

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    let numberOfItems = numberOfItemsThatFit(lines: 2, data: data, collectionWidth: collectionView.bounds.width)
    return numberOfItems
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    // standardni kod co vraci celly
    }

    a potom v UICollectionView forcuju reload, kdyz se zmeni bound.

    override var bounds: CGRect {
    didSet {
    self.reloadData()
    }
    }

    Zlastni je to chovani. Ze se zavola numberOfItemsInSection:, vrati spravnou hodnotu, ale cellForItemAt: se zavola jen tolikrat co byla puvodni hodnota, coz nedava vubec smysl. Protoze pri reloadu se prece vzdycky zavola numberOfItemsInSection: a az potom se servirujou celly? Leda by byl problem ze je ten UICollectionView zrovna v rotaci a animuje se.
    OUPA
    OUPA --- ---
    LWEEK: To by asi chtelo cely kod nebo pseudokod. S UICollectionView jsem si uzil dost, ale vzdy to byl nakonec muj problem nebo nepochopeni.
    LWEEK
    LWEEK --- ---
    Další divnost na kterou jsem narazil. Mám UICollectionView, při rotování se reloaduje. Respektive volá se:

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int

    A hned na to

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell

    Což je fajn, jenže v mé aplikaci zobrazuju vertikálně a horizontálně jiný počet Cellů. numberOfItemsInSection vrací správný počet, ale cellForItemAt se zavolá Xkrát podle staré hodnoty.

    Konkrétněji. Vertikálně zobrazuji 7 prvků. Když zrotuji, chci zobrazit 14 prvků. Counter se zavolá v pořádku, ale vykreslí se jen 7 cellů protože cellForItemAt se zavolá jen 7 krát. A při rotaci zpět to krašne.

    Narazil na tenhle divný problém někdo?

    GIOMIKY
    GIOMIKY --- ---
    Nic, za me koncim tema Fiverr.com to jisti. Diky moc!
    GIOMIKY
    GIOMIKY --- ---
    GIOMIKY: Jenom je to moc velkej traffic. A potrebuji to i na edge. :(
    GIOMIKY
    GIOMIKY --- ---
    TIGU: Neslo by to resit vlcstreamerem? Jenom nevim, co placnout na server... snad shoutcast nebo tak. Ja sem na mobilech uplne mimo. Poslednich 30 let jenom sedim u pocitace. Kdyby to slo streamovat do vlc, tak vlc uz mam a funguje i pri zamknuti...
    TIGU
    TIGU --- ---
    GIOMIKY: Systém bys nezničil :) Co se padání týče, Swift je méně padavý. Dále by to nečetla Siri, ale VoiceOver. Potřeboval bys na to nějaký background mode. Pravděpodobně typu Audio - šířit bys to moc nemohl, protože by to neprošlo s tímto background modem schválením. (Apps that play audio content in the background must play audible content and not silence.)
    GIOMIKY
    GIOMIKY --- ---
    TIGU: Jde o to, aby to z webserveru nacetlo html stranku, tu precetlo. A kdyz se stranka nacte diky meta tagu na reload, tak aby ji to precetlo znovu. A aby to cetlo i pri zamcenym telefonu. Tot vse. Nejakej rozpocet na to mam, ale je to jenom pro me a nehodlam to sirit dal.
    Nainstaloval sem si pred nejakou dobou xcode, ale jsem databazista a nejak jsem se s objectivec uplne nezkamaradil. Navic mi to furt padalo a zacinal jsem se tema pokusama bat, abych si neznicil os, eventuelne neco podobneho.
    TIGU
    TIGU --- ---
    GIOMIKY: Ptáš se vývojářů - nemyslím si, že by někdo něco takového měl. Jinak ta specifikace je dosti nejednoznačná.
    GIOMIKY
    GIOMIKY --- ---
    Ahoj, nemate nekdo aplikaci na ios, ktera by i pri zamknitym telefonu refreshla stranku a mechala ji precist Siri?
    MADBANANA
    MADBANANA --- ---
    Obcas se mi stane, ze me ajfon odhlasi od z aplikaci jako Facebook, WhatsApp, Slack atd. a mam podezreni, ze za to muze nejaka moje aktivita v Xcodu. Pripada mi, ze se to deje v casech, kdy si do telefonu nahraju nejakej novej projekt. Nenapada vas, cim to muze byt?
    LWEEK
    LWEEK --- ---
    Obnovuju otázku. Pořád se mi to nepovedlo vyřešit - ten problém s NSFetchedResultsController a UICollectionView. Nesetkal se s tím někdo? Že to občas náhodně zahlásí že se to snaží animovat dva prvky ze stejného Indexu apod? Totiž, narazil jsem na tohle: https://openradar.appspot.com/27957917

    Vypadá to, že NSFetchedResultsController začal posílat změny nějak jinak. V jiné logice updatů. Takže asi proto tam dochází k těm kolizím změn.

    Nj, jenže co s tím? Jediné co mě napadlo je prostě nepoužít NSFetchedResultsController k propagování změn, ale jen jako data source a prostě volat reloadData() při každém volání save() nad ManagedObjectContextem. Má to jednu nevýhodu, neanimuje se to, ale alespoň to nebude corruptit UIKit.
    Kliknutím sem můžete změnit nastavení reklam