2010-10-28 35 views
5

Ứng dụng phản hồi URL tùy chỉnh và khởi chạy chính xác khi ở trạng thái bị tạm ngưng. Câu hỏi đặt ra là, tôi có thể tắt hiển thị Default.png khi khởi chạy theo cách này không?Ứng dụng iPhone ở trạng thái treo, được khởi chạy bằng URL, hiển thị Default.png

Một trường hợp sử dụng cho rõ ràng:

  1. ứng dụng được bắt đầu thường
  2. một nút home bấm đặt ứng ở chế độ chờ
  3. một url của chương trình ứng dụng nhận được khai thác trong safari di động
  4. người dùng nhìn thấy Default.png trước khi khởi chạy hoàn tất.

Như bạn có thể biết, khi chuyển đổi ứng dụng nhanh kích hoạt thường ứng dụng được hiển thị lại với ảnh chụp màn hình của trạng thái cuối thay vì Default.png. Đây là những gì tôi muốn xảy ra khi khởi chạy URL cũng diễn ra.

Trả lời

3

Có vẻ như những gì đang xảy ra là Chuyển đổi ứng dụng nhanh không thực sự hoạt động. Vì vậy:

  1. Đảm bảo bạn đang tạo ứng dụng cho SDK cho OS 4.0. Nếu không, ứng dụng của bạn sẽ không hỗ trợ chuyển đổi ứng dụng nhanh.

  2. Xem liệu chuyển đổi ứng dụng nhanh có bình thường không (nếu không) hoạt động với ứng dụng của bạn. I E. khi bạn chỉ chuyển sang safari, sau đó khởi chạy lại ứng dụng của bạn, bạn có nhận được "default.png" không?

  3. Chạy ứng dụng bên dưới trình gỡ lỗi, nhưng trên thiết bị thực của bạn. Làm cho vấn đề xảy ra, đi vào tổ chức, và xem dưới bản ghi thiết bị. Điều này sẽ hiển thị cho bạn nếu có vấn đề về bộ nhớ thấp khiến ứng dụng của bạn bị chấm dứt, khi Safari được khởi chạy, do đó yêu cầu phải được khởi chạy lại khi URL được chọn.

  4. Tôi tin rằng có hai cơ chế được đặt đúng vị trí. Trong ứng dụng của tôi, tôi không ủng hộ "Khởi chạy với URL" - nhưng những gì tôi làm làm là hỗ trợ cuộc gọi các đại biểu của ứng dụng:

-(BOOL) application:(UIApplication *) application handleOpenURL:(NSURL *) url {

Đây có thể là sự khác biệt - đây là cuộc gọi có thể được thực hiện cho một ứng dụng là chạy đến tay đó là một URL để xử lý. Nếu bạn đang sử dụng kỹ thuật khác, hãy sử dụng kỹ thuật này thay vì. Tôi sử dụng điều này và không thấy "default.png" - tức là không gợi lên "khởi chạy lại sạch" khi tôi được gọi.

+0

Hoán đổi ứng dụng nhanh không phải là vấn đề. Tôi đã xác nhận nó hoạt động chính xác. – NWCoder

+0

Bạn đã thử # 2 và # 3 chưa? Câu hỏi đặt ra là ứng dụng của bạn bị * đóng * - rất có thể vì ứng dụng của bạn + Safari chạy cùng nhau mất quá nhiều bộ nhớ? – Brad

+0

Có, tôi có thể tiếp tục một phiên gỡ lỗi và tôi biết đó là bản phát hành FAS. Nếu bạn có một ứng dụng có cả FAS và khởi chạy với URL, bạn có thể xác nhận vấn đề của tôi là chính xác. – NWCoder

0

Đảm bảo bạn đã đặt khóa "Chế độ nền bắt buộc" trong Info.plist thành chức năng mà ứng dụng cần. Nếu nó không được liệt kê, tôi chỉ sử dụng "App Plays Audio" để mở nó.

3

Đây là giải pháp có thể xảy ra. Điều này đã khiến tôi đau đầu vì cố gắng liên tục quay trở lại từ một dấu hiệu của Facebook.Tôi muốn xuất hiện trở lại vùng đăng nhập của ứng dụng, thay vì xuất hiện lại ứng dụng, mặc dù tôi đã xác minh theo mọi cách có thể ứng dụng thực sự quay lại từ chuyển đổi ứng dụng nhanh và không thực sự khởi động lại.

Trong khi tôi không thể tìm thấy bất kỳ cách nào để buộc ứng dụng hiển thị ảnh chụp màn hình của trạng thái trước đó, tôi đã phát hiện ra rằng ứng dụng sẽ hiển thị Default- scheme .png (ví dụ: Default-fb12345.png hoặc Default- appname.png) khi được gọi bằng url. Vì vậy, nếu ảnh chụp màn hình chuyển đổi sau ứng dụng của bạn có thể dự đoán được, hãy lấy ảnh chụp màn hình từ iOS Simulator và sao chép nó vào ứng dụng của bạn. Tôi sẽ coi đây là lỗi iOS. Ứng dụng sẽ luôn hiển thị ảnh chụp màn hình cuối cùng khi chuyển đổi ứng dụng, thay vì mặc định- lược đồ .png đơn giản chỉ vì url có liên quan.

Một khả năng khác, mà tôi đã không kiểm tra, sẽ được liên kết mềm của gói Default- chương trình .png (và Default- chương trình @ 2x.png) đến tập tin ảnh chụp trong thư mục ứng dụng nhà. Đây sẽ là Library/Caches/Snapshots/[Trình nhận dạng gói] /[email protected] cho hầu hết các trường hợp (trừ khi có cảnh quan hoặc iPad). Nếu trạng thái của ứng dụng là không thể đoán trước nhưng định hướng đã được khắc phục, đây có thể là một lựa chọn tốt để thử.

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