Skip to content

Commit

Permalink
[iOS 17] Build on the public SDK
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=259513

Reviewed by Alexey Proskuryakov.

Adds iphoneos17.0-additions and iphonesimulator17.0-additions SDKs
containing stubs for private frameworks. Unlike past cycles, these have
been generated automatically from the internal SDK, using a `strip-tbd`
program (also added). The workflow I used was:

1. Using products from an internal build, `otool -L` relevant binaries
   (WebCore, WebKit, TestWebKitAPI) to find private frameworks linked
   against.

2. Copy those frameworks' tbd stubs from the internal SDK to the same
   locations in the sparse SDK.

3. Strip out all the symbols we aren't binding to:

    nm -gj WebKitBuild/Debug/WebCore.framework/WebCore > /tmp/WebKit.exp
    nm -gj WebKitBuild/Debug/WebKit.framework/WebKit >> /tmp/WebKit.exp
    # etc.
    strip-tbd -s /tmp/WebKit.exp WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/**/*.tbd

Additionally, this workflow has been automated into a script which generates the API stubs
for a sparse SDK in a single invocation. I generated iphonesimulator17.0
framework stubs by running:

    extract-tbds-from-internal-sdk -b $build `xcrun --show-sdk-path --sdk iphonesimulator.internal` WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk

The new linker included in Xcode 15 is stricter about validating targets
in TBDs (it uses LLVM's codepath for parsing TBDs, which treats unknown
platforms as an error). As a result,
configure-xcode-for-embedded-development needs to patch TBDs in the base
SDK with *target* strings, not just architectures. This also means that
the private framework stubs cannot be shared between device and
simulator variants, but since we can now auto-generate the stubs, I
think it's reasonable to check in separate TBDs for both SDKs.

Aside from the sparse SDK changes, make a few minor fixups.

* Source/WTF/wtf/PlatformHave.h: Lockdown mode was never supported in
  simulators, and a Core Graphics function we call in LDM was removed
  from the simulator SDK. Refine this platform macro.
* Source/WebKit/NetworkProcess/cocoa/AppStoreDaemonSPI.h: The public
  side was missing NONNULL markers.
* Tools/Scripts/configure-xcode-for-embedded-development: Patch TBDs
  with target strings, as mentioned above.
* Tools/Scripts/extract-tbds-from-internal-sdk: Added.
* Tools/Scripts/strip-tbd: Added.
* Tools/WebKitTestRunner/Configurations/Base.xcconfig:
  In non-macOS builds, /System/Library/PrivateFrameworks is being given
  as a framework search path, causing frameworks on the *host* machine
  to be preferred over system frameworks. Prefix it with $(SDK_DIR),
  which is probably what was originally intended.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/SDKSettings.plist: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AppServerSupport.framework/AppServerSupport.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AppStoreDaemon.framework/AppStoreDaemon.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AuthKit.framework/AuthKit.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/BackBoardServices.framework/BackBoardServices.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/CorePrediction.framework/CorePrediction.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/FontServices.framework/FontServices.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/FontServices.framework/libFontParser.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/InstallCoordination.framework/InstallCoordination.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/PrototypeTools.framework/PrototypeTools.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/RunningBoardServices.framework/RunningBoardServices.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/URLFormatting.framework/URLFormatting.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/VisionKitCore.framework/VisionKitCore.tbd: Added.
* WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/SDKSettings.plist: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AppServerSupport.framework/AppServerSupport.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AppStoreDaemon.framework/AppStoreDaemon.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AuthKit.framework/AuthKit.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/BackBoardServices.framework/BackBoardServices.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/CorePrediction.framework/CorePrediction.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/FontServices.framework/libFontParser.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/InstallCoordination.framework/InstallCoordination.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/PrototypeTools.framework/PrototypeTools.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/RunningBoardServices.framework/RunningBoardServices.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/URLFormatting.framework/URLFormatting.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/VisionKitCore.framework/VisionKitCore.tbd: Added.
* WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h: Copied from other SDK additions.

Canonical link: https://commits.webkit.org/266551@main
  • Loading branch information
emw-apple committed Aug 3, 2023
1 parent 9bd05bd commit aa721f7
Show file tree
Hide file tree
Showing 44 changed files with 661 additions and 15 deletions.
2 changes: 1 addition & 1 deletion Source/WTF/wtf/PlatformHave.h
Original file line number Diff line number Diff line change
Expand Up @@ -1251,7 +1251,7 @@

