2016-02-02 17 views
5

Ứng dụng của tôi bị từ chối sau:Ứng dụng iPhone bị từ chối do sử dụng pin và nhiệt.

13.2 - Apps that rapidly drain the device's battery or generate excessive heat will be rejected 

Tôi có hai đoán là tại sao nó có thể đã bị từ chối:

  1. Ứng dụng của tôi về cơ bản là một ứng dụng LED Candle trong đó sử dụng một ngọn nến chập chờn độc quyền thuật toán. Vì vậy, nó bật/tắt đèn LED rất nhanh chóng giống như một ngọn nến. Việc sử dụng đèn LED rõ ràng sẽ tiêu hao pin nhanh hơn hầu hết các ứng dụng. Vì vậy, sẽ không vô số ứng dụng "Đèn pin LED" trên thị trường.
  2. Tôi có mã nào có vòng lặp đệ quy và mã lặp như thế này có thể đang giết pin?

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

    Liệu tạo vòng như thế này với một timeTillFlicker xung quanh 0.0065 Giây đốt pin xuống? Có cách nào tốt hơn để làm điều này?

Vì vậy, hai điều đó, bạn có nghĩ nguyên nhân của việc từ chối này bằng quả táo không?

Có ai có lời khuyên nào về cách làm việc thông qua phản hồi như thế này không?

Mọi lời khuyên sẽ được đánh giá cao. Tôi cảm thấy khá chán nản với quá trình xem xét này.

Trả lời

6

Trước hết không cảm thấy chán nản. Một trong những ứng dụng của tôi, hiện có hơn 1 triệu người dùng, bị từ chối do sử dụng pin quá mức. Vấn đề của tôi đã được sử dụng GPS (cống pin như điên) rất nhiều. Sau khi tôi tìm ra, tôi đã thay đổi cách tôi sử dụng nó và giải quyết vấn đề.

Lần sau tôi gửi nó để xem xét, nó đã được chấp nhận.

Để tìm ra vấn đề của bạn là gì, bạn có thể sử dụng công cụ dụng cụ.

Bạn có thể làm theo hướng dẫn của Apple về vấn đề này một https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/MeasuringEnergyImpact.html

+0

Cảm ơn lời khuyên của bạn. Tôi chạy công cụ và thấy rằng trong vòng lặp của tôi năng động teeters teeters giữa số không và thấp mặc dù "Tác động" # bên phải bắt đầu từ như 70% (RED) và từ từ hoạt động theo cách của nó xuống. Tôi đã thông báo rằng bộ nhớ hoạt động theo cách của nó lên 1 MB mỗi 1 giây hoặc bất kỳ khoảng thời gian cập nhật nào dành cho công cụ chẩn đoán.Tôi nhận xét ra dòng mã cho đến khi nó dừng lại và có vẻ như đó là các cuộc gọi API Torch đang gây ra cho tôi các vấn đề 'device.setTorchModeOnWithLevel (newBrightness)'. Khi những người được nhận xét ra tiêu thụ bộ nhớ biến mất. Lời khuyên nào? – Corey

0

Tôi không phải là một chuyên gia về môi trường di động, nhưng tôi như vậy trong các lĩnh vực khác nơi hiệu suất thậm chí còn quan trọng hơn (hệ thống server-side).

Tôi thật sự không biết tất cả các chi tiết kỹ thuật cho các chức năng lập lịch trình bên trong iOS, nhưng những gì tôi có thể cho bạn biết là tôi đã nhìn thấy đệ quy sử dụng chỉ sceduling cho hình ảnh động trong javascript. Otherway nên được sử dụng để scedule sự kiện sắp tới phải xảy ra trong vài phút, giờ hoặc ngày, nơi bán thread sẽ là vô nghĩa. Nhưng đối với kịch bản của bạn (một thiết bị theo định hướng thread) tôi sẽ cho shure xây dựng một thread và thực hiện một vòng lặp đệ quy. Có thể lập kế hoạch được quản lý theo cách làm tăng tiêu thụ ram và do đó pin. Tôi chắc chắn rằng Apple có ý thức về việc tiêu hao pin cao mà đèn pin hoạt động. Tôi nghĩ rằng họ đã từ chối vì bạn đã tạo ra một hotspot hotspot trên ram bằng tính năng lên lịch.

Các vấn đề liên quan