2017-07-18 14 views
5

Tôi không thể thay đổi biểu tượng của ứng dụng thành biểu tượng thay thế trong iOS 11 (Xcode 9, beta 3).Không thể đặt biểu tượng ứng dụng thay thế trong iOS 11

Tuy nhiên, nó hoạt động tốt trong iOS 10,3 (với đoạn mã sau):

if #available(iOS 10.3, *) { 
     guard let iconName = MySingletonClass.sharedInstance.iconName() else { return } 
     delay(0.01) { 
      UIApplication.shared.setAlternateIconName(iconName, completionHandler: { (error) in 
       if let error = error { 
        print(error.localizedDescription) 
       } else { 
        print("Success!") 
       } 
      }) 
     } 
    } else { 
     // Fallback on earlier versions 
    } 

plist của tôi là thiết lập như sau:

enter image description here

tôi thấy nó kỳ lạ vì tôi đã sử dụng các ứng dụng khác sử dụng các biểu tượng ứng dụng thay thế trong iOS 11. Có lỗi nào đã biết với ứng dụng này trong iOS 11 không?

Lưu ý: Nếu bạn đang tự hỏi tại sao tôi đang sử dụng sự chậm trễ, see this post

+0

Bạn đã kiểm tra trả trước 'supportAlternateIcons' chưa? – BennX

+0

@BennX Làm thế nào? Tôi nghĩ rằng đó là một tài sản chỉ đọc là đúng nếu các giá trị plist (như hình) được cung cấp – vikzilla

Trả lời

2

tôi giải quyết điều này bằng cách thực hiện nó trong một ViewController, chứ không phải là appDidFinishLaunchingWithOptions của appdelegate

Tuy nhiên cần phải chạy nó trong vòng một trì hoãn cho nó hoạt động, vì các câu hỏi/câu trả lời có liên quan chỉ ra.

0

Nếu điều này sẽ không hữu ích, hãy tắt nội dung biểu tượng ứng dụng. Nó giúp tôi. Tôi đoán có một số xung đột giữa nội dung và biểu tượng plist.

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