Question

Mon testeur a dans iPhone 2G avec iOS 3.1.3. L'application se bloque sur son téléphone sur cette méthode:

- (void) viewDidLoad 
{
    [super viewDidLoad];

    [resumeGame.titleLabel setFont:[UIFont fontWithName:@"Old English Text MT" size:20.0]];
    [startNewGame.titleLabel setFont:[UIFont fontWithName:@"Old English Text MT" size:20.0]];
    [options.titleLabel setFont:[UIFont fontWithName:@"Old English Text MT" size:20.0]];   
}        

Et l'interface:

@interface PuzzleViewController : UIViewController 
{
    IBOutlet UIButton *resumeGame;
    IBOutlet UIButton *startNewGame;
    IBOutlet UIButton *options;
}

@property (nonatomic, retain) IBOutlet UIButton *resumeGame;
@property (nonatomic, retain) IBOutlet UIButton *startNewGame;
@property (nonatomic, retain) IBOutlet UIButton *options;

La police est copiée dans le dossier des ressources et la police "inflist" "fournie par application" est correctement définie.

Une idée de comment résoudre ce problème?

Était-ce utile?

La solution

Selon Documentation sur les clés UIKIT, les polices personnalisées sont devenues Disponible dans iOS 3.2. C'est probablement la raison pour laquelle votre code échoue sur iOS 3.1.3 (ou comme il a été rappelé dans la journée - iPhone OS 3.1.3).

Autres conseils

Tout d'abord, je voudrais vous dire que très peu utilisent l'iPhone 2G avec iOS 3.1.3. En fait, très peu utilisent tout ce qui est en dessous de iOS 4.0. Nous ne prenons généralement en charge rien en dessous de 4.0, sauf si le client l'exige explicitement. Si nous trouvons des bugs sur les versions inférieures d'iOS, nous supprimons simplement la prise en charge de cette version, car cela ne vaut pas le temps qu'il faut pour le réparer.

Si vous décidez toujours que vous voulez corriger ce bug, vous devrez fournir la trace de pile ou il sera très difficile pour nous de vous dire ce qui ne va pas.

ÉDITER: Tout comme Bartosz l'a souligné, vous utilisez une fonctionnalité qui n'est pas disponible dans iOS 3.1.3. Si vous avez besoin de polices personnalisées, vous ne pourrez rien prendre en charge en dessous de 3.2. iOS 3.2 est réservé à l'iPad, donc si votre application est uniquement iPhone, cela signifie que vous ne soutirez rien en dessous de 4.0. Comme je l'ai souligné dans ma réponse d'origine, la plupart des utilisateurs utilisent> = 4.0 de toute façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top