Istnieje kilka dobrych powodów, aby zbudować aplikację z wieloma wiązkami i kilka różnych sposobów, aby to zrobić. Do mojego doświadczenia wynika, że najlepszym sposobem jest otwarta Xcode i utworzyć nowy projekt zestawie:
- wybierz: File -> New Project ... -> Grupa Mac OSX -> Framework & Biblioteka -> Bundle (!). Dodaj pliki zasobów do projektu.
- Zbuduj pakiet podczas tworzenia innych aplikacji na iPhone'a.
- Możesz dodać ten projekt do swojego projektu biblioteki statycznej i przebudowywać go przez cały czas, gdy biblioteka jest zmieniana. Musisz wiedzieć, że sam pakiet nie będzie połączony z twoim plikiem bibliotecznym.
- W swoich projektach App Dodaj plik .bundle do projektu jako plik zasobów zwykłą (Add -> istniejące pliki ... -.> Znajdź i wybierz powyższy wbudowany plik .bundle Nie kopiuj go).
Przykład:
// Static library code:
#define MYBUNDLE_NAME @"MyResources.bundle"
#define MYBUNDLE_IDENTIFIER @"eu.oaktree-ce.MyResources"
#define MYBUNDLE_PATH [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent: MYBUNDLE_NAME]
#define MYBUNDLE [NSBundle bundleWithPath: MYBUNDLE_PATH]
// Get an image file from your "static library" bundle:
- (NSString *) getMyBundlePathFor: (NSString *) filename
{
NSBundle *libBundle = MYBUNDLE;
if(libBundle && filename){
return [[libBundle resourcePath] stringByAppendingPathComponent: filename];
}
return nil;
}
// .....
// Get an image file named info.png from the custom bundle
UIImage *imageFromMyBundle = [UIImage imageWithContentsOfFile: [self getMyBundlePathFor: @"info.png"] ];
Aby uzyskać więcej pomocy można sprawdzić te dobre artykuły
iOS Library With Resources
Resource Bundles
Mam nadzieję, że ci to pomoże.
Dziękuję za odpowiedź :) –
hmmm. Witamy Midhun :-) –
jedno: imageWithContentsOfFile jest słaba wydajność w przypadku lepiej jest używać imageNamed gdyż wykorzystuje buforowanie więc może być szybciej :) dodatkowo można osiągnąć ten sam rezultat z mniej kodu przez prosty: '[UIImage imageNamed [NSString stringWithFormat: @ "my.bundle /% @", imageName]]; 'i po prostu umieścić odpowiednią nazwę wiązki –