添加扩展后,我收到词法和预处理器错误 Xcode 9.3?
After adding Extension I am getting Lexical and PreProcessor error Xcode 9.3?
大家好,我已经添加了通知服务扩展并正确添加了目标。当我构建项目时出现词法错误。
已尝试清理存档、重新启动Xcode、更改框架路径。
如果我删除通知服务扩展然后一切正常,当我将通知扩展添加到我的项目时我收到此错误。
如果有人遇到这个问题。让我知道我做错了什么。
我做了什么?
在项目下添加文件 -> 新建 -> 目标 -> 通知服务扩展。
对扩展 class 文件进行了更改。
self.contentHandler = contentHandler;
self.bestAttemptContent = [request.content mutableCopy];
NSString *imgUrl = request.content.userInfo[@"data"][@"attachment-url"];
NSURL *imageURL = [NSURL URLWithString:imgUrl];
NSError *error;
UNNotificationAttachment *icon = [UNNotificationAttachment attachmentWithIdentifier:@"image" URL:imageURL options:nil error:&error];
if (error)
{
NSLog(@"error while storing image attachment in notification: %@", error);
}
if (icon)
{
self.bestAttemptContent.attachments = @[icon];
}
self.contentHandler(self.bestAttemptContent);
如果您正在使用 cocoa pods,请编辑您的 pod 文件,并创建两种类型的 pods,一种用于主要目标应用程序,一种用于扩展目标。
def application_pods
use_frameworks!
#list of frameworks you use in your main target
pod 'UIImageView+WebCache'
end
def extension_pods
use_frameworks!
#list of frameworks you would use in your extension
pod 'UIImageView+WebCache'
end
target 'YourMainTargetName' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
# Pods for YourTargetName
application_pods
end
target 'NotificationService' do
extension_pods
end
如果您不使用 pods,那么您需要 select UIImageView+WebCache .h,.m 文件,并且在 Target membership 部分,您需要选中扩展目标复选框。
最后:
问题是因为创建的扩展将头路径作为父文件头路径,所以如果你在前缀中提到任何 pod 文件头路径那么它会给你错误,所以删除头路径并保留它是空的。
构建设置 -> HeaderPath -> 删除。
确保在删除路径时选择了扩展目标。
大家好,我已经添加了通知服务扩展并正确添加了目标。当我构建项目时出现词法错误。
已尝试清理存档、重新启动Xcode、更改框架路径。
如果我删除通知服务扩展然后一切正常,当我将通知扩展添加到我的项目时我收到此错误。
如果有人遇到这个问题。让我知道我做错了什么。
我做了什么?
在项目下添加文件 -> 新建 -> 目标 -> 通知服务扩展。
对扩展 class 文件进行了更改。
self.contentHandler = contentHandler;
self.bestAttemptContent = [request.content mutableCopy];
NSString *imgUrl = request.content.userInfo[@"data"][@"attachment-url"];
NSURL *imageURL = [NSURL URLWithString:imgUrl];
NSError *error;
UNNotificationAttachment *icon = [UNNotificationAttachment attachmentWithIdentifier:@"image" URL:imageURL options:nil error:&error];
if (error)
{
NSLog(@"error while storing image attachment in notification: %@", error);
}
if (icon)
{
self.bestAttemptContent.attachments = @[icon];
}
self.contentHandler(self.bestAttemptContent);
如果您正在使用 cocoa pods,请编辑您的 pod 文件,并创建两种类型的 pods,一种用于主要目标应用程序,一种用于扩展目标。
def application_pods
use_frameworks!
#list of frameworks you use in your main target
pod 'UIImageView+WebCache'
end
def extension_pods
use_frameworks!
#list of frameworks you would use in your extension
pod 'UIImageView+WebCache'
end
target 'YourMainTargetName' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
# Pods for YourTargetName
application_pods
end
target 'NotificationService' do
extension_pods
end
如果您不使用 pods,那么您需要 select UIImageView+WebCache .h,.m 文件,并且在 Target membership 部分,您需要选中扩展目标复选框。
最后:
问题是因为创建的扩展将头路径作为父文件头路径,所以如果你在前缀中提到任何 pod 文件头路径那么它会给你错误,所以删除头路径并保留它是空的。
构建设置 -> HeaderPath -> 删除。
确保在删除路径时选择了扩展目标。