flutter-tsnet/ios/tsnet_flutter.podspec
Mathias Beaulieu-Duncan 63f0315ee7 Rename package to tsnet_flutter for pub.dev publishing under Svrnty
- Rename Dart package: tailscale_kit → tsnet_flutter
- Rename Swift plugin class: TailscaleKitPlugin → TsnetFlutterPlugin
- Rename podspec: tailscale_kit → tsnet_flutter
- Update MethodChannel name to tsnet_flutter
- Add BSD-3-Clause LICENSE (compatible with Tailscale's license)
- Update metadata for pub.dev: homepage, repository, author

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 06:10:34 -04:00

50 lines
1.7 KiB
Ruby

Pod::Spec.new do |s|
s.name = 'tsnet_flutter'
s.version = '0.1.0'
s.summary = 'Embedded Tailscale tsnet for Flutter'
s.description = <<-DESC
Embed Tailscale's tsnet in Flutter apps. Provides a userspace WireGuard
tunnel with a localhost TCP proxy. Built with go build -buildmode=c-archive.
No VPN entitlement needed — uses userspace netstack.
DESC
s.homepage = 'https://github.com/svrnty/tsnet_flutter'
s.license = { :type => 'BSD-3-Clause', :file => '../LICENSE' }
s.author = { 'Svrnty' => 'mathias@svrnty.io' }
s.source = { :path => '.' }
s.source_files = 'Classes/**/*.{swift,h}'
s.public_header_files = 'Classes/**/*.h'
s.preserve_paths = 'TailscaleKit.xcframework'
s.dependency 'Flutter'
s.platform = :ios, '14.0'
s.swift_version = '5.0'
s.libraries = 'resolv'
s.pod_target_xcconfig = {
'DEFINES_MODULE' => 'YES',
'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386 x86_64',
'OTHER_LDFLAGS' => '$(inherited) -force_load "$(PODS_TARGET_SRCROOT)/_current_slice/TailscaleKit.framework/TailscaleKit"',
}
s.user_target_xcconfig = {
'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386 x86_64',
}
s.script_phase = {
:name => 'Select TailscaleKit Slice',
:script => <<-'SCRIPT',
PLUGIN_DIR="${PODS_TARGET_SRCROOT}"
LINK="${PLUGIN_DIR}/_current_slice"
rm -f "$LINK"
if [ "$PLATFORM_NAME" = "iphonesimulator" ]; then
ln -sf "TailscaleKit.xcframework/ios-arm64-simulator" "$LINK"
else
ln -sf "TailscaleKit.xcframework/ios-arm64" "$LINK"
fi
echo "TailscaleKit: selected $PLATFORM_NAME slice"
SCRIPT
:execution_position => :before_compile,
}
end