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?
Post
Replies
Boosts
Views
Activity
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 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?
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.