4

iDeviceユーザーが何を持っているかを検出device nameし、UILabel. 次のコードを使用すると、アプリは iPhone/iPad/iPod I like to have iPhone 4/iPod 3G/iPad 1G... または正確な名前 (iPhone 3.1/iPod 2.0/ iPad 2.4) のみを検出します...

ここに私のコードがあります:

iDevice.text = [UIDevice currentDevice]. localizedModel;

私はこれを試しました

iDevice.text = [UIDevice currentDevice]. model;

でも路地裏には iPhone と書かれていて、私は iPhone 3.1 が好きです

4

1 に答える 1

2

わかりました。使用したい方法は、https://github.com/erica/uidevice-extension/にある Erica Sadun によって作成されたカテゴリを使用することです。

使い方を説明する前に、カテゴリについて少し説明します。Apple は、ここでカテゴリに関するドキュメントを提供していますhttp://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/chapters/occategories.html

クラスにメソッドを追加するには、メソッドをインターフェース ファイルでカテゴリ名で宣言し、実装ファイルで同じ名前で定義します。カテゴリ名は、メソッドが新しいクラスではなく、別の場所で宣言されたクラスへの追加であることを示しています。ただし、カテゴリを使用してインスタンス変数をクラスに追加することはできません。

github からプロジェクトをダウンロードし、次の 2 つのファイルをプロジェクトに追加します。

UIDevice-Hardware.h
UIDevice-Hardware.m

使用する方法は次のいずれかです。

- (NSString *) platform;
- (NSString *) hwmodel;
- (NSUInteger) platformType;
- (NSString *) platformString;

したがって、メソッドを使用するファイルに UIDevice-Hardware.h をインポートする必要があります。メソッドを使用して NSString 値を返し、その値をラベルに割り当てるので、次のようにします。

mylabel.text = [[UIDevice currentDevice] platformString]

カテゴリを紹介する別のリンクを次に示します: http://mobile.tutsplus.com/tutorials/iphone/objective-c-categories/

編集: デバイス シミュレーターを使用したサンプル スクリーンショット: 注:私の @interface 行の上にここに画像の説明を入力 もあります。#import "UIDevice-Hardware.h"

于 2012-10-23T11:20:01.063 に答える