#if !defined(HAVE_LOCKDOWN_MODE_PDF_ADDITIONS) && \
(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 130000 \
|| PLATFORM(IOS) \
|| (PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR)) \
|| PLATFORM(VISION))
#define HAVE_LOCKDOWN_MODE_PDF_ADDITIONS 1
#endif
Expand Down
4 changes: 4 additions & 0 deletions Source/WebKit/NetworkProcess/cocoa/AppStoreDaemonSPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@

#else // USE(APPLE_INTERNAL_SDK)

NS_ASSUME_NONNULL_BEGIN

@interface ASDInstallWebAttributionParamsConfig : NSObject <NSSecureCoding>
typedef NS_ENUM(NSInteger, ASDInstallWebAttributionContext) {
AttributionTypeDefault = 0,
Expand All @@ -55,5 +57,7 @@ typedef NS_ENUM(NSInteger, ASDInstallWebAttributionContext) {
@end
#endif

NS_ASSUME_NONNULL_END

#endif // USE(APPLE_INTERNAL_SDK)
#endif // HAVE(SKADNETWORK_v4)
26 changes: 13 additions & 13 deletions Tools/Scripts/configure-xcode-for-embedded-development
Original file line number Diff line number Diff line change
Expand Up @@ -140,12 +140,12 @@ XCSPEC_INFO = [dict(
)]

SDKS_TO_UPDATE = [
"iphoneos",
"iphonesimulator",
"appletvos",
"appletvsimulator",
"watchos",
"watchsimulator",
("iphoneos", ("armv7-ios", "armv7s-ios", "arm64-ios", "arm64e-ios")),
("iphonesimulator", ("i386-ios-simulator", "x86_64-ios-simulator", "arm64-ios-simulator")),
("appletvos", ("arm64-tvos", "arm64e-tvos")),
("appletvsimulator", ("x86_64-tvos-simulator", "arm64-tvos-simulator")),
("watchos", ("armv7k-watchos", "arm64-watchos", "arm64e-watchos", "arm64_32-watchos")),
("watchsimulator", ("i386-watchos-simulator", "x86_64-watchos-simulator", "arm64-watchos-simulator")),
]

PLIST_BUDDY_PATH = pathlib.Path("/usr/libexec/PlistBuddy")
Expand Down Expand Up @@ -231,15 +231,15 @@ def do_copy(source_path, dest_path):
# architectures for which WebKit is built, regardless of whether the associated
# library/framework was actually built for all those architectures.

def patch_tbd_architecture(framework_path):
def patch_tbd_architecture(framework_path, targets):
for tbd_path in framework_path.glob("*.tbd"):
with open(tbd_path, "r") as f:
lines = f.readlines()

modified_lines = []
for line in lines:
if re.match(".*(archs|targets): +\[.*\]", line) is not None:
line = re.sub("\[.*\]", "[ i386, x86_64, arm64, arm64e, arm64_32, armv7k ]", line)
if re.match(".*targets: +\[.*\]", line) is not None:
line = re.sub("\[.*\]", f"[ {', '.join(targets)} ]", line)
modified_lines.append(line)

with open(tbd_path, "w") as f:
Expand Down Expand Up @@ -300,7 +300,7 @@ def copy_missing_headers(source_sdk, dest_sdk):
do_copy(source_sdk_path / missing_header, dest_sdk_path / missing_header)


def copy_missing_frameworks(source_sdk, dest_sdk):
def copy_missing_frameworks(source_sdk, dest_sdk, targets):
if source_sdk == dest_sdk:
return
source_sdk_path, dest_sdk_path = get_and_check_sdk_directories(source_sdk, dest_sdk)
Expand All @@ -311,7 +311,7 @@ def copy_missing_frameworks(source_sdk, dest_sdk):
dest_framework_path = dest_frameworks_path / missing_framework
if force or not dest_framework_path.exists():
do_copy(source_framework_path, dest_framework_path)
patch_tbd_architecture(dest_framework_path)
patch_tbd_architecture(dest_framework_path, targets)


def main():
Expand All @@ -320,9 +320,9 @@ def main():

update_xcspec_files()

for sdk in SDKS_TO_UPDATE:
for sdk, targets in SDKS_TO_UPDATE:
copy_missing_headers("macosx", sdk)
copy_missing_frameworks("iphoneos", sdk)
copy_missing_frameworks("iphoneos", sdk, targets)
return 0


Expand Down
78 changes: 78 additions & 0 deletions Tools/Scripts/extract-tbds-from-internal-sdk
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
#!/bin/sh -e

function usage {
cat <<EOF
usage: $0 [ -h ] [ -b BUILD_DIR ] [ -w ARGS ] SRC_SDK DST_SDK [
This script looks at build products produced by an Apple internal build to
determine which private frameworks WebKit uses. It then copies TBD stubs of
those frameworks from an internal SDK, and strips them of symbols not used
by the WebKit build. This process is manually run as part of the
open-source build bringup when new Xcode SDKs are released.
SRC_SDK path to an internal SDK to extract framework stubs from
DST_SDK path to copy framework stubs to, typically in WebKitLibraries/SDKs
-b BUILD_DIR directory to read WebKit binaries from (defaults to webkit-build-directory)
-w ARGS additional arguments to pass to webkit-build-directory (e.g. --ios-simulator)
-h print this help message
EOF
exit 1
}

function error {
echo "error: $1" &1>2
usage
}

function run {
echo ">" $"\033[1m"$@$"\033[0m" 1>&2
"$@"
}

while getopts b:w:e:h OPT; do
case $OPT in
b) build_dir="$OPTARG" ;;
w) wbd_args="$OPTARG" ;;
h) usage ;;
?) usage ;;
esac
done
shift $((OPTIND-1))

