• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    F_OFRProgramovani pro OSX (IDE Xcode, Cocoa, Objektive-C, AppleScript)
    QUITE
    QUITE --- ---
    Máte někdo SDK s podporou iPad? Resp. máte někdo placený program a jste ochotni nabídnout poslední betu SDK?
    MATESISKO
    MATESISKO --- ---
    zdravím, existuje nějaká možnost, jak z bundle identifikátoru dostat například název aplikace?
    zkouším to takto:

    NSBundle *appBundle = [NSBundle bundleWithIdentifier:@"com.apple.iTunes"];
    if (appBundle!=nil) {
    NSString *appName = [appBundle objectForInfoDictionaryKey:@"CFBundleName"];
    }

    ale nedostanu právě ten bundle handler, ze kterého bych dostal ostatní resources.
    díky
    QUITE
    QUITE --- ---
    PKB: http://toxicsoftware.com/aquaticprime-warning/

    ...+ vývoj AquaticPrime ustal v roce 2007
    NUCLID
    NUCLID --- ---
    MARECEK: Vlez si na iTunes U a dej si vyhledat "iPhone" nebo "Cocoa". Nemuzes nenajit.
    PKB
    PKB --- ---
    a kdyz uz jsme u toho.na prodej tech aplikaci je potreba zivnostnak? nebo to neresite?
    PKB
    PKB --- ---
    PKB
    PKB --- ---
    NUCLID: urcite jsem na to nasel nekde nejakej framework. Ale prave ted ho nemuzu vygooglit :(
    MARECEK
    MARECEK --- ---
    NUCLID: netusis podle ceho ten videocast najdu?
    NUCLID
    NUCLID --- ---
    Tak me napada, jak resite seriovy cisla a licence, kdyz pisete komercni soft? Kdyz se to pokousim hledat na netu, tak dostavam presne opacny odkazy nez potrebuju :)
    NUCLID
    NUCLID --- ---
    NUCLID
    NUCLID --- ---
    MARECEK: Mrkni na Amazon, maj toho dost. Ja jsem si koupil Cocoa Programming for Mac OS X. Autor: Hillegass

    Je dobra, pochopil jsem z toho spoustu veci. A prokladal jsem to videocastama z iTunesU z nejaky americky univerzity, kde se sice ucili programovat pro iPhone, ale vetsina je toho stejna.
    PKB
    PKB --- ---
    MARECEK: mrkni sem :QUITE:

    a snad jen nedoporucim knihy pana Cady. Pred tydnem jsem ji vratil do knihovny, protoze se to vubec neda cist. Sice tam informace jsou, ale je to psane takovym stylem, ze jsem z toho nepochopil vubec nic :(
    to jsou ty odkazy lepsi
    MARECEK
    MARECEK --- ---
    baj the wej poradite mi nejakou dobrou knizku (tistenou - mam kopce pdf ale nemam rad jejich cteni...) ze ktery se naucim cocou v xcode? konkretne s ni ani zadnym c-like jazykem nemam zkusenosti tak ze neco kde se to naucim od piky.... nezalezi jestli cz nebo en..
    MARECEK
    MARECEK --- ---
    QUITE: cg :-)
    MARECEK
    MARECEK --- ---
    MATESISKO
    MATESISKO --- ---
    QUITE: nakonec bylo potřeba ResourceKey NSURLEffectiveIconKey. Přesto díky
    QUITE
    QUITE --- ---
    Řešili jste někdy někdo CFBundleIconFile ve screensaveru? Všechno je nastaveno jak má ale screensaver má stále defaultní ikonu.. :/
    QUITE
    QUITE --- ---
    NUCLID: výsledné řešení: CFNetDiagnosticCreateWithURL
    Sice to taky vyžaduje URL ale je to aspoň "správnější" metoda. ,))

    MATESISKO: nepřišel jsem na to jak PrefPane a Screensaver debugovat lépe než s pomocí Console.. Ale pokud ti to ten název aplikace přiřadí ok, zkusil bych zatím nastavit nějakou ikonu na pevno jestli se provede aspoň to. A zkusil bych ověřit správnost řádku [url getResourceValue:&iconImage forKey:NSURLCustomIconKey error:NULL];
    MATESISKO
    MATESISKO --- ---
    přesně tohle jsem zkoušel. Raději blíže popíšu problém:
    Získam seznam všech aplikací takto:

    NSString *pathString = @"/Applications";
    NSURL *directoryURL = [[NSURL alloc] initFileURLWithPath:pathString isDirectory:YES];


    NSArray *keys = [NSArray arrayWithObjects:
    NSURLIsDirectoryKey, NSURLIsPackageKey, NSURLLocalizedNameKey, NSURLCustomIconKey, nil];

    NSDirectoryEnumerator *enumerator = [[NSFileManager defaultManager]
    enumeratorAtURL:directoryURL
    includingPropertiesForKeys:keys
    options:(NSDirectoryEnumerationSkipsPackageDescendants |
    NSDirectoryEnumerationSkipsHiddenFiles)
    errorHandler:^(NSURL *url, NSError *error) {
    return YES;
    }];

    potom v cyklu procházím enumerator a do PopUpButtonu přidávám itemy:

    NSString *localizedName = nil;
    [url getResourceValue:&localizedName forKey:NSURLLocalizedNameKey error:NULL];

    NSNumber *isPackage = nil;
    [url getResourceValue:&isPackage forKey:NSURLIsPackageKey error:NULL];


    if ([isPackage boolValue]) {
    [popupImageApp addItemWithTitle:localizedName];
    NSImage *iconImage = nil;
    [url getResourceValue:&iconImage forKey:NSURLCustomIconKey error:NULL];
    NSMenuItem *item = [popupImageApp itemWithTitle:localizedName];
    [item setImage:iconImage];


    Názvy aplikací se přidají korektně, akorát ty ikony ne. Protože se jedná o PreferencePane, nedá se to debugovat, takže ani nevím, jestli získám k jednotlivým aplikacím ikony. Jak se PreferencePane dá debugovat? Případně metodou kontrolních tisků? :) Díky
    Kliknutím sem můžete změnit nastavení reklam