Πώς να πει εάν κωδικό σας λειτουργεί σε ένα iPhone ή ένα iPhone3G;

ψήφοι
22

Είμαι προσπαθεί να καθορίσει εάν κωδικός λειτουργεί με ένα iPhone ή ένα iPhone3G. Η πρώτη μου προσπάθεια ήταν να χρησιμοποιήσει την κλάση UIDevice στο UIKit, αλλά και οι δύο iPhone και iPhone3G επιστρέψει τις ίδιες απαντήσεις:

NSLog([[UIDevice currentDevice] name]); // Name of the phone as named by user
NSLog([[UIDevice currentDevice] uniqueIdentifier]); // A GUID like string
NSLog([[UIDevice currentDevice] systemName]); // iPhone OS 
NSLog([[UIDevice currentDevice] systemVersion]); // 2.2.1
NSLog([[UIDevice currentDevice] model]); // iPhone on both devices
NSLog([[UIDevice currentDevice] localizedModel]); // iPhone on both devices

Αυτοί είναι οι μόνες παράμετροι που UIDevice σας επιτρέπει να διερευνούν.

Κοίταξα λίγο στο πλαίσιο του Ιδρύματος, αλλά δεν έχουν ακόμη βρει τις κατάλληλες κλήσεις.

Είμαι βέβαιος ότι υπάρχει κάποιο κομμάτι του υλικού που θα μπορούσε ερώτημα (όπως κάτι σε υπηρεσίες εντοπισμού), αλλά αυτό φαίνεται σαν μια αμυχή. Ξέρει κανείς μια απλή τρόπο προσδιορισμού αυτό;

Δημοσιεύθηκε 27/03/2009 στις 01:01
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
21

Το iPhone τρέχει OS X. Εδώ είναι πώς να καθορίσει πλατφόρμα υλικού σας σε έναν επιτραπέζιο υπολογιστή Macintosh. Εδώ είναι το πώς σε ένα iPhone. Είναι το ίδιο ακριβώς πράγμα.

Με λίγα λόγια, sysctlbyname("hw.machine", str, sz, 0, 0)θα γράψει το όνομα της πλατφόρμας σε str. Αυτό συμβαίνει να είναι «iPhone1,1» ή «iPhone1,2» για το iPhone και iPhone 3G, αντίστοιχα.

Απαντήθηκε 27/03/2009 στις 02:19
πηγή χρήστη

ψήφοι
6

Δεν είμαι ένα iPhone developer, αλλά ο έλεγχος για την υποκείμενη πλατφόρμα αντί των δυνατοτήτων της πλατφόρμας είναι σχεδόν πάντα η λάθος επιλογή. Αν το iPhone κερδίζει τη λειτουργικότητα που χρειάζεστε, μπορείτε ακόμα θα αποτύχει να τρέξει. Υπάρχει επίσης μια πιθανότητα που θα κάνουν τη λάθος απόφαση για το επόμενο iPhone 4.0 (ή ό, τι λέγεται).

Απαντήθηκε 27/03/2009 στις 01:43
πηγή χρήστη

ψήφοι
0

Η εικασία μου είναι ότι δεν υπάρχει λειτουργικότητα για το iPhone που δεν είναι στο iPhon3G ότι το λογισμικό σας ασχολείται με. Η πρότασή μου είναι το ερώτημα σχετικά με το συγκεκριμένο υλικό αντί να αλλάξει τη συμπεριφορά του λογισμικού που βασίζεται στην πλατφόρμα.

Για παράδειγμα. αντί του ελέγχου για την ύπαρξη της GPS ζητώντας είναι αυτό το iPhone ή iPhone3G ερώτημα σχετικά με τη διαθεσιμότητα του GPS και να πάει από εκεί. Με αυτόν τον τρόπο κωδικός σας θα λειτουργήσει σε οποιαδήποτε πλατφόρμα (iphone / ipod touch / iphone 3G)

Απαντήθηκε 27/03/2009 στις 01:49
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more