internal_sdk_dir="$1"
sparse_sdk_dir="$2"
shift 2

[ -n "${internal_sdk_dir}" ] || error "missing source SDK to extract from"
[ -n "${sparse_sdk_dir}" ] || error "missing destination SDK to copy to"
[ -n "${build_dir}" ] || build_dir="$(webkit-build-directory ${wbd_args} --configuration )"
export_list="$(mktemp -t WebKit.exp)"

# Binaries known to link against private frameworks in some configurations.
interesting_executables=(
"$build_dir/WebCore.framework/WebCore"
"$build_dir/WebKit.framework/WebKit"
"$build_dir/webpushd"
"$build_dir/TestWebKitAPI"
"$build_dir/WebKitTestRunnerApp.app/WebKitTestRunnerApp"
)
webkit_private_frameworks="(WebCore|WebInspectorUI|WebKitLegacy)\.framework"

# 1. Using the build products given, find the dylibs in PrivateFrameworks that
# we link against. Create an export list from the build products scanned, which
# will included the needed symbols from these dylibs.
tbds=()
for x in "${interesting_executables[@]}"; do
for fwk in `run otool -L "$x" | grep PrivateFrameworks | grep -vE "${webkit_private_frameworks}" | awk '{ print $1 }'`; do
tbds+=("${fwk%.dylib}.tbd")
done
run nm -gj "$x" >> "${export_list}"
done

# 2. Copy TBDs for the identified dylibs to the sparse SDK.
for tbd in `echo "${tbds[@]}" | sort | uniq`; do
run ditto "${internal_sdk_dir}${tbd}" "${sparse_sdk_dir}${tbd}"
done

# 3. Strip the symbols WebKit is not using from the TBDs.
run strip-tbd -s "${export_list}" "${tbds[@]/#/${sparse_sdk_dir}}"
89 changes: 89 additions & 0 deletions Tools/Scripts/strip-tbd
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#!/usr/bin/env python3

import argparse
import collections
import yaml
import os
import tempfile

parser = argparse.ArgumentParser(description='subset of strip(1) for manipulating symbol tables in text-based API stubs')
parser.add_argument('input', type=argparse.FileType('r'), nargs='+', help='TBDs to strip')
group = parser.add_mutually_exclusive_group()
group.add_argument('-s', type=argparse.FileType('r'), dest='save_list', help='save the symbols listed in the file given')
group.add_argument('-R', type=argparse.FileType('r'), dest='remove_list', help='remove the symbols listed in the file given')

OPTS = parser.parse_args()
SELECTED_SYMBOLS = set()
STRIP_SELECTED = bool(OPTS.remove_list)

fd = OPTS.save_list or OPTS.remove_list
if fd:
for line in fd:
line = line.strip()
if line and not line.startswith('#'):
SELECTED_SYMBOLS.add(line)

# FIXME: handle JSON-based TBD format (v5)
class TBD(yaml.YAMLObject):
yaml_tag = '!tapi-tbd'

def __repr__(self):
return 'TBD(version={tbd-version}, {install-name})'.format_map(self.__dict__)

@classmethod
def to_yaml(cls, dumper, data):
dumper.sort_keys = False
mapping = super().to_yaml(dumper, data)
# Selectively enable flow layout to mimic LLVM formatting.
def walk_and_set_flow_style(node):
if isinstance(node, yaml.nodes.SequenceNode):
only_scalar = True
for n in node.value:
only_scalar &= walk_and_set_flow_style(n)
if only_scalar:
node.flow_style = True
return False
elif isinstance(node, yaml.nodes.MappingNode):
for k, v in node.value:
walk_and_set_flow_style(v)
return False
else:
node.flow_style = True
return True
walk_and_set_flow_style(mapping)
return mapping

