OK I finally "solved" this.
The issue is that the newly compiled Metal shader library is NOT compatible with the iPhone 5s with iOS version 10.1.1. So calling the method: - (nullable id MTLLibrary)newDefaultLibrary; with the compiled Metal library file will not work.
The solution is to run time compile the metal shaders on the target platform with the method:
(nullable id MTLLibrary)newLibraryWithSource:(NSString *)source options:(nullable MTLCompileOptions *)options error:(__autoreleasing NSError **)error;
With this method I was able to load and run the game. It had negligible impact on the load time of my game.
Topic:
Graphics & Games
SubTopic:
General
Tags: