运行报错:dyld: Library not loaded: /System/Library/Frameworks/AuthenticationServices.framework/Authen...

报错信息:

dyld: Library not loaded: /System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices

  Referenced from: /Users/Library/Developer/CoreSimulator/Devices/DA1C60A0-79FC-45E2-94A9-8DA5F046AE2D/data/Containers/Bundle/Application/10A9C4A6-536D-43B5-BDCD-604D04A9E6C0/xxxx.app/xxxx

  Reason: no suitable image found.  Did find:

/System/Library/Frameworks/AuthenticationServices.framework/AuthenticationServices: mach-o, but not built for iOS simulator

测试机系统版本低于11的就会报这个错误,11以上的系统真机运行就没问题

找到Target -- >Build Phases --> Link Binary With Libraries -->找到你报错的.framework库

将Status 值改成Optional,就可

这是因为iOS系统升级中对于链接的系统动态库而言会添加新的API,因为app的用户的系统版本不是统一的,所以用户机器上不一定都存在该动态库,此时就应该把链接的这些新的.framework改成Optional的,然后在程序代码中去动态判断用户版本,来启动对应的新功能,如果不修改成Optional而保持Required的话,在部分不存在该动态库用户的机器上,就会导致app一启动就退出,因为找不到对应的动态库

你可能感兴趣的:(运行报错:dyld: Library not loaded: /System/Library/Frameworks/AuthenticationServices.framework/Authen...)