for tbd_fd in OPTS.input:
updated_tbds = []
for tbd in yaml.unsafe_load_all(tbd_fd):
new_exports = []
while getattr(tbd, 'exports', None):
export_list = tbd.exports.pop()
write_back = False

for key, predicate in (
# field name # whether value represents a selected symbol
('symbols', lambda x: x in SELECTED_SYMBOLS),
('weak-symbols', lambda x: x in SELECTED_SYMBOLS),
('objc-classes', lambda x: f'_OBJC_CLASS_$_{x}' in SELECTED_SYMBOLS or f'_OBJC_METACLASS_$_{x}' in SELECTED_SYMBOLS),
('objc-ivars', lambda x: f'_OBJC_IVAR_$_{x}' in SELECTED_SYMBOLS),
):
if not key in export_list:
continue
filtered = [name for name in export_list[key] if predicate(name) ^ STRIP_SELECTED]
if filtered:
export_list[key] = filtered
write_back = True
else:
del export_list[key]

if write_back:
new_exports.append(export_list)
tbd.exports = new_exports
updated_tbds.append(tbd)

output_dir, output_basename = os.path.split(tbd_fd.name)
output_fd, output_name = tempfile.mkstemp(prefix=f'.{output_basename}', dir=output_dir)
output_fd = os.fdopen(output_fd, 'w')
yaml.dump_all(updated_tbds, output_fd, width=120, indent=8, explicit_start=True, explicit_end=True)
os.replace(output_name, tbd_fd.name)
2 changes: 1 addition & 1 deletion Tools/WebKitTestRunner/Configurations/Base.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ SUPPORTS_MACCATALYST = YES;
SDKROOT = macosx.internal;
ADDITIONAL_SDKS = $(WK_ADDITIONAL_SDKS);

FRAMEWORK_SEARCH_PATHS = $(inherited) $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR) $(NORMAL_UMBRELLA_FRAMEWORKS_DIR);
FRAMEWORK_SEARCH_PATHS = $(inherited) $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR) $(SDK_DIR)$(NORMAL_UMBRELLA_FRAMEWORKS_DIR);

HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include $(WEBCORE_TEST_SUPPORT_DIR) $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders $(SDK_DIR)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(WK_LIBRARY_HEADERS_FOLDER_PATH) $(HEADER_SEARCH_PATHS_$(WK_COCOA_TOUCH));
HEADER_SEARCH_PATHS_cocoatouch = $(SRCROOT)/../../Source/WebKit/Platform/spi/ios $(SRCROOT)/../../Source/WebKit/Platform/spi/watchos;
Expand Down
10 changes: 10 additions & 0 deletions WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/SDKSettings.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CanonicalName</key>
<string>WebKitSDKAdditions</string>
<key>IsBaseSDK</key>
<string>NO</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/AppServerSupport.framework/AppServerSupport
current-version: 2679.0.22
exports:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
objc-classes: [OSLaunchdJob]
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/AppStoreDaemon.framework/AppStoreDaemon
swift-abi-version: 7
exports:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
objc-classes: [ASDInstallWebAttributionParamsConfig, ASDInstallWebAttributionService]
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
current-version: 29
reexported-libraries:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
libraries: [/System/Library/PrivateFrameworks/CorePhoneNumbers.framework/CorePhoneNumbers]
exports:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
objc-classes: [CPNetworkObserver]
...
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/CorePhoneNumbers.framework/CorePhoneNumbers
exports: []
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService
exports:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
symbols: [_APSEnvironmentProduction]
objc-classes: [APSConnection, APSURLTokenInfo]
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/AuthKit.framework/AuthKit
exports:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
objc-classes: [AKAuthorizationController]
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/BackBoardServices.framework/BackBoardServices
reexported-libraries:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
libraries: [/System/Library/PrivateFrameworks/AssertionServices.framework/AssertionServices]
exports:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
objc-classes: [BKSMousePointerService]
...
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/AssertionServices.framework/AssertionServices
current-version: 858.0.6
exports: []
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/CorePrediction.framework/CorePrediction
exports:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
symbols: [_svm_load_model, _svm_predict_values]
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
--- !tapi-tbd
tbd-version: 4
targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
install-name: /System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib
exports:
- targets: [armv7-ios, armv7s-ios, arm64-ios, arm64e-ios]
symbols: [_FPFontCopyPostScriptName, _FPFontCopySFNTData, _FPFontCreateFontsFromData]
...
Loading

0 comments on commit aa721f7

Please sign in to comment.