• ú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í
    ROTTWEILER
    ROTTWEILER --- ---
    REDGUY: viz. dokumentace

    From a practical perspective, in iOS and OS X outlets should be defined as declared properties. Outlets should generally be weak, except for those from File’s Owner to top-level objects in a nib file (or, in iOS, a storyboard scene) which should be strong. Outlets that you create will therefore typically be weak by default, because:

    Outlets that you create to, for example, subviews of a view controller’s view or a window controller’s window, are arbitrary references between objects that do not imply ownership.

    The strong outlets are frequently specified by framework classes (for example, UIViewController’s view outlet, or NSWindowController’s window outlet).
    @property (weak) IBOutlet MyView *viewContainerSubview;
    @property (strong) IBOutlet MyOtherClass *topLevelObject;
    
    https://developer.apple.com/...ary/ios/#documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html#//apple_ref/doc/uid/10000051i-CH4-SW6

    TL;DR Top level je ten objekt, který je úplně nejvýš v celé hiearchii. např. v NIB souboru je to úplně ten první view, pod kterým jsou všechny. Většinou si ho jako strong bude držet controller v property view. viz. definice v UIViewController
    @property(nonatomic,retain) UIView *view;
    REDGUY
    REDGUY --- ---
    ROTTWEILER: Diky, to vypada skvele. Jen jednu vec tam nejak nechapu:

    * IBOutlets should be weak except for top-level IBOutlets, which should be strong.

    Co mysli tim "top-level"? Resp. jakej IBOutlet je ne-top-level?
    ROTTWEILER
    ROTTWEILER --- ---
    REDGUY: Má to své specifika, na které si chce dát pozor. Koukni na http://amattn.com/2011/12/07/arc_best_practices.html
    MATESISKO
    MATESISKO --- ---
    REDGUY: Rozhodne doporucuju! Nechci uz psat jinak, neskutecne to zrychli vyvoj a odstrani spoustu crashu, takze to za to stoji.
    AILAS
    AILAS --- ---
    AILAS: Už jsem to našel. Přidal jsem obrázky, které mají velikost v buildu pro simulátor poloviční (díky optimalizacím pro device) a omylem jsem je přidal 2x. Nevěřil jsem vlastním očím že to udělá 15MB na devicu.
    Pěkně je to vidět když jsem diffnul jejich velikosti. Například:
    device:
    436K splashScreen.png
    1.6M splashScreen@2x.png
    2.3M splashScreenIpad.png
    9.2M splashScreenIpad@2x.png
    simulator:
    292K splashScreen.png
    984K splashScreen@2x.png
    1.4M splashScreenIpad.png
    4.9M splashScreenIpad@2x.png
    AILAS
    AILAS --- ---
    Otevřel jsem jeden starší projekt (psán v té době už pro iOS 5) a ač měla dříve aplikace po zbuildování na store 3 MB, teď má 15 MB! Architekturu mám nastavenou pouze na armv7.
    Nic tak velkého jsem tam nepřidával, kromě 2 frameworků EventKit a EventKitUI. Ale nezdá se mi, že by dělali 12 MB navíc. (Předtím jich tam již bylo kromě standardních asi 6 navíc)
    Nevšiml si toho někdo, nevíte čím to?
    Bylo to psáno v Xcode 4 nějaké první verzi. Nedaří se mi to dostat na nějakou rozumnou úroveň, přece jen rozdíl 3MB vs 15 je dost.
    AILAS
    AILAS --- ---
    Dá se samozřejmě z ne-ARC kódu udělat i statická knihovna která se přilinkuje atd..
    AILAS
    AILAS --- ---
    AILAS: Jo jinak co může být trochu opruz, že spoustu věcí na to není připravené, takže stojí trochu času si s tím pohrát (externí kód).
    Ale v poslední veřejné verzi Xcode jsou vychytávky, že to co nechceš ARC tak označíš a Xcode to doplní sám -fno-obj-arc, nebo tam máš takový rádoby migrační wizard na ARC. Zkus a klidně se poděl :-)
    AILAS
    AILAS --- ---
    REDGUY: Zatím je to v pohodě. Ale je to takovej divnej pocit s tím. Nějak mám pořád špatný svědomí při psaní, ale zkouším si na to zvyknout. Věřím že to nedojebali a analýza taky nic nehlásí.
    Ale pořád se bojím že mi to ten release šoupne někam špatně to jo :-)

    Spíš to jde hodně pocitově proti tomu co má člověk zažité: něco sis naalokoval - tak si to taky dealokuj!
    REDGUY
    REDGUY --- ---
    Jaky mate zkusenosti s ARCem? Funguje to skutecne takovym kouzlem jak rika propaganda, tj. zhruba receno prestanu psat retain & spol. a ono to funguje? Rozbil jste si na tom nekdo drzku? Jak?
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    AFAIK ne, musi to dostat jiny nazev
    EDMAN_DORT
    EDMAN_DORT --- ---
    SKUTEKKUTEKK: Nevím jistě, ale tipnul bych, že ne. Apple mi nedovolil mít 2 aplikace stejného názvu jedna pro iPhone druhá pro iPad.
    SKUTEKKUTEKK
    SKUTEKKUTEKK --- ---
    Jak to je s názvy aplikací v App Store ? Můžou existovat dvě různé aplikace se stejným jménem ?
    TIGU
    TIGU --- ---
    AILAS: Taky že ano :) Pro někoho to může být dlouho - čas je očividně relativní.
    AILAS
    AILAS --- ---
    ROTTWEILER: Já myslel že to tam přidali až v Lionu.
    ROTTWEILER
    ROTTWEILER --- ---
    AILAS: Proč? V Mac OS X je Network Link Conditioner taky a tam už je dlouho na rozdíl od iOS 6.
    AILAS
    AILAS --- ---
    SIRLOON: Tak na iOS 6 si můžeš vytvořit různé profily s různou kvalitou sítě a jen je za běhu přepínat.
    Dobré je i to, že tam jde simulovat packet loss.
    SIRLOON
    SIRLOON --- ---
    AILAS: jj, ja jako tester ios aplikaci to dost vyuzivam
    AILAS
    AILAS --- ---
    LWEEK: Já jsem to dělal tak, že jsem měl na MAC OS X script a pomocí ipfw jsem nastavoval rychlost sítě. Ale nebylo to ideální. Když jsem při tom něco hledal na netu, nadával jsem, jak je to UPC dneska pomalé než mi to došlo :-)
    LWEEK
    LWEEK --- ---
    AILAS: Nevšiml, fajné. To se teď bude hodit. Možná konečně do vánoc vypustím do AppStoru první komerční apku, která je zrovna hodně závislá na datech. :-)
    AILAS
    AILAS --- ---
    Nevím jestli jste si toho všimli ale já tedy až teď. Tohle developer menu v iOS 6 má cenu zlata.



    Kliknutím sem můžete změnit nastavení reklam