Replacing a Library Using Conditional Compilation Blocks
note
This product is deprecated. Veracode will delete this topic on February 1, 2023.
You can use a Veracode workaround to replace a library so that an application can generate bitcode.
In some cases, you can remove the library from the bitcode variant and replace it with simple stubbed-out calls in the same source code. You can then generate the bitcode.
In this example, the code refers to a third-party library InclusionLib
. This code includes a call to a function called RNG
. Conditional compilation blocks control whether to include the stub or the InclusionLib
library.
import SwiftUI
// IF/ELSE to include the mock library under certain conditions.
#if _MISSING_BITCODE
import Foundation
#else
import InclusionLib
#endif
#if _MISSING_BITCODE
func RNG(with x:UInt32) ->UInt32 {
print("Running dummy rng")
return 1
}
#endif
//Contents view for a specific example
struct ExampleView View {
let example: AccessibilityExample
let rng:UInt32
init(_ example: AccessibilityExample) {
self.example = example
self.rng = RNG(with: 3)
}
var body: some View {
VStack {
example.view
.padding(.horizontal)
Spacer()
}
}
}