我遇到了一些我在项目中使用的外部框架的兼容性问题.有没有办法在Xcode 8上更改Base SDK?目前在项目设置中只显示最新的SDK.
我已经尝试将旧版SDK从另一个版本的Xcode复制到此处,但它不起作用:
/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
刚刚将我的项目更新为Xcode 8,我在我的应用程序包含的多个外部框架中发现了这个错误.是否有解决方法,可能涉及设置,以避免此编译错误?
这是一个错误示例:(我无法修改,因为它是导入的框架)
const void * ivarPtr = objc_unretainedPointer(self) + ivar_getOffset(ivar);
[decoder decodeValueOfObjCType:[ivarInfo[@"encoding"] UTF8String] at:(void *)ivarPtr];
Run Code Online (Sandbox Code Playgroud) 在iOS 11中,我正在更改导航控制器的后退按钮,如下所示:
UINavigationBar.appearance().backIndicatorImage = whiteBackButtonImage!.withRenderingMode(.alwaysOriginal)
UINavigationBar.appearance().backIndicatorTransitionMaskImage = whiteBackButtonImage!.withRenderingMode(.alwaysOriginal)
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,问题是当我想区分两种使用不同背面图像的UINavigationControllers:
let whiteNavigationBarAppearance = UINavigationBar.appearance(whenContainedInInstancesOf: [WhiteNavigationController.self])
whiteNavigationBarAppearance.backIndicatorImage = greenBackButtonImage!.withRenderingMode(.alwaysOriginal)
whiteNavigationBarAppearance.backIndicatorTransitionMaskImage = greenBackButtonImage!.withRenderingMode(.alwaysOriginal)
let greenNavigationBarAppearance = UINavigationBar.appearance(whenContainedInInstancesOf: [GreenNavigationController.self])
greenNavigationBarAppearance.backIndicatorImage = whiteBackButtonImage!.withRenderingMode(.alwaysOriginal)
greenNavigationBarAppearance.backIndicatorTransitionMaskImage = whiteBackButtonImage!.withRenderingMode(.alwaysOriginal)
Run Code Online (Sandbox Code Playgroud)
使用第二种方法,会显示常规后退按钮,因此无论如何它都无法识别更改.有谁知道我的方法有什么问题?
uinavigationbar uinavigationcontroller ios uiappearance swift