2016-02-02 19 views
5

Uygulamam aşağıdaki için reddedildimiPhone uygulaması pil kullanımı ve ısı nedeniyle reddedildi.</p> <pre><code>13.2 - Apps that rapidly drain the device's battery or generate excessive heat will be rejected </code></pre> <p>Ben reddedilmiş olabilir neden olarak iki tahmin var:

  1. Benim uygulamanın özünde özel bir mum titreşimi kullanan bir LED Mum uygulaması algoritması. Bu yüzden LED'i çok hızlı bir şekilde mumya benzetiyor. LED'in kullanımı, bataryayı çoğu uygulamadan daha hızlı boşaltacaktır. Bu yüzden piyasadaki çok sayıda "LED El Feneri" Uygulaması olmaz.
  2. Yinelemeli döngüler ve döngü kodu gibi bir kodun pili öldürebilir mi?

    NSTimer.scheduledTimerWithTimeInterval(timeTillFlicker, target: self, selector: "candleFlickerLoop", userInfo: nil, repeats: false)

    bir timeTillFlicker0.0065 etrafında Saniyede ile pili böyle döngüler aşağı yakmak oluşturarak mu? Bunu yapmanın daha iyi bir yolu var mı? Yani o iki şeyden

, sence ya apple bu reddedilme nedeni ne?

Böyle geri bildirimlerle çalışma konusunda herhangi bir tavsiyesi var mı?

Her türlü öneri çok takdir edilecektir. Bu inceleme sürecinden oldukça cesaret kırılmış hissediyorum.

cevap

6

Öncelikle cesareti kırılmış hissetmeyin. Şu anda 1 milyondan fazla kullanıcısı olan uygulamalarımızdan biri, aşırı pil kullanımı nedeniyle reddedildi. Benim sorunum GPS kullanıyordu (çok çılgın gibi akıyor). Anladığım kadarıyla, kullandığım şekli değiştirdim ve sorunu çözdüm.

Bir dahaki sefere tekrar incelemeye gönderdim, kabul edildi.

Sorununuzun ne olduğunu anlamak için, araçlar aracını kullanabilirsiniz.

Benim bir mobil ortam uzmanı değilim bu bir https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/MeasuringEnergyImpact.html

+0

Tavsiyeniz için teşekkürler. Aracı çalıştırdım ve enerji etkisi altındaki enerji etkisinin sıfır ve düşük arasında olmasına rağmen sağdaki "Darbeli" # 'nin% 70 (KIRMIZI)' da başladığını ve yavaş yavaş çalıştığı sonucuna vardım. Hafızanın her 1 saniyede 1 MB ya da tanılama aracı için güncelleme aralığı ne olursa olsun çalıştığını fark ettim.Durdurulana kadar kod satırlarını yorumladım ve bana 'device.setTorchModeOnWithLevel (newBrightness) 'soruna neden olan Torch API çağrıları gibi görünüyor. Bunlar yorumlandığında, bellek tüketimi kaybolur. Herhangi bir tavsiye? – Corey

0

Apple'ın öğretici takip edebilir, ama performans daha da önemli (sunucu tarafı sistemleri) olduğu i diğer alanlarda böylece değilim.

Gerçekten iOS içindeki zamanlama fonksiyonları için tüm özelliklere biliyorum ama ne ben söyleyebilirim i javascript animasyonlar için sadece sceduling ait özyinelemeli kullanımını gördük ki yoktur. Otherway, dakikalar, saatler veya iş parçacığı iş parçacığının anlamsız olacağı günlerde gerçekleşmesi gereken yaklaşan olayları belirlemek için kullanılmalıdır. Ama senaryonuz için (iş parçacığına yönelik bir cihaz), bir iş parçacığı oluşturmak ve özyinelemeli bir döngü uygulamak için kullanacağım. Belki planlama, ram tüketimini ve dolayısıyla bataryayı arttıracak şekilde yönetilir. Apple'ın el fenerinin gerçekleştirdiği yüksek akü tahliyesinin farkında olduğundan eminim. Reddettikleri için, ramda bir hotspot üretmişsinizdir.