2010-08-02 30 views
5

Tôi bắt đầu một vài ngày trước để thử nghiệm phát triển cho nền tảng iPhone và khi đọc về khả năng đa tác vụ, tôi đã tìm thấy "hoàn thành nhiệm vụ", điều này có thể rất hữu ích.Hoàn thành nhiệm vụ của iPhone

Tôi googled một chút, đọc tài liệu có sẵn tại developer.apple.com/iphone, nhưng vẫn chưa tìm thấy điều gì đó: có cách nào để hoàn thành nhiệm vụ này chạy vòng lặp (có thể là vô hạn) hoặc một bộ đếm thời gian sẽ chạy như sau mỗi 10 phút?

Tôi biết nó giống như "gian lận" và họ có thể có một số biện pháp đối phó, nhưng dù sao, nó muốn được một điều tốt để thử :)

Trả lời

3

Với hoàn thành nhiệm vụ? Không. Tuy nhiên, bạn có thể nói ứng dụng của mình là ứng dụng âm thanh có khả năng nền, ví dụ: thiết lập phiên âm thanh với thuộc tính kAudioSessionProperty_OverrideCategoryMixWithOthers, lặp lại một số âm thanh không phát âm thanh. Điều này sẽ cho phép người dùng thoát ra, khởi chạy iPod hoặc không có thứ gì, và để nó phát như bình thường trong khi ứng dụng của bạn tiếp tục chạy.

Tôi đã thử nghiệm điều này trong một ứng dụng mẫu và nó hoạt động. Tuy nhiên, nó là đáng ngờ và tôi sẽ không khuyên bạn nên nó. (Nó cũng có thể bị từ chối nếu Apple từng phát hiện ra.)

+1

Bạn chỉ có thể có một ứng dụng âm thanh nền tại một thời điểm hoặc bạn có thể có nhiều ứng dụng? Dường như nếu người dùng mở ứng dụng iPod hoặc một cái gì đó như Pandora, ứng dụng của bạn sẽ không hoạt động. – lucius

+1

Miễn là ứng dụng đang mở thiết bị âm thanh sử dụng thuộc tính mà tôi đã xác định ở trên, bạn có thể có nhiều nguồn âm thanh phát như bạn muốn. Tuy nhiên, các ứng dụng như iPod thì không. Họ sẽ ngừng chơi nếu ai đó muốn truy cập vào âm thanh. Tuy nhiên, nếu bạn khởi động một ứng dụng bằng cách sử dụng thuộc tính trên, điều đó sẽ tiếp tục phát mặc dù iPod đã yêu cầu quyền truy cập và iPod sẽ không quan tâm vì nó có quyền truy cập. Hệ thống này đủ thông minh để cho phép chơi iPod, nhưng biết đủ để không dừng ứng dụng kia vì nó kết hợp tốt với người khác. – jer

+0

Tôi vẫn chưa thể thử điều này, đó là một câu hỏi khá lý thuyết, tôi phải thừa nhận, nhưng điều đó dường như là một cách tuyệt vời để thực thi việc giữ ứng dụng mở trên nền. Thật đáng buồn vì có lẽ điều này sẽ tiêu hao pin khá nhanh, đặc biệt khi kết hợp với các ứng dụng khác hoặc các tác vụ xử lý khác nhau được chạy bởi cùng một ứng dụng này. – wintermute

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