How can I retrieve Swift “header” files for Cocoa APIs?

后端 未结 3 1555
后悔当初
后悔当初 2020-12-13 03:02

The way I know I can view the automatically-translated Swift versions of Cocoa APIs is by command-clicking a Cocoa type in Xcode. For example, here\'s what is generated for

3条回答
  •  青春惊慌失措
    2020-12-13 03:17

    The Swift REPL includes a helper :print_decl - print the AST representation of the named declarations

    This blog post explains how you can write a simple script to help you use this to generate documentation for a specific type. I updated the script to allow using either OS X

    #! /bin/sh
    # usage:  [--osx] typename
    
    if [ "$1" = "--osx" ] ; then
        echo "import Cocoa\n:print_decl $2" | xcrun swift -deprecated-integrated-repl
    else
        sdk_path=$(echo `xcrun --show-sdk-path` | sed 's#MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk#iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk#')
        echo "import UIKit\n:print_decl $1" | xcrun swift -deprecated-integrated-repl -sdk "$sdk_path"
    fi
    

    Note 1: The script defaults to using the iOS SDK. If you want to use the OS X SDK use the "--osx" option as the first parameter

    Note 2: I prefer to leave out the file output that is part of the blog post so that I can use this script in other ways than just file generation

提交回复
热议问题