RELEASE NOTES ------------------------------------------------------------------------------ Shield for iOS - Version 6.0.3 - 2023-12-13 Highlights: ------------------------------------------------------------------------------ * Bug fixing and stability improvements for Jigsaw and Shield interoperability Supported platforms: ------------------------------------------------------------------------------ - Shield is supported on iOS 12.0 and up to iOS/iPadOS 17. - This release is compatible with iOS/iPadOS 17.2. - The Shielder tool is supported on 64-bit Java 17 on Windows 10, Mac OSX (10.9+) and Ubuntu Linux LTS 20.04 or 22.04. - Shielder requires a macOS system in order to sign applications. - Shield supports Xcode 12 and higher. Promon recommends to use the latest Xcode. Jigsaw Binary Protection Engine (Version 1.11.2) ------------------------------------------------------------------------------ * Improved section encryption. * Enabled support for pull bindings between Shield and the Jigsaw protected binaries. See the documentation for details. Bugs & Stability Improvements: ------------------------------------------------------------------------------ * Fixed memory leaks (Resolves issues SHIOS-2464, SHIOS-2466, SHIOS-2468, SHIOS-2469, SHIOS-2520) Improved memory management for long-running applications. Known limitations ------------------------------------------------------------------------------ * Jigsaw protection is not available in '--xcode' shielding mode. * When protecting Objective-C apps with Jigsaw and Section Encryption is enabled apps may be rejected during app submission to TestFlight. If your app contains Objective-C code, you should exclude the __DATA,__data sections from Section Encryption. This limitation does not impact Swift applications. From Apple: ``` ITMS-90338: Non-public API usage - The app contains one or more corrupted binaries. Rebuild the app and resubmit.. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/ ``` To resolve this, disable section encryption in the Jigsaw config file: my-config.cfg: ``` jigsawConfiguration default { "sectionEncryption": { "sectionRules": [ "*", "!__DATA,__data"] } } ``` TestFlight might also report the following warning: ``` ITMS-90999: Invalid executable - The executable in “MyApp.app” contains multiple segments with the executable permission bit set when it should only contain one. ``` The reason is that Jigsaw protections inject additional executable segments. This warning can be ignored if it is encountered. * Blocking of external screens, such as AirPlay does not currently work for apps using UISceneDelegate in iOS 13 and above. * "--shield-all-extensions" does not add Shield to AppClips. * "--shield-all-extensions" will add Shield to all extensions from the default Plugins folder. Tested devices: ------------------------------------------------------------------------------ iPhone SE : iOS 17.2 beta 4 / 17.3 beta 1 Iphone 14 : iOS 17.1.2 / 17.2 iPhone 13 : iOS 16.7.2 iPhone 12 : iOS 15.7.1 iPhone 7 (N) : iOS 14.8 iPhone 7 : iOS 13.0 iPhone XR : iOS 13.1.3 iPhone 11 : iOS 13.7 iPhone 8 : iOS 12.4.1 iPhone 6S : iOS 11.4.1 iPhone 5s : iOS 12.5.7 iPod Touch (Jailbroken) : iOS 14.0.1 iPad Gold 6 : 13.2.3 iPad 7 : 14.8 iPad 6 grey : 13.6 Tools: ------------------------------------------------------------------------------ Xcode 14.2 on 12.7.1 / 12.7.2 (Monterey) (Intel Mac) Xcode 15.1 on 14.2 (Sonoma) (M2 Mac Mini) MacOS: ------------------------------------------------------------------------------ BigSur 11.7 (Intel / M1) Monterey 12.7.1 (Intel Mac) Monterey 13.3.1(a) : (Intel / M2 ) Ventura 14.1.1 (M2 Mac Mini) Sonoma 14.2 beta 4 (M2 Pro)