this post is related to the https://developer.apple.com/videos/play/wwdc2023/10061/
Hi, we are wondering if the framework should be signed.
the video indicates that all xcframework must be signed, on the other hand framework is not mentioned even website.
does anyone have ideas?
Frameworks
RSS for tagAsk questions about APIs that can drive features in your apps.
Posts under Frameworks tag
200 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
I have apps using CMAltimeter to get sensor data, but recently they stop working with iOS 17.4, it is not release but some user running beta version, the is no access to the sensor data anymore (altitude and barometer). Some user report they can fix it by manual the "Motion & Fitness" permission but it only appear on some device. Report has been sent to Apple but I post here to find the solution to fix it.
libdispatch.dylib:_dispatch_client_callout +40
Hi Team,
We have a static framework and we have included the PrivacyInfo.xcprivacy for each architecture inside the xcframework and when we try to generate the privacy report it throws error like xcprivacy not found.
Can you please tell us how to include the PrivacyInfo.xcprivacy file for static frameworks.
Hi! I'm moving my UINavigationBar and UINavigationItem to the iOS 16 style and having trouble with disabling buttons.
Before:
I'm defining rightBarButtonItems with a few barButtonItems plus a (custom) menuButtonItem (which has a menu with some more actions).
After:
I'm defining trailingItemGroups and let the system create an overflow menu dynamically, depending on space. I'm also defining some additionalOverflowItems.
Here's the problem:
How can I access the button/barButtonItem that is showing the overflow menu and call isEnabled = false? My UI, so far, has disabled all buttons during edit mode. I don't want to hide them, but have them grayed out, including the overflow menu button.
class MyVC : UIViewController {
// ...
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
// ...
// This doesn't disable the overflow menu button
navigationItem
.trailingItemGroups
.forEach {
$0.barButtonItems
.forEach {
$0.isEnabled = !isEditing
}
}
}
}
I have a project generated by Tuist and recently started to migrate to XCode 15.
I keep getting too many errors related to swiftmodule, swiftdoc, abi.json, swiftsourceinfo that, apparently, XCode is looking for in the DerivedData folder deep inside Objects-normal subdirectory but gets an error: No such file or directory
I also got a No type or protocol named 'nw_proxy_config_t' error too, related to Webkit that isn't even a dependency in that module.
I've tried to update cocoapods, tuist, ruby, add postInstall configs I found at StackOverflow, but nothing worked.
Could a gentle soul point me to the right direction here ?
Hello,
We noticed one or more issues with a recent delivery for the following app:
xyz
Version 3.0.0
Build 18396
Please correct the following issues and upload a new binary to App Store Connect.
ITMS-90338: Non-public API usage - The app references non-public symbols in Frameworks/xyz.framework/xyz: _dyld_shared_cache_file_path. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
I have created a visionOS framework from Xcode to bridge between Unity and visionOS which is used to call APIs from Unity to VisionOS.
visionOS framework we attached in Unity assets is not getting builded along with Unity visionOS build.
This method is working fine for iOS build. i.e, created a iOS framework from Xcode to bridge between Unity and iOS which is used to call APIs from Unity to iOS.
iOS framework we attached in Unity assets is getting builded along with Unity iOS build.
Whether the VisionOS framework will work in Unity same as that of iOS? Is there any additional settings to setup framework for visionOS?
Reference link for the setup method used: https://betterprogramming.pub/setting-up-ios-framework-for-unity-9ef4e577db89
We're bringing in an updated framework in our app, and the update requires ticking "Copy only when installing" in the Embed Frameworks build phase.
When ticking that box, we get numerous other errors, suggesting frameworks xyz cannot be found.
I've tried to find some documentation on this checkbox but there doesn't appear to be much on it, other then builds magically failing/suceeding when its toggled on/off. Is anyone able to shed some light on what is happening under the hood when that checkbox is ticked?
I'm currently experimenting with the latest Xcode beta 15.3 (15E5194e) and attempting to integrate FinanceKit](https://developer.apple.com/documentation/financekit) into my project. However, I've encountered a persistent issue where the app crashes upon attempting to read or request authorization, accompanied by the following error message:
FinanceKit/FinanceStore+FinancialDataAuthorization.swift:52: Fatal error: Process is not entitled
Upon investigation, I've found no evident entitlements for FinanceKit, despite exploring options like Apple Wallet. Furthermore, I thoroughly examined the info.plist for relevant privacy values but found nothing pertinent.
Here's the code snippet that triggers the fatal error, whether it's the request or read function:
I don't see anything in entitlements for FinanceKit (I tried Apple Wallet and that didn't make a difference). Additionally, I checked for relevant privacy values for the info.plist but again didn't see anything relevant.
Here is the code to reproduce the error (note calling either function will result in the same fatal error):
import FinanceKit
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
requestFinancePermission()
// readFinancePermission()
}
private func requestFinancePermission() {
Task {
do {
let status = try await FinanceStore.shared.requestAuthorization()
} catch {
print("Error: \(error)")
}
}
}
private func readFinancePermission() {
Task {
do {
let status = try await FinanceStore.shared.authorizationStatus()
} catch {
print("Error: \(error)")
}
}
}
}
I'm seeking clarification on whether FinanceKit is currently usable or if there are additional steps needed for proper integration. Any insights or suggestions would be greatly appreciated. Thank you!
In other frameworks, I've seen codeSignature included in dynamic cases, but this time Apple said, "Signatures are so required in these cases where the listed SDKs are used as binary dependencies."
Does that mean that even if the .framework file of the SDK you are deploying is static, you have to include codeSignature?
Hi there, I'm setting up a new "framework target" in my project (xcode 15.2). I dragged and drop another framework to reused (called: SDImage). But at the step of importing SDImage to my framework, my xcode 15.2 always show that
"SDImage/SDImage.h" file not found
I was trying to set target membership of SDImage, config header/framework search path already but nothing gonna help.
Please give me a solution. Thank you and have a nice day
Hello, we have a universal app that runs on iOS and iPadOS today but we're having an issue where it crashes on launch on visionOS.
When I try to run our app, I see messages like these in the console logs:
AMFI: constraint violation /private/var/containers/Bundle/Application/***/***.app/Frameworks/***.framework/*** has entitlements but is not a main binary
I see these for what seems to be all of our internal frameworks, we use cocoapods for all of these.
The following output is from running: codesign -d --entitlements :- ***.framework
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict></dict></plist>
Why would this cause a crash on launch for visionOS, but not iOS or iPadOS?
Why does AMFI think there are entitlements for the framework when they are empty?
https://developer.apple.com/documentation/managedappdistribution
https://developer.apple.com/documentation/appdistribution/fetching-and-displaying-managed-apps
We have tested the above apple documentation regarding Managed Application Distribution .
To Note : We are trying to provide a custom AppStore in our MDM App for Managed Apps.
We have done all the steps mentioned in the documentation
Got Entitlement and enabled for the app.
Used the Exact code in a new swift UI Project
Attaching Screenshots for the compile time error , i get
First Screenshot , shows an error when building the project with a physical device(iOS 17.4).
Seconds one , shows different error when building with a simulator.
I have checked all the apple documentations and wwdc videos for further clue on this. But no help !
It will be helpful, if anyone help me with exact working model for this framework.
I'm creating an SDK, the static library doesn't have a target membership check, how do I add it?
I'm wondering what should I write in the associated static library(.a) if the user adds occupation privacyinfo.
I can't find any examples, so if anyone has solved this, I'd appreciate an example :)
Feature-rich products like Firebase offer a lot of features, but don't use all of them.
For example, Firebase Analytics may or may not use a user id.
Do I need to include all the features of firebase analytics in my privacy manifest just because I've included firebase analytics in my app, even if I don't use it?
I'm developing a (XC) 3rd party framework, but the framework doesn't use any privacy access API as listed in listed in this document. Do I still need to include the PrivacyManifest.xcprivacy file which will have empty content into the framework?
I have the following problem:
In the Moodle application there is a personalized screen to access some courses, for this a "mustache" file was added to the Moodle code with the following code:
<ion-list >
<%#Cursos%>
<%#.%>
<ion-card style="height: 50%;">
<img alt="Silhouette of mountains" src="<%wwwroot%>/theme/almondb/pix/portada.jpg" />
<ion-card-header>
<ion-card-title><%fullname%></ion-card-title>
<ion-card-subtitle><%shortname%></ion-card-subtitle>
</ion-card-header>
<ion-card-content>
<ion-list>
<a href="moodlemobile://<%wwwroot%>?redirect=/course/view.php?id=<%id%>" data-open-in="app" style="text-decoration: none;">
<ion-item lines="inset" detail="true">
<ion-label>
<%fullname%>
</ion-label>
</ion-item>
</a>
</ion-list>
</ion-card-content>
</ion-card>
<%/.%>
<%/Cursos%>
</ion-list>
Custom URLs were used to achieve this. On Android the application works correctly, when you click it takes you to the course screen, however, on IOS it gives an error: "failed to load webpage with error unsupported url"
I have tried the following solutions that I found in other forums
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src 'self' 'unsafe-inline' 'unsafe-eval' *; media-src 'self' 'unsafe-inline' 'unsafe-eval' *; img-src 'self' 'unsafe-inline' 'unsafe-eval' * data:;">
preference name="WKPort" value="8080"
preference name="UseScheme" value="false"
<allow-navigation href="moodlemobile:*" />
[Image Edited by Moderator to Remove Personal Information]
I am perplexed as to how to use async await. In the following example, I don't use GCD or performSelector(inBackground:with:). The view controller is NSViewController, but it doesn't make any difference if it's NSViewController or UIViewController.
import Cocoa
class ViewController: NSViewController {
func startWriteImages() {
Task{
let bool = await startWriteImagesNext()
if bool {
print("I'm done!")
}
}
}
func startWriteImagesNext() async -> Bool {
// pictures is a path to a folder in the sandbox folder
// appDelegate.defaultFileManager is a variable pointing to FileManager.default in AppDelegate
let pictURL = URL(fileURLWithPath: pictures)
if let filePaths = try? self.appDelegate.defaultFileManager.contentsOfDirectory(atPath: pictURL.path) {
for file in filePaths {
let fileURL = pictURL.appending(component: file)
if self.appDelegate.defaultFileManager.fileExists(atPath: fileURL.path) {
let newURL = self.folderURL.appending(component: file)
do {
try self.appDelegate.defaultFileManager.copyItem(at: fileURL, to: newURL)
} catch {
print("Ugghhh...")
}
}
}
return true
}
return false
}
func startWriteImagesNext2() async -> Bool {
let pictURL = URL(fileURLWithPath: pictures)
if let filePaths = try? self.appDelegate.defaultFileManager.contentsOfDirectory(atPath: pictURL.path) {
DispatchQueue.global().async() {
for file in filePaths {
let fileURL = pictURL.appending(component: file)
if self.appDelegate.defaultFileManager.fileExists(atPath: fileURL.path) {
let newURL = self.folderURL.appending(component: file)
do {
try self.appDelegate.defaultFileManager.copyItem(at: fileURL, to: newURL)
} catch {
print("Ugghhh...")
}
}
}
}
return true
}
return false
}
}
In the code above, I'm saving each file in the folder to user-selected folder (self.folderURL). And the application will execute the print guy only when work is done. Since it's heavy-duty work, I want to use CCD or performSelector(inBackground:with:). If I use the former (startWriteImagesNext2), the application will execute the print guy right at the beginning. I suppose I cannot use GCD with async. So how can I perform heavy-duty work? Muchos thankos.
There are several questions regaring the following guide about Interoperability requests in the EU.
Will other developers be able to use all the APIs that have been created? For non-EU applications?
If it's a private API, would there be a list of all the APIs that have been implemented to see who has which one?
Will there be a difference in priority between feature requests submitted through Feedback Assistant and interoperability requests?