Αν βαριέται κάποιος να διαβάσει μπορεί να πάει κατευθείαν στην τελευταία πρόταση.
Όπως προείπατε, η στανταρ μεταβλητή στο Unix time_t αποτελεί έναν signed integer (σε αρκετα συστήματα και στο ios) οπότε αυτό αν το μεταφράσεις σε 32bit signed integer δεχεται τιμές από −2,147,483,648 έως 2,147,483,647 το οποίο σε χρόνο στην δικιά μας ζώνη μεταφράζεται από την αρχή του Unix (0,000,000,000) Πέμπτη 1 Ιανουαρίου 1970 έως 19-1-2038 και συγκεκριμένα στις 05:14':07". Υπάρχουν μερικά σπάνια συστήματα που χρησιμοποιούν unsigned integer που δέχεται μόνο θετικές μεταβλητές από 0 έως 4,294,967,295 αλλά αυτό είναι άλλο θέμα και θα ρωτήσει κανείς γιατί δεν εφαρμόζεται και αλλού αφού δίνει έξτρα χρόνια για το 2038 (το θέμα είναι απλό λόγω ασυμβατότητας με πάμπολες βάσεις δεδομένων και πάει λέγοντας που έχουν αποθηκευμένα δεδομένα με ημερομηνίες πριν το 1970)
Τώρα στα 64 bit συστήματα αντί για 32 bit signed integers έχουμε 64 bit όπως καταλάβατε το οποίο δίνει 292 περιπου δις χρόνια (ούτε η γη δε θα ζει τοτε). Τωρα το γιατί συμβαίνει αυτό το bug στο ios δεν μπορώ να πω με σιγουριά μιας και σε άλλα συστήματα(unix-based) δεν συμβαίνει αλλα θα υποθέσω ότι αν η μεταβλητή αυτή πάρει αρνητική τιμή που διαφέρει για κάποιες ώρες, ανάλογα με το σε ποιά ζώνη βρίσκεται ο καθένας, δημιουργείται το συγκεκριμένο φαινόμενο οπότε για την μετατροπή του σε κανονική ημερομηνία προκύπτει κάποια πράξη με αρνητικό αποτέλεσμα λόγω της διαίρεσης που οδηγεί σε μη υπαρκτή ημερομηνία και μπαίνει σε λουπα.
Εν κατακλείδι η πατάτα είναι της apple.
Φίλε μ οπως τ λες ειναι αλλα σ επισημανω πως μπορει το λειτουργικο να ναι σε 64-bit ομως δεν περιορίζει τπτα να ναι η ημ/μηνια σε 32bit, οπως προανέφερα το GTA V, ειν 64bit παιχνίδι ομως τα λεφτα του παιχνιδιου μετριούνται σε 32bit (υπαρχει σχετικο βιντεο, ψαξτο) και μολις φτασεις αυτο το οριο σε λεφτα και πας να αγορασεις κατι τα λεφτα δεν μειώνονται κολλάνε η και μηδενίζονται σε άλλους και το παιχνιδι γίνεται unstable και θελει kill, μην πας μακρυα νμζω κ τα windows 32bit ημ/μηνια εχουν. Συμβαινει και σε 4ς π ειν 32bit να σε καλυψω επισης αλλα διαφορετικο και γ αλλους λογους οπως ανεφερε ενας φιλος. Ακομη αυτο π ειπες με το αρνητικο ναι ισχύει. Εμεις ειμαστε στο GMT +2, αν υποθεσουμε πως το 32bit ξεκιναει απο το GMT τοτε θα χουν θεμα τα αρνητικα εξου και η αμερικη (GMT-8,-7,-6). Σωστο θα ταν να ξεκιναει απ το -12 και να τελειωνει καθε time zone με διαφορα +1bit=1δευτερολέπτο αλλα δν υπήρξε πρόβλεψη.
Όταν βγάλεις και ξαναβάλεις την μπαταρία σε οποιοδήποτε iPhone η ημερομηνία πάει αυτόματα 1/1/1970 δεν έχω δει ΠΟΤΕ κανένα να brickarei 32bit ή 64bit.
Το ίδιο συμβαίνει όταν η μπαταρία πνέει τα λοίσθια οπότε και διακόπτει το ρεύμα προς το κινητό randomly.
Το μόνο bug που έχω συναντήσει όταν συμβαίνουν τα παραπάνω είναι ότι πάνω δεξιά γράφει "αναζήτηση..." και συνήθως δεν πιάνει σήμα μέχρι να συγχρονιστεί η σωστή ώρα.
Δεν έχω δοκιμάσει ποτέ να βάλω την ημερομηνία 1/1/1970 χειροκίνητα (το οποίο είναι και σχετικά δύσκολο μια κ μετά το IOS 6 δεν μπορείς να ρυθμίσεις το έτος απευθείας) αλλά φαντάζομαι πως το αποτέλεσμα θα είναι το ίδιο.
Είσαι απόλυτα σωστός και κανεις δν μ απαντησε αυτο το ερωτημα. Εχω ανοιξει απειρες φορές το 4ς μου για οθονη και για lighting mod (φωτιζομενο μήλο, αλλη φαση χαχα,) και γυρισε 1-1-1970 (μαλιστα την πρωτη φορα δν τ θυμομουν και το θυμηθηκα οταν δεν εβρισκε σημα π παλι εχεις δικιο!) η μονη λογικη υποθεση π μπορω να κανω εφοσον αυτα ισχυουν, ειν πως με την μπαταρια-αφαιρεση ο integer παει στο 0 και οχι σε καποια αρνητικη τιμή οπως το "αναγκαζουν" με ρυθμιση ημ/μενιας σε gmt αρνητικη αρα το κανουν force και τον integer σε αρνητικη , εξου και μερικοι π αναφερουν πως μετα απο καποια ωρα με μπαταρια εκτος επανέρχεται και παλι ομως με 1-1-1970 αρα ισως η υποθεση μ ειν σωστη και επιστρεφει στο 0.
Αν ειχα λεφτα θα το δοκιμαζα σε ενα 5ς με ολες τις ζωνες για να βγαλω συμπερασμα αληθεια. Οπως επισης πιστευω πως ακομη και στην αμερικη (- αν το βαλουν 1-1-1970 με καποια ωρα πχ 17:00 (μεσημεριανη) σιγουρα θα ανοιξει. Αυτα.
Μολις τ επιβεβαίωσα.
ναι iOS 6.1.3 till death!
Τελευταία επεξεργασία από: coolvaggos, 13/02/2016 - 04:11