I have gone through (many times) the videos and documentation around adding privacy manifest support to applications and SDKs etc - specifically via the expected PrivacyInfo.xcprivacy file.
I am across adding it to the application, and to libraries that produce an xcframework (and signing those etc), however, I also have a series of Swift Package libraries available on GitHub which afaict will also require the privacy info file to declare the libraries privacy related intentions.
So my questions are:
Where should I add this file within the package setup?
Should there be a privacy info file per importable target?
Is it expected that the generated privacy report of an application will show info about the library?
I have tried within the sources area, and in the root/manifest section, but when I generate a privacy report on the archived application that utilities this library, I can't see any indication that the info is included in the report.
This is the generated privacy report from Xcode organiser:
My libraries do not actually track or access anything in the required API's list, however I also added some user tracking and linking etc to the privacy info file as a test, and it does not indicate that these are happening in the generated privacy report on the application.
Quick example/clarification:
I have tried putting the file here:
MyPackage
- Package.swift
> Sources
> TargetName
- PrivacyInfo.xcprivacy
and here
MyPackage
- Package.swift
- PrivacyInfo.xcprivacy
> Sources
> TargetName
If there are docs that I have missed running through this, please link me 😅- I have searched for some clear answers through docs and forum questions but I can't seem to get clarification.
Post
Replies
Boosts
Views
Activity
I am trying to connect to a socket using a url, which I can confirm connects successfully when using a socket connect tool, but when I try using URLSessionWebSocketTask it fails with the error:
Note: have had to replace url domain and endpoint with *example.com/endpoint` for work reasons
... NSLocalizedDescription=A server with the specified hostname could not be found.}
FAIL: Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo={NSErrorFailingURLStringKey=https://example.com/endpoint, NSLocalizedDescription=A server with the specified hostname could not be found., NSErrorFailingURLKey=https://example.com/endpoint}
The url I provide starts with the wss prefix:
let socketUrl = "wss://example.com/endpoint"
...
webSocketTask = urlSession.webSocketTask(with: socketUrl)
webSocketTask?.resume()
but the error posted earlier indicates that the task is trying to connect using https instead (which the server does not support).
I don't remember having to setup anything last time, but it has been about a year since working with these things. Have I missed something setup or app transport security settings etc?
One of the functions in an app I made is to add bookmarks to directories that a plugin can access (read-only).
For the most part it works fine, however, I have noticed that granting access to a directory containing a Package.swift will cause the startAccessingSecurityScopedResource method to fail.
I am not currently using the .withSecurityScope option when retrieving the bookmark data:
let data = try url.bookmarkData(options: [], includingResourceValuesForKeys: nil, relativeTo: nil)
however it is worth noting that when I do include the .withSecurityScope option this method also fails with an error 256: Failed to open/cannot open
I have read through the documentation and I can't see anything specific around the contents of a directory. Was wondering if anyone else has hit this one or has any links to specific documentation around the issue/directory content limitations?
I have built an XcodeSourceEditorExtension which I can:
Run locally from xcode (launching greyed out xcode etc)
Archive successfully
Upload/Distribute to TestFlight
Download and launch the application from TestFlight
See the app and extension in System Preferences>Extensions>(Added Extensions|Xcode Source Editor)
I have checked the boxes but the extension never appears in the Xcode>Editor menu.
Have tried all "fixes" I have read about, including re-installing xcode. However, nothing seems to work. All TestFlight testers have the same issue.
Have also run the following terminal commands:
pluginkit -m -p com.apple.dt.Xcode.extension.source-editor
pluginkit -m -p com.apple.dt.Xcode.extension.source-editor -A -D -vvv
which generates the following output:
+ com.cheekyghost.<appName>.XcodeExtension(1.0)
+ com.cheekyghost.<appName>.XcodeExtension(1.0)
Path = /Applications/<appName>app/Contents/PlugIns/<appName>Extension.appex
UUID = ********-****-****-****-************
Timestamp = 2022-07-26 10:40:39 +0000
SDK = com.apple.dt.Xcode.extension.source-editor
Parent Bundle = /Applications/<appName>.app
Display Name = <appName> Extension
Short Name = <appName>Extension
Parent Name = <appName>
(1 plug-in)
I feel like I'm missing something but can't for the life of me see what. Has anyone else run into this issue while distributing an Xcode source extension?