Obliczenia zmiennoprzecinkowe dla aplikacji iPhone po ich udostępnieniu w sklepie z aplikacjami.

W zeszłym tygodniu wydałem swoją pierwszą aplikację na iPhone'a, która obliczaWykorzystanie baterii 12 V i łodzi. Mocno przetestowałem go na symulatorze i na moim iPhonie, a kiedy czułem się dobrze, wszystko było w porządku, zarchiwizowałem aplikację i wydałem ją firmie Apple. Gdy użytkownicy zaczęli korzystać z aplikacji, zauważyli, że obliczenia nie działały zgodnie z oczekiwaniami. Poniższy kod, który jest metodą na modelu NSManagedObject, generował RÓŻNE wyjście po zwolnieniu do debugowania.

Poniższe powinny zsumować sumę powiązanych przedmiotów Rozładowania - ale jeśli nie ma żadnych przedmiotów doładowania BBD, to powinno powrócić do zera. Zamiast tego, gdy nie ma żadnych elementów (a więc pętla for nie uruchamia się), zwraca liczbę, która jest bezpośrednim produktem produktu domesticAH (numer NSN). Jeśli ustawię domesticAH na 100, poniżej absolutorium AH zwraca 8, jeśli ustawisz domesticAH na 1000, to zwraca 83 (pływak jest zaokrąglany, gdy jest wyświetlany). Ponownie podkreślam, że poniżej działa dobrze podczas uruchamiania na symulatorze lub umieszczania bezpośrednio na moim iPhone 4s, tylko raz wydany przez sklep z aplikacjami to spieprzy.

//Other dynamics hidden for simplicity
@dynamic domesticAH;
@dynamic voltage;
@dynamic profileDischarge;

-(NSNumber*) dischargeAmpH
{

    float totalWattsPD;

    //Calculate the watts per day so we can accurately calculate the percentage of each item line
    for(BBDischarge* currentDischarge in self.profileDischarge)
    {
        float totalWatt = [currentDischarge.wattage floatValue] ;
        float totalMinsPD = [currentDischarge.minutesPD floatValue]/60;
        float totaltimesUsed = [currentDischarge.timesUsed floatValue];
        float numberInOperation = [currentDischarge.number floatValue];
        totalWattsPD = totalWattsPD + ((totalWatt * totalMinsPD) * (totaltimesUsed * numberInOperation));
    }

    int voltage = ([self.voltage integerValue] + 1) * 12;

    float totalAmpsPD = totalWattsPD / voltage;

    return [NSNumber numberWithFloat:totalAmpsPD];

}

Jak widzisz, self.domesticAH nie jest opisywany w metodzie nigdzie, a ponieważ nie mogę odtworzyć tego w symulatorze, trudno mi go śledzić.

Kilka pytań:

Czy mogę debugować wersję na żywo mojej aplikacji? Dołącz XCode do mojej uruchomionej, pobranej aplikacji App Store w mojej aplikacji?Czy mogę symulować instalację z archiwum - czy ktoś poleciłby dystrybucję ad hoc, aby to zrobić? Nie korzystałem jeszcze ad hoc.Jakieś inne pomysły, dlaczego może się tak zachowywać?

questionAnswers(1)

yourAnswerToTheQuestion