เมื่อใช้ Xcode 9 This function declaration is not a prototypeมีบางคำเตือนคอมไพเลอร์กล่าวว่า แนะนำให้เพิ่มลงvoidในเนื้อความของวิธีการซึ่งจะแก้ไขได้ ปัญหาที่ฉันพบคือคำเตือนเหล่านั้นจะถูกส่งไปยัง system-API เช่นUIApplicationdelegate-method:
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)())completionHandler
สิ่งนี้สามารถแก้ไขได้ดังต่อไปนี้:
- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
withResponseInfo:(NSDictionary *)responseInfo
completionHandler:(void (^)(void))completionHandler
ตอนนี้ฉันสงสัยว่าวิธีการมอบสิทธิ์จะยังคงใช้งานได้ในระยะยาวหรือ Apple จะแทรกvoidiOS 11 เวอร์ชันเบต้าในภายหลัง ฉันสงสัยเพราะถ้าฉันรวมvoidเนื้อหา Xcode จะบ่นเกี่ยวกับตัวเลือกวิธีการที่ไม่ตรงกัน (ซึ่งสมเหตุสมผล) มีใครประสบปัญหาเดียวกันหรือไม่
