我正在使用xcrun
编译一个我想在 AppleTV 应用程序中使用的动态库。
使用这个命令,我可以编译我的 dylib 并在 OS X 中使用:
➜ logger git:(master) ✗ ls
main.swift
➜ logger git:(master) ✗ xcrun swiftc -emit-library main.swift
➜ logger git:(master) ✗ ls
libmain.dylib main.swift
➜ logger git:(master) ✗ file libmain.dylib
libmain.dylib: Mach-O 64-bit dynamically linked shared library x86_64
但是,我不能在 AppleTV 模拟器中使用它。命令dlopen
返回。nil
然后,我尝试了一些参数,如下所示,但无法正常工作
➜ logger git:(master) ✗ xcrun swiftc -emit-library -sdk $(xcrun --show-sdk-path --sdk appletvsimulator10.1) main.swift
<unknown>:0: warning: using sysroot for 'AppleTVSimulator' but targeting 'MacOSX'
ld: warning: URGENT: building for OSX, but linking against dylib (/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator10.1.sdk/System/Library/Frameworks//CoreFoundation.framework/CoreFoundation) built for tvOS. Note: This will be an error in the future.
ld: warning: URGENT: building for OSX, but linking against dylib (/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator10.1.sdk/usr/lib/libobjc.dylib) built for tvOS. Note: This will be an error in the future.
ld: warning: URGENT: building for OSX, but linking against dylib (/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator10.1.sdk/usr/lib/libSystem.dylib) built for tvOS. Note: This will be an error in the future.
如何将我的 Swift 代码编译为动态库以在 AppleTV 中使用?