这是什么 Objective-C/XCode 注释 // [START_EXCLUDE]

What is this Objective-C/XCode annotation // [START_EXCLUDE]

在此处查看 iOS 上的 GCM 通知示例代码:https://github.com/googlesamples/google-services/blob/master/ios/gcm/GcmExample/AppDelegate.m#L31

....
// [START register_for_remote_notifications]
- (BOOL)application:(UIApplication *)application
      didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
      // [START_EXCLUDE]
      ....
      // [END_EXCLUDE]

// [START_EXCLUDE] // [END_EXCLUDE] 的作用是什么。它是约定的一部分,Objective C 的一部分还是 xCode 的一部分?

Is it part of a convention, part of Objective C or something for xCode?

None 以上。 就编译器而言,这些只是注释——它们不是任何标准的一部分 Objective-C约定,它们不是编译器理解的语言、指令或 Xcode.

理解的指令的一部分

从回购协议中的一些提交评论来看,[START ...][END ...] 似乎是对某种预处理器的指令,但在构建项目时不会触发该预处理器。也许它们由项目外部的工具使用,该工具可用于生成具有特定选项集的示例代码。如果您查看代码,您会发现类似的指令,例如:

// [START start_gcm_service]
...
// [END start_gcm_service]

这些似乎都围绕着可能从代码中删除的代码块。

转到 https://developers.google.com/cloud-messaging/ios/start 并注意该页面上的所有代码片段如何完全 对应 [START][END] 中的代码指令?

是的,Google 使用内部工具解析他们的示例项目源代码,以便从他们的 HTML 文档页面自动引用代码。