Khi sử dụng Xcode 9, có một số cảnh báo trình biên dịch nói rằng This function declaration is not a prototype. Nó gợi ý thêm voidvào phần thân phương thức, nó sẽ giải quyết nó. Vấn đề tôi đang gặp phải là những cảnh báo đó cũng được gửi cho UIApplicationcác phương thức ủy quyền của API hệ thống :
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)())completionHandler
Điều này có thể được giải quyết bằng cách sau:
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)(void))completionHandler
Bây giờ tôi đang tự hỏi liệu các phương pháp ủy quyền sẽ vẫn hoạt động lâu dài hay Apple sẽ chèn các voidphiên bản iOS 11 Beta sau này. Tôi tò mò vì nếu tôi bao gồm phần voidthân, Xcode sẽ phàn nàn về các bộ chọn phương pháp không khớp (điều này có ý nghĩa). Có ai đó đã gặp vấn đề tương tự cho đến nay?
