Comments (4)
you probably want a ios_extension target, and then the details that make it a network extension specifically normally come from the Info.plist of that target, which is up to you to provide. The easiest way is probably to create a new network extension target in Xcode and copy the plist from there
from rules_apple.
Can you be more specific?
from rules_apple.
you probably want a ios_extension target, and then the details that make it a network extension specifically normally come from the Info.plist of that target, which is up to you to provide. The easiest way is probably to create a new network extension target in Xcode and copy the plist from there
I want to add a Network Extension to my app, but I don't seem to be generating Targets successfully. Here is my configuration: `plist_fragment(
name = "VPNTunnelInfoPlist",
extension = "plist",
template =
"""
CFBundleDevelopmentRegion
en
CFBundleIdentifier
{bundle_id}.VPNTunnel
CFBundleName
Telegram
CFBundlePackageType
XPC!
NSExtension
NSExtensionPointIdentifier
com.apple.networkextension.packet-tunnel
NSExtensionPrincipalClass
PacketTunnelProvider
""".format(
bundle_id = bundle_id,
)
)
ios_extension(
name = "VPNTunnelExtension",
bundle_id = "{bundle_id}.VPNTunnel".format(
bundle_id = bundle_id,
),
families = [
"iphone",
"ipad",
],
infoplists = [
":VPNTunnelInfoPlist",
":VersionInfoPlist",
":RequiredDeviceCapabilitiesPlist",
":BuildNumberInfoPlist",
":AppNameInfoPlist",
],
minimum_os_version = minimum_os_version,
entitlements = ":VPNTunnel.entitlements",
frameworks = [
],
)`
from rules_apple.
Can you be more specific?
I want to add a Network Extension to my app, but I don't seem to be generating Targets successfully. Here is my configuration: `plist_fragment(
name = "VPNTunnelInfoPlist",
extension = "plist",
template =
"""
CFBundleDevelopmentRegion
en
CFBundleIdentifier
{bundle_id}.VPNTunnel
CFBundleName
Telegram
CFBundlePackageType
XPC!
NSExtension
NSExtensionPointIdentifier
com.apple.networkextension.packet-tunnel
NSExtensionPrincipalClass
PacketTunnelProvider
""".format(
bundle_id = bundle_id,
)
)
ios_extension(
name = "VPNTunnelExtension",
bundle_id = "{bundle_id}.VPNTunnel".format(
bundle_id = bundle_id,
),
families = [
"iphone",
"ipad",
],
infoplists = [
":VPNTunnelInfoPlist",
":VersionInfoPlist",
":RequiredDeviceCapabilitiesPlist",
":BuildNumberInfoPlist",
":AppNameInfoPlist",
],
minimum_os_version = minimum_os_version,
entitlements = ":VPNTunnel.entitlements",
frameworks = [
],
)`
from rules_apple.
Related Issues (20)
- How to obtain swiftc log for use in swiftlint
- Dylibs from CcInfo are not packaged with macos_application
- Runfiles not bundled with macos_application
- [Bazel CI] Bazel fails to build app with App Intents due to AppIntentsMetadataProcessor failure HOT 3
- Failing on Bazel last_green because of missing `tools/objc/j2objc_dead_code_pruner_binary.py`
- Can `build --enable_platform_specific_config` automatically detect the right APPLE_SDK_PLATFORM for build target? HOT 3
- Extending apple_metal_library rule
- Extend `apple_core_ml_library` functionality HOT 1
- ios_application with launch xcassets containing pdf images HOT 4
- `apple_dynamic_xcframework_import` unnecessarily bundles `.abi.json` files HOT 1
- dSYMs imported with dynamic xcframeworks are not part of the `dsyms` output group
- iOS app has a runtime crash when upgrading from Bazel 6.4 to Bazel 7.1.2 HOT 1
- cc_info_dylibs_partial packages non `.dylib` files too.
- `java.lang.RuntimeException` when building for multiple archs an `ios_application` that depends on an `apple_framework` HOT 1
- [Bazel CI] Test //test/starlark_tests:apple_static_library_runfiles_test failed with exit code 1
- `apple_xcframework` doesn't work with `data` that has `glob` value for coredata model
- apple_xcframework: Invalid Info.plist generated for xcframework supporting both device and simulator
- ios_xctestrun_runner crashing in Xcode 16 RC1
- Unable to run cpp tests through ios_unit_test rule
- Debugging Entitlements are disabled on macOS HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rules_apple.