• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ONDRAPiPod, iPhone, iPad Development
    Let's send Apple to bottomless perdition, there to dwell.

    Vše o tomto ďábelském stroji. Objective-c, c++/c, Arm asm, NEON asm.
    Cocoa, OpenGL ES & Apple Extensions.

    "Veselé" historky z natáčení, aneb
    jak se to dá ještě udělat, aby nám to apple nezakázal.
    Privátní api a funkce, které bysme z něho chtěli.

    Grafici vítaní.

    Prosím lidi, co založili firmu, nebo se živí jako freelancer ať se podělí o své zkušenosti s ostatními.


    Aplikace v Appstore od lidí z nyxu:

    První vlaštovka:

    ALIJEN: aplikace Výplata -- http://itunes.apple.com/cz/app/id353881293?mt=8

    Posílejte odkazy na appstore do pošty nebo sem. Díky
    rozbalit záhlaví
    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?

    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.)
    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á.
    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.
    AAHHWISEGUY
    AAHHWISEGUY --- ---
    uz nejakou dobu se snazim najit funkcni komunikaci mezi linuxem a ipadem s cilem zvladnout synchronizovat obrazky a hudbu - bohuzel libimobiledevice mi moc nebezi - ipad s ios 10 se mi pripoji jako fotak a vidim jen fotky - kdyz updatuju na novejsi verzi libi z githubu, vidim nainstalovane aplikace, ale zas nevidim fotky...
    zkousim ted necloudove sdileni skrze resilio sync, ale zas dokazu jenom sdilet obrazky z kamery.... vedel by nekdo jak sdilet napriklad hudbu? uz mi dochazi napady...
    AILAS
    AILAS --- ---
    Má někdo zkušenosti s tímto https://developer.apple.com/programs/volume/b2b/ ?
    LWEEK
    LWEEK --- ---
    Zdravím, má tu někdo další problém s performBatchUpdate() UICollectionView v kombinaci s NSFetchedResultsController pod iOS 10?
    MATESISKO
    MATESISKO --- ---
    Ahoj, tak jsme dneska do AppStoru pustili novou verzi Followia. Dejte vedet, co si o tom myslite! Diky
    Followio - Product Hunt
    https://www.producthunt.com/tech/followio
    MATESISKO
    MATESISKO --- ---
    Ahoj,
    s kamosem delame na side projektu pro sledovani stavu followers na socialnich sitich. Ted mame pred vydanim nove verze. Mate chut to otestovat a dat nam feedback? Jestli jo, poslete mi to PM vase AppleID.
    TOPAS
    TOPAS --- ---
    Ahoj, jako hobby projekt děláme s kamarádem takový photo editor (https://itunes.apple.com/us/app/lumibee-fast-photo-editor/id1072221149?mt=8). Šlo to relativně ok, ale pak jsme změnili název a klíčová slova a imprese a page views App store hrozně spadly dolů. A od té doby se appka neprodává. A vůbec celkově se v tomhle hrozně plácáme. Nemáte s tím někdo zkušenosti (ASO, propagace a tak)? Díky moc.
    MATESISKO
    MATESISKO --- ---
    MADBANANA: Nemam s tim osobni zkusenost ale podle dokumentace by to melo byt trivialni:
    Transferring and Deleting Apps
    https://developer.apple.com/...ceptual/iTunesConnect_Guide/Chapters/TransferringAndDeletingApps.html
    MADBANANA
    MADBANANA --- ---
    Ahoj, potřebuji převést ajfoní appku na AppStore z jednoho Apple ID na druhé. Důvod je, že appka byla vedena pod firmou, která appku vyvíjela, ale teď klient chce mít appku pod svým účtem, ale nepřijít o linky na aplikaci, uživatele atd. Po rychlém gůglení jsem nabyl dojmu, že na to má Apple přímo nějaký proces, ale pokud jste to už někdo dělal, byl bych rád za report, jak to funguje :) Díky
    MATESISKO
    MATESISKO --- ---
    Tohle je dotaz spis sem: [ iPod + iTunes ]
    Jsi v programatorske diskuzi :)
    RABBIT
    RABBIT --- ---
    Ahoj, prosím o radu: dcera má ipod nano 7.generaci a chce nějak vyřešit reproduktory. U BT se bojí toho, že se rychle vybije baterie u ipodu. Existuje nějaké řešení externích repro, které by ideálně i dobíjely ipod? Nebo je cesta přes dock-in? Je vůbec nějaký?
    Díky předem
    MATESISKO
    MATESISKO --- ---
    LWEEK: No ja netvrdim, ze v Apple pracuji blbci, jen bych si troufl tvrdit, ze IB nepouzivaji :)

    Je to hrozne pomale, kdyz v tom pisu layout na iPad, tak se mi nevleze na celou obrazovku, a nekolikrat jsme se nemohli z konfliktu vymotat, nebo to naopak bez problemu proslo ale layout byl kompletne jiny. Tohle se u kodu nemuze stat.

    A stejne tak, jako se da prasit kod, da se i prasit Storyboard
    LWEEK
    LWEEK --- ---
    MATESISKO: No to já zas mám stejný pocit z UI napsaný v kodu. Totiž zkus si přijít k nějakému cizímu projektu který je napsaný čistě v kodu. A nedejbože ten člověk nepoužívá autolayout, takže si všechno počítá sám. To sem zažil a je to víc než peklo. Je to na to vzít, zahodit a napsat znovu. Dnešní Storyboardy se dají v pohodě verzovat. Dokonce občas když chci nějaký objekt změnit a nechci kvůli tomu přepisovat constrainty, tak si šáhnu do XMLka, upravím co potřebuju a Storyboard znovu natáhnu. Nemyslete si, že je Apple až tak blbý, že by si myslel, že na jedné apce pracuje jen jeden člověk.
    MATESISKO
    MATESISKO --- ---
    Minuly tyden jsem objevil ameriku (priznacne je, ze vyroci objeveni pripada na 12.10.) a zacal pouzivat fastlane.tools. Kdo neznate, vrele doporucuju a urcite bych to hodil na nastenku https://fastlane.tools
    MATESISKO
    MATESISKO --- ---
    Prisel jsem do projektu, ktery byl naklikany v jednom IB souboru. Museli jsme ho nejdrive rozdelit na nekolik mensich a ted to prepisujeme postupne do kodu. Clovek na IB potrebuje Mac Pro a dalsiho zamestnance, ktery bude resit jenom konflikty :D
    LWEEK
    LWEEK --- ---
    Tak Xcode a IB jsou v pohodě. Když si na to člověk zvykne, tak se tomu sem tam chyba dá odpustit. Ale těžko se odpouští když nefunguje správně autolayout v iOS. To je potom boj a je potom na investorovi jak moc je trpělivý a jaký ma budget. Celkově to ale potom vrhá špatné světlo na programátora, který za to ale nemůže.
    AILAS
    AILAS --- ---
    MATESISKO: Mne se chce brečet i bez appcode. :-)
    MATESISKO
    MATESISKO --- ---
    Kdyz to srovnam s AppCode, chce se mi az brecet :)
    AILAS
    AILAS --- ---
    On někdo používá IB? :-)
    TIGU
    TIGU --- ---
    LWEEK: Já zažil XCode v hodně nízkých verzích - ještě byl oddělený Interface designer. Občas to nešlo zkompilovat, restart XCode pomohl. Když jsi chtěl něco v Interface změnit a nechat si vygenerovat outlety, etc, tak to byl oser. Pak to sjednotili a jako supr - spousta chyb zmizela, ale spousta z nich vznikla. Strašně to leakovalo a dost to i padalo. Zhruba stejně jako Aperture - jen to nezpůsobovalo Kernel panic :P ano, je tam hafo chyb a hafo nedodělků - většina z nich zavedena refaktoringem, nebo tím, že na to nemají kapacity, ale opravdu to teď není nejhorší.
    LWEEK
    LWEEK --- ---
    TIGU: Chápu tvůj optimismus, ale nemáš pravdu. Aktuálně je tam chyb mnohem víc a jsou mnohem fundamentálnější. Hodně jich bylo zavlečeno s iOS 7. Chyby jsou například v autolayoutu, ale i v komponentách jako je třeba date picker. A druhá věc je, že se Apple nesnaží usnadnit práci, takže iOS do dnes nemá třeba autoparser z JSONu do datamodelu. Já vím, že na to existuje hromada komponent od třetích stran, ale třeba Android to má defaultně v sobě a hrozně moc to pomáhá streamlinovat komunikaci mezi API a apkama. Takže kdyby se Apple ráčil místo kravin implementovat základní funkcionalitu, bylo by to docela fajn (jenže to nevydělává peníze, na tom se reklama postavit nedá).
    TIGU
    TIGU --- ---
    LWEEK: Ty chby tam byly vždy - jen byla menší uživatelská základna a lidi se v tom míň rýpali. Každopádně stále lepší než konkurence ...
    LWEEK
    LWEEK --- ---
    DREEK: Ono to občas nefunguje. Restart Xcode pomůže. Popravdě v poslední době narážím v iOS a Xcode na takové množství chyb, že mám skoro chuť se na to vysrat a jít péct rohlíky. Apple by měl konečně vyčlenit nějakou workforce na opravu těhle problémů. Probůh je to nejbohatší firma na světě co se tváří jako největší luxus, tak by mohli konečně začít uklízet ty hovna co se jim válí po chodbách.
    DREEK
    DREEK --- ---
    Ahoj, mam mensi problem v Xcode 7.
    Do hlavniho view vlozim button a pretazenim buttonu do ViewControlleru vytvorim radek @IBOutlet weak var Button: UIButton!.
    Nalevo od cisla radku se zobrazuje maly puntik. V drivejsich verzi mi fungovalo, ze po najeti/kliknuti na ten maly puntik se oznacil prirazeny objekt ve view, v mem pripade by to mel byt ten button.
    Zda se, ze v Xcode 7 to nefunguje nebo to mam nekde vypnute. :(
    LWEEK
    LWEEK --- ---
    Tak se mi povedlo částečně vyřešit ten problém. Udělal sem to v podstatě jak navrhnul MATESISKO. Tedy celé sem to zabalil do view ve kterém to pozicuju. Ale mám ještě jiný problém ... právě s multitaskingem na iOS 9. Jde o to, že na iphonu zobrazuju ten detail jako PUSH obrazovku a na iPADU mám vlastní modal. Jenže bych potřeboval aby to byl adaptabilní. Aby v případě, že si uživatel apku zobrazí ve splitu se zobrazila stejně jako na iPhonu v navigation stacku. Apple do adaptability vložil hodně, ale zatím to vypadá že s tímhle případem nepočítali. Tak nevím jestli si napsat vlastní Seque který bude skrývat nebo zobrazovat navigační lištu a nějak zajistí to aby se newipeoutla předchozí obrazovka (aka černá vdova). Už mě z toho trochu teče mozek ven ušima. :)
    Kliknutím sem můžete změnit nastavení reklam