NetDesk 1.5.0 — source release
This commit is contained in:
commit
40318aafdd
227 files changed
+80798
No files matched your search
@@ -0,0 +1,65 @@
|
||||
#
|
||||
# NetDesk by Akronlogic — CocoaPods spec that links the compiled Rust core
|
||||
# (NetDeskCore.xcframework) into the Flutter iOS Runner.
|
||||
#
|
||||
# This file is a TEMPLATE kept under version control in packaging/ios/.
|
||||
# packaging/build-ios.sh copies it to ui/ios/netdesk_core.podspec next to the
|
||||
# freshly-assembled NetDeskCore.xcframework, then adds
|
||||
# pod 'netdesk_core', :path => '.'
|
||||
# to ui/ios/Podfile so `flutter build ipa` links it automatically.
|
||||
#
|
||||
# The xcframework is a *static* library (libnetdesk_core.a, one slice per
|
||||
# platform: ios-arm64 device + ios-arm64-simulator). CocoaPods auto-selects the
|
||||
# right slice per build, so there are no hardcoded slice paths here.
|
||||
#
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'netdesk_core'
|
||||
s.version = '0.1.0'
|
||||
s.summary = 'NetDesk native Rust core (static) for iOS — Akronlogic.'
|
||||
s.description = <<-DESC
|
||||
The compiled NetDesk engine: signaling, end-to-end crypto, the media
|
||||
transport and VideoToolbox H.264 hardware decode (core/src/decode_vt.rs).
|
||||
Vendored as a static xcframework; the Flutter UI binds to it over dart:ffi /
|
||||
flutter_rust_bridge in Phase 3.
|
||||
DESC
|
||||
s.homepage = 'https://akronlogic.com'
|
||||
s.license = { :type => 'Proprietary', :text => 'Copyright Akronlogic. All rights reserved.' }
|
||||
s.author = { 'Akronlogic' => 'https://akronlogic.com' }
|
||||
s.platform = :ios, '13.0'
|
||||
s.source = { :path => '.' }
|
||||
|
||||
# The Rust core, assembled by packaging/build-ios.sh (xcodebuild -create-xcframework).
|
||||
s.vendored_frameworks = 'NetDeskCore.xcframework'
|
||||
|
||||
# System frameworks the VideoToolbox decode path links with
|
||||
# #[link(kind = "framework")] in core/src/decode_vt.rs. A static Rust lib
|
||||
# records these in its metadata but does NOT pull them in at the final app
|
||||
# link, so they must be named here.
|
||||
# CoreMedia — CMVideoFormatDescription / CMSampleBuffer / CMBlockBuffer
|
||||
# VideoToolbox — VTDecompressionSession*
|
||||
# CoreVideo — CVPixelBuffer*
|
||||
# CoreFoundation — CFDictionary/CFString/CFRelease (core-foundation-sys)
|
||||
s.frameworks = 'VideoToolbox', 'CoreMedia', 'CoreVideo', 'CoreFoundation'
|
||||
|
||||
# Vendored static xcframework, no public headers yet (the C ABI header is
|
||||
# generated with cbindgen when Phase 3's core/src/ffi.rs lands — see
|
||||
# docs/build-ios.md). CocoaPods links the archive normally; once the Phase-3
|
||||
# Dart bindings reference the symbols they are retained automatically.
|
||||
#
|
||||
# Before those bindings exist, nothing references the archive, so the linker
|
||||
# may drop it. That is harmless for the build. If you want to *prove* the
|
||||
# archive links end-to-end before Phase 3, force it in by uncommenting:
|
||||
#
|
||||
# s.user_target_xcconfig = {
|
||||
# 'OTHER_LDFLAGS' => '-force_load "${PODS_XCFRAMEWORKS_BUILD_DIR}/netdesk_core/libnetdesk_core.a"'
|
||||
# }
|
||||
#
|
||||
# (Do not combine -force_load with Phase-3 symbol references, or you may hit
|
||||
# duplicate-symbol errors — pick one.)
|
||||
|
||||
s.pod_target_xcconfig = {
|
||||
'DEFINES_MODULE' => 'YES',
|
||||
# Keep the Rust/FFI symbols discoverable for dart:ffi lookups.
|
||||
'STRIP_STYLE' => 'non-global',
|
||||
}
|
||||
end
|
||||
Reference in new issue
Block a user