旧工程要适配iOS10,使用UserNotifications框架中的类时编译报错,但是新建工程时则没有任何问题。为什么?

2016/12 14 15:12
此文章不得转载,如有需要请联系网站管理员。

一度的温暖,一百度的爱情,来自于www.ca788.com的点点滴滴

1.题目描绘:
iOS10的告诉采取了新的API,包括在UserNotifications框架中。我实行在公司的工程项目中运用该api,导入#import <UserNotifications/UserNotifications.h>时编译没有任何题目,但是一旦用到该框架中定义的类名时,编译就会立马报错,不论是模仿器还是真机均报错。但是奇特的是,当我新树立一个工程,却没有任何题目。(两个项目标Development Target均设置为8.0)
运用的IDE为Xcode8.

2.相干代码:(只需用到了UserNotifications框架中定义的类,编译后就会报错)

UNUserNotificationCenter *notiCenter = [UNUserNotificationCenter currentNotificationCenter];  

3.报错信息:(架构题目)
// 模仿器时报错:

_OBJC_CLASS_$_UNTextInputNotificationAction", referenced from: 
objc-class-ref in AppDelegate.o

// 真机时报错:

_OBJC_CLASS_$_UNUserNotificationCenter", referenced from:
      objc-class-ref in AppDelegate.o
 

4.相干截图
// 报错关键代码

// 真机编译报错截图

// 模仿器编译报错截图

5.实行方案:
1)将工程的Development Target顺次改成8.0、9.0、10.0,报错还是。
2)新建一个工程,编译和运转均完全正常。
3)可以是公司的工程之前配置了什么招致无法运用,如今在网上没有找到处理方案。

曾经处理题目,由于旧工程时运用xcode7创立的,以是默许是没有UserNotifications.framework框架的,只需手动导入即可。

楼主 我手动导入之后 也改了optional 添加了 search head path之后 还是报错ld: unexpected token: !tapi-tbd-v2 file ‘/Users/zhou/Desktop/未定名文件夹/LankeProject/LankeProject/Lib/UserNotifications.framework/UserNotifications.tbd’ for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

我的工程是在xcode7.3上运转的 

(看完/读完)这篇文章有何感想! 来看看www.ca788.com是怎么评论的吧!

--转载请注明: www.ca788.com#亚洲城ca788手机版官网 » 旧工程要适配iOS10,使用UserNotifications框架中的类时编译报错,但是新建工程时则没有任何问题。为什么?

发表评论

(必填)