Frameworks

RSS for tag

Ask questions about APIs that can drive features in your apps.

Posts under Frameworks tag

200 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Privacy Manifests in a static xcframework
We have a closed-source SDK distributed as a static framework. We are experiencing some difficulty in incorporating Privacy Manifests. We added the Privacy Manifest as a resource in the xcframework using the Copy Bundle Resources phase. Our expectation was that the developer could then add the xcframework to their application and select the Embed Without Signing embed option. Even though it's a static framework, Xcode removes the static archive from the framework when it is embedded in the target bundle as described here: Embedding a static framework using a Copy Files build phase now removes the static archive from the framework when it is embedded in the target bundle. The REMOVE_STATIC_EXECUTABLES_FROM_EMBEDDED_BUNDLES build setting can be set to NO to opt out of this behavior. The COPY_RESOURCES_FROM_STATIC_FRAMEWORKS build setting, previously used in the legacy build system to extract and copy the resources from a static framework to the target bundle, no longer has any effect with the new build system as the entire framework is copied instead (minus the static archive as described above) The problem is that by doing this, the Info.plists present in the platform folder (.framework) is also embedded into the host app. The Info.plist now references the binary that was removed, causing a validation error when uploading to iTunes Connect. Similarly, if we remove the Info.plist from the xcframework platforms folders, it is not possible to run the host application on the simulator. Firebase is facing the same problem as they prepare to incorporate Privacy Manifests into their frameworks. When distributing via CocoaPods and SPM, we do not have this problem since it is possible to reference an external .xcprivacy to the xcframework in the package itself. So, in summary, how do we incorporate Privacy Manifests into a static framework?
5
1
2.4k
May ’24
syscall to map cache into shared region failed
Hello, I'm facing a crash on launch for my program. This has been a recent find since upgrading to Xcode 15.1 and using new ld_prime linker. I am able to launch my release build which has different optimization flags. I'm not using any Diagnostics options in my program scheme. The error I get is about a system framework not being found. When I look up these file locations the framework found in System/Library is there but the one in /private/preboot/Cryptexes/OS is missing. I'm running with --verbose linker/build flags but I don't get any more info than this (no warnings during build either). dyld[439]: Library not loaded: /System/Library/Frameworks/Foundation.framework/Foundation Referenced from: <XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX> /private/var/containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/application.app/application Reason: tried: '/System/Library/Frameworks/Foundation.framework/Foundation' (no such file), '/private/preboot/Cryptexes/OS/System/Library/Frameworks/Foundation.framework/Foundation' (no such file), '/System/Library/Frameworks/Foundation.framework/Foundation' (no such file, no dyld cache) These look like system files so I would appreciate some assistance in finding why the framework in the Cryptexes directory is missing. Thank you!
3
0
511
Jan ’24
Custom library( xcframework ) developed in m1 is not woking on m1 machine rosetta simulator
I have created one xcframework library by using this below script : [# Type a script or drag a script file from your workspace to insert its path. #Gerenate device framework xcodebuild archive -scheme ${PROJECT_NAME} -archivePath "${PROJECT_DIR}/build/${PROJECT_NAME}-iphoneos.xcarchive" -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES #Generate simulator framework xcodebuild archive -scheme ${PROJECT_NAME} -archivePath "${PROJECT_DIR}/build/${PROJECT_NAME}-iossimulator.xcarchive" -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES #Generate xcframework for both arches xcodebuild -create-xcframework -framework "${PROJECT_DIR}/build/${PROJECT_NAME}-iphoneos.xcarchive/Products/Library/Frameworks/${PROJECT_NAME}.framework" -framework "${PROJECT_DIR}/build/${PROJECT_NAME}-iossimulator.xcarchive/Products/Library/Frameworks/${PROJECT_NAME}.framework" -output "${PROJECT_DIR}/build/${PROJECT_NAME}.xcframework" #Open directory where xcframework were generate open "${PROJECT_DIR}/build"](https://www.example.com/) its generated this folder with two slices.: JawwyGamification.xcframework ios-arm64 ios-arm64_x86_64-simulator Info.plist When i try to run on real device and apple slicon based simulator its wokring fine. But when i try to run on rosetta simulator in my m1 mac xcode 14.3.1 i am getting unsuportted swift architecture error on ios-arm64 folder framework header .h file Also i excluded the archtectire for my library and in project settings Any iOS simualator - arm64 then also no luck. but the wired thing is if i rearrange the slice order to this : JawwyGamification.xcframework ios-arm64_x86_64-simulator ios-arm64 Info.plist its working fine in all simulator and real device. I understand when i run on m1 mac rosetta simulator its failing to take the ios-arm64_x86_64-simulator. So the error is showing on ios-arm64 slice framework header Any idea to fix this. Additional info : in my project library. : Its an release build Build Active architecture only - NO Architecture - Standard
0
1
306
Jan ’24
What to do with Privacy Manifest Report
Updating our SDK and App with privacy manifests I'm struggling to understand what the PDF reports are used for. Privacy Manifest Apple page A few things which I can't find an answer for are; What is the point of the PDF report? It seems filling in the manifests doesn't autofill the app privacy questions on app store connect Is there a way for this report to be generated as part of an automated build process in xcodebuild?
0
1
791
Jan ’24
HIToolbox crashes on macOS
Lately, we are getting a few crash reports ending up with: NSRangeException *** -[NSConcreteTextStorage attribute:atIndex:longestEffectiveRange:inRange:]: Range or index out of bounds The full stack trace is: Thread 0 Crashed: 0 CoreFoundation 0xfff0177080a6 __exceptionPreprocess 1 libobjc.A.dylib 0xfff016dcd231 objc_exception_throw 2 UIFoundation 0xfff020adce02 -[NSConcreteTextStorage attribute:atIndex:longestEffectiveRange:inRange:] 3 AppKit 0xfff01f051947 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke_7.611 4 AppKit 0xfff01f05178e __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke_2.605 5 AppKit 0xfff01f04d137 -[NSTextInputContext tryHandleTSMEvent_attributedString_attributedSubstringForProposedRange_withContext:dispatchCondition:dispatchWork:dispatchFurtherCondition:dispatchFurtherWork:continuation:] 6 AppKit 0xfff01e4d37c7 -[NSTextInputContext handleTSMEvent:completionHandler:] 7 AppKit 0xfff01e4d29c8 _NSTSMEventHandler 8 HIToolbox 0xfff02c78f702 DispatchEventToHandlers 9 HIToolbox 0xfff02c78eb4e SendEventToEventTargetInternal 10 HIToolbox 0xfff02c78e9ed SendEventToEventTargetWithOptions 11 HIToolbox 0xfff02c7e7da0 SendTSMEvent_WithCompletionHandler 12 HIToolbox 0xfff02c9404bf __SendTextInputEvent_WithCompletionHandler_block_invoke 13 HIToolbox 0xfff02c93ee07 SendTextInputEvent_WithCompletionHandler 14 HIToolbox 0xfff02c9a06b4 -[IMKInputSession _postEvent:completionHandler:] 15 HIToolbox 0xfff02c9b3997 -[IMKInputSession do_coreAttributesFromRange_postEventLoopWithContext:initBlockEach:postEventCompletionEach:whileConditionBlock:finalCompletion:] 16 HIToolbox 0xfff02c9b4710 __78-[IMKInputSession _coreAttributesFromRange:whichAttributes:completionHandler:]_block_invoke_10 17 HIToolbox 0xfff02c7fc58c DispatchEventToHandlers 18 AppKit 0xfff01f051707 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke_7.599 19 AppKit 0xfff01f051412 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke_2.593 20 AppKit 0xfff01f04d137 -[NSTextInputContext tryHandleTSMEvent_attributedString_attributedSubstringForProposedRange_withContext:dispatchCondition:dispatchWork:dispatchFurtherCondition:dispatchFurtherWork:continuation:] 21 AppKit 0xfff01e4d37c7 -[NSTextInputContext handleTSMEvent:completionHandler:] 22 AppKit 0xfff01e4d29c8 _NSTSMEventHandler 23 HIToolbox 0xfff02c78f702 DispatchEventToHandlers 24 HIToolbox 0xfff02c78eb4e SendEventToEventTargetInternal 25 HIToolbox 0xfff02c78e9ed SendEventToEventTargetWithOptions 26 HIToolbox 0xfff02c7e7da0 SendTSMEvent_WithCompletionHandler 27 HIToolbox 0xfff02c9404bf __SendTextInputEvent_WithCompletionHandler_block_invoke 28 HIToolbox 0xfff02c93ee07 SendTextInputEvent_WithCompletionHandler 29 HIToolbox 0xfff02c9a06b4 -[IMKInputSession _postEvent:completionHandler:] 30 HIToolbox 0xfff02c9b3997 -[IMKInputSession do_coreAttributesFromRange_postEventLoopWithContext:initBlockEach:postEventCompletionEach:whileConditionBlock:finalCompletion:] 31 HIToolbox 0xfff02c9b39fe __145-[IMKInputSession do_coreAttributesFromRange_postEventLoopWithContext:initBlockEach:postEventCompletionEach:whileConditionBlock:finalCompletion:]_block_invoke 32 HIToolbox 0xfff02c7fc58c DispatchEventToHandlers 33 AppKit 0xfff01f051707 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke_7.599 34 AppKit 0xfff01f051412 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke_2.593 35 AppKit 0xfff01f04d137 -[NSTextInputContext tryHandleTSMEvent_attributedString_attributedSubstringForProposedRange_withContext:dispatchCondition:dispatchWork:dispatchFurtherCondition:dispatchFurtherWork:continuation:] 36 AppKit 0xfff01e4d37c7 -[NSTextInputContext handleTSMEvent:completionHandler:] 37 AppKit 0xfff01e4d29c8 _NSTSMEventHandler 38 HIToolbox 0xfff02c78f702 DispatchEventToHandlers 39 HIToolbox 0xfff02c78eb4e SendEventToEventTargetInternal 40 HIToolbox 0xfff02c78e9ed SendEventToEventTargetWithOptions 41 HIToolbox 0xfff02c7e7da0 SendTSMEvent_WithCompletionHandler 42 HIToolbox 0xfff02c9404bf __SendTextInputEvent_WithCompletionHandler_block_invoke 43 HIToolbox 0xfff02c93ee07 SendTextInputEvent_WithCompletionHandler 44 HIToolbox 0xfff02c9a06b4 -[IMKInputSession _postEvent:completionHandler:] 45 HIToolbox 0xfff02c9b3997 -[IMKInputSession do_coreAttributesFromRange_postEventLoopWithContext:initBlockEach:postEventCompletionEach:whileConditionBlock:finalCompletion:] It mostly affects our macOS 14 users who are from China, Hong Kong, and Taiwan - using weird locales most probably. Is anyone having similar problems?
0
0
361
Jan ’24
3rd party SDK requirements
Hi everyone, after looking through the WWDC videos and documentations I can see that there is a new requirement of privacymanifest and code signature for 3rd party SDKs consumed as a binary dependency. I just have two questions in relation to this 1.if my company takes the source code of let's say AFNetworking and build it into a binary dependency in our environment for our app to consume. Does this mean that we can provide our own privacy manifest and code signing?
 
2. If we are unable to provide our own manifest and code signature in the case of MFEs such as AFNetworking that is deprecated. How will we proceed from there?
1
0
518
Jan ’24
Privacy manifest for xcframework with static libraries
Hello. We provide the SDK in the form of a static library wrapped in the xcframework. Therefore, the final app will not include any embedded frameworks. I know that when an SDK is included in an app using the embed method, there is a separate privacy manifest for the SDK in the app. However, since static libraries are usually included in a do not embed manner, I wonder if there is another way. Also, if use SPM, cannot specify the embed format separately. Therefore, when creating a Privacy Report in the app, the privacy manifest item included in the SDK is not included. I wonder if there will be no problem if I simply include the privacy manifest file in the xcframework. (Even if it is not included separately in the app like a dynamic library) Any response would be appreciated.
1
1
884
Feb ’24
How to capture App Crash details in custom Framework to improve framework functionality?
Our team developed a unique iOS framework and SDK, which we shared with our clients to incorporate into their iOS applications. Because of certain regulations, we don't integrate third-party frameworks to track SDK/App crashes and statistics. To improve our Framework, we therefore made the decision to record SDK/Framework crashes and send them to our server. Is it possibile to read/record App crash report in the standalone SDK itself and send them to our server at the time of SDK initialisation of next time. Thanks in advance.
0
0
280
Jan ’24
Swift and Objective C interoperabiloty
I am working on the project in which we are migrating from iOS project to framework. I am facing issue with Objective-C and swift interoperability. I have one Swift class let suppose profile, it has been exposed to objective c import Foundation @objc public class Profile: NSObject { @objc public var name : String? @objc public func getName() -> String{ return "XYZ" } } When I am importing “ProductName-Swift.h” it is showing me error in generated header for the module map like “@import ModuleMapPrivate not found” I wanted to know is there any way in which I can import “Profile-Swift.h” instead of “ProductName-Swift.h” ?
3
0
454
Jan ’24
Using NWConnectionGroup over UDP for implementing multicast group over multicast IP & given port range.
Our App design requires Apps to be able to discover and communicate with other Apps in the same Local/Enterprise network over a range of given ports. To facilitate this, I am exploring NWConnectionGroup over UDP. As per the following documentation (How to use multicast networking in your app) I am writing sample code where objective is to create a Multicast group among two different programs running on the same macOS (14.1) system and enabling multicast communication between them. Based on the following note in documentation I understand that I don’t need multicast entitlement if I am using sample code (Command Line Tool). Note: You can test your app using the iOS and iPadOS simulators without an active entitlement, but using multicast and broadcast networking on physical hardware requires the entitlement. Is this understanding correct? If yes. Approach 1: When I create multicast group in both the programs on same multicast IP and Port (224.0.0.251:8900), the second program is not executing and gives following "Address already in use" error. I have used allowLocalEndpointReuse (true) while creating NWConnectionGroup. Is this expected? Error Logs: Group entered state failed(POSIXErrorCode(rawValue: 48): Address already in use) Send complete with error Optional(POSIXErrorCode(rawValue: 89): Operation canceled) nw_path_evaluator_evaluate NECP_CLIENT_ACTION_ADD error 48 nw_path_create_evaluator_for_listener nw_path_evaluator_evaluate failed nw_listener_start_on_queue [L1] nw_path_create_evaluator_for_listener failed nw_connection_group_handle_listener_state_change [G1] listener failed with error nw_connection_group_send_message_internal [G1] Cannot send a message on a failed or cancelled group As per attached sample code, do you see anything specific which I might be missing, pointers to that will help. Note: Difference between Approach1 and Approach2 is only the Port Number Second Approach: So, I tried with same multicast IP but binding to different ports for both the programs (224.0.0.251:8900 & 224.0.0.251:8901). Here, for both the programs group.send() to self was getting received by the group.setReceiveHandler() but same multicast message was not being received by the other program. Question: Is this approach correct? If yes, what could be the reason behind NOT receiving the multicast messages? /************** NWConnectionGroup 1*********************/ import Foundation import Network // Create a NWMulticastGroup to describe the multicast group guard let multicast = try? NWMulticastGroup(for: [.hostPort(host: "224.0.0.250", port: 8900)]) else { fatalError("Error creating multicast group") } let params = NWParameters.udp; params.allowLocalEndpointReuse = true; // Create an NWConnectionGroup to handle multicast communication let group = NWConnectionGroup(with: multicast, using: params) // Set the handler for incoming messages group.setReceiveHandler(maximumMessageSize: 16384, rejectOversizedMessages: true) { (message, content, isComplete) in print("Received message from \(String(describing: message.remoteEndpoint))") if let content = content, let message = String(data: content, encoding: .utf8) { print("Received Message: \(message)")} //print("Current group members:", group.descriptor.members) for member in group.descriptor.members { switch member { case .hostPort(let host, let port): print("Member Host: \(host), Port: \(port)") default: print("Member Endpoint: \(member)") } } // Send acknowledgment //let sendContent = Data("ack from Device 1".utf8) /*group.send(content: sendContent) { (error) in print("Acknowledgment sent with error: \(String(describing: error))") }*/ if isComplete { print("Connection closed") } } // Set the state update handler group.stateUpdateHandler = { (newState) in print("Group entered state \(String(describing: newState))") } // Start the NWConnectionGroup group.start(queue: .main) // Send a message to the multicast group let groupSendContent = Data("Hello All from Device 1".utf8) group.send(content: groupSendContent) { (error) in print("Send complete with error \(String(describing: error))") } // Keep the run loop running RunLoop.main.run() /***************************NWConnectionGroup 2 **********************/ import Foundation import Network // Create a NWMulticastGroup to describe the multicast group guard let multicast = try? NWMulticastGroup(for: [.hostPort(host: "224.0.0.250", port: 8901)]) else { fatalError("Error creating multicast group") } let params = NWParameters.udp; params.allowLocalEndpointReuse = true; // Create an NWConnectionGroup to handle multicast communication let group = NWConnectionGroup(with: multicast, using: params) // Set the handler for incoming messages group.setReceiveHandler(maximumMessageSize: 16384, rejectOversizedMessages: true) { (message, content, isComplete) in print("Received message from \(String(describing: message.remoteEndpoint))") if let content = content, let message = String(data: content, encoding: .utf8) { print("Received Message: \(message)")} // Send acknowledgment /*let sendContent = Data("ACK from Device 2".utf8) group.send(content: sendContent, to: message.remoteEndpoint) { (error) in print("Acknowledgment sent with error: \(String(describing: error))") }*/ if isComplete { print("Connection closed") } } // Set the state update handler group.stateUpdateHandler = { (newState) in print("Group entered state \(String(describing: newState))") } // Start the NWConnectionGroup group.start(queue: .main) // Send a message to the multicast group let groupSendContent = Data("Hello All from Device 2".utf8) group.send(content: groupSendContent) { (error) in print("Send complete with error \(String(describing: error))") } // Keep the run loop running RunLoop.main.run()
2
0
596
Jan ’24
Are there any macOS framework references for C?
Im having difficulty trying to find C references for the functions and their inputs for the frameworks inside of /System/Library/Frameworks/. Whenever I search it up online I can only get documentation for usage in Swift and Obj-C. I'm trying to link to Carbon.framework in C++ but I can't seem to find any references for the actual funtions I can use. This seems to be across all of the frameworks and the closest I found to a source of refrences was the documentation archive but none of it seems to show the actual references. If anyone has a link to any sort of refrences of any kind then please link them 🥰
3
0
468
Jan ’24
Sensitive Content Analysis Debug Profile: Invalid Signature
Hi all, I'm attempting to test integration of the Sensitive Content Analysis (SCA) framework in my iOS application. To do so, my understanding is that I need to install the SCA debugging profile in order to generate false-positives. However, when I attempt to download and install the profile on my iOS device, I receive this error message: The error message indicates that the "Profile 'SensitiveContentAnalysis Debug Profile' has an invalid signature." Is there something on my device that's improperly configured and preventing its installation, or does the linked debug profile from Apple really, truly contain an invalid signature?
1
2
569
Dec ’23
dyld[2003]: Symbol not found: _$s6SQLite10ConnectionC8LocationO8inMemoryyA2EmFWC
There are 2 framework in my project. App imports Famework-A, and Framework-A imports Framework-B. And Framework-B uses some oss like SQlite. When I build these Frameworks, I haven't embed any framework, I embed them in my App. And i was asked to use SPM only to build App but actually I need dynamic library because serveal parts in Framework-B use the same one like SQLite. In order to build dynamic framewok using SPM, I fork the oss to my own github and add type:.dynamic in Package.swift and then download them. And then this error occurs. I also tried to embed these oss in Framewok-A and build the App, everything is ok. here is the error: dyld[2003]: Symbol not found: _$s6SQLite10ConnectionC8LocationO8inMemoryyA2EmFWC Referenced from: <4B8F1B6D-C959-38BE-84E4-B93DF2BF0DDC> /private/var/containers/Bundle/Application/E6C1C0C2-AC80-4562-AA80-05373206ED9E/MPTDKSampleApp.app/Frameworks/DeviceAgentLogs.framework/DeviceAgentLogs Expected in: <FC6697C5-DD8F-36D0-86B5-A0A7E817FB71> /private/var/containers/Bundle/Application/E6C1C0C2-AC80-4562-AA80-05373206ED9E/MPTDKSampleApp.app/Frameworks/SQLite.framework/SQLite SQLite-Connection-Location-inMemoryis part of the source in SQLite and it should be located in ./Frameworks/SQLite.framework/SQLite. My question is MPTDKSampleApp.app/Frameworks/SQLite.framework/SQLite is existed, so why this error happens? here is the Package.swift i edited: import PackageDescription let package = Package( name: "SQLite.swift", platforms: [ .iOS(.v11), .macOS(.v10_13), .watchOS(.v4), .tvOS(.v11) ], products: [ .library( name: "SQLite", type:.dynamic, targets: ["SQLite"] ) ], targets: [ .target( name: "SQLite", exclude: [ "Info.plist" ] ), .testTarget( name: "SQLiteTests", dependencies: [ "SQLite" ], path: "Tests/SQLiteTests", exclude: [ "Info.plist" ], resources: [ .copy("Resources") ] ) ] ) #if os(Linux) package.dependencies = [ .package(url: "https://github.com/stephencelis/CSQLite.git", from: "0.0.3") ] package.targets.first?.dependencies += [ .product(name: "CSQLite", package: "CSQLite") ] #endif Does anyone can help?
1
0
366
Dec ’23
No member in framework target: Swift class as forward class in ObjC, accessed in Swift through ObjC class
So I am creating an ObjC framework which has mix of ObjC and Swift code: UtilitiesFramework. Here is my StringUtilities class in Swift: @objc public class StringUtilities: NSObject { } I am accessing StringUtilities class in Utilities which is an ObjC class. Here is Utilities.h which is returning StringUtilities and has a forward class declaration for same: @class StringUtilities; // Forward Declaration @interface Utilities: NSObject - (StringUtilities *)stringUtilities; @end Here is Utilities.m which imports generated swift header file: #import <UtilitiesFramework/UtilitiesFramework-Swift.h> // This should provide concrete implementation of StringUtilities @implementation Utilities - (StringUtilities *)stringUtilities { return [StringUtilities new]; } @end I am exposing Utilites.h file to Swift through module.modulemap: module PrivateObjC { header "Utilities.h" } I have set the import path accurately in build settings as: $(SRCROOT)/$(PRODUCT_NAME) Now when I try to access Utilities class in some other swift class it just compiles fine: import PrivateObjC class SomeOperations { func doSomething() { _ = Utilities() // This compiles fine } However when I try to access the StringUtilities through its method, it gives compilation error: import PrivateObjC class SomeOperations { func doSomething() { _ = Utilities().stringUtilities() // This gives compilation error } Here are the errors: value of type Utilities has no member stringUtilities: _ = Utilities().stringUtilities() note: method stringUtilities not imported - (StringUtilities *)stringUtilities ^ note: return type not imported - (StringUtilities *)stringUtilities ^ note: interface StringUtilities is incomplete - (StringUtilities *)stringUtilities ^ note: interface StringUtilites forward declared here @class StringUtilities I thought this scenario is fixed as part of proposal: # 0384-importing-forward-declared-objc-interfaces-and-protocols.md However it is not working for me. May be it is due to it being approved as part of Swift 5.9, whereas in my machine 5.8.1 is used or am I missing anything else over here? Update: I installed Xcode 15 and double checked the swift version which is 5.9, however I am still getting the error. Any idea why it is not working for a framework target?
0
0
295
Dec ’23
Dynamic Library Loading Issue: "Library not loaded" error when embedding Custom Framework within Another Custom Framework
I am encountering a dyld error (dyld[8942]: Library not loaded) when attempting to embed PaymentSampleFramework within POSSampleFramework, and only linking POSSampleFramework in the main application. The error is as follows: Referenced from: <99DE58BE-5611-3397-BED2-6D7DDCE5A878> /private/var/containers/Bundle/Application/B4CB8F71-F8A7-4A21-8C1B-170612C3C628/ParentApp.app/ParentApp Reason: tried: '/usr/lib/swift/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file), '/private/var/containers/Bundle/Application/B4CB8F71-F8A7-4A21-8C1B-170612C3C628/ParentApp.app/Frameworks/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file), '/usr/lib/swift/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file), '/private/var/containers/Bundle/Application/B4CB8F71-F8A7-4A21-8C1B-170612C3C628/ParentApp.app/Frameworks/PaymentSampleFramework.framework/PaymentSampleFramework' (no such file) The error occurs only when PaymentSampleFramework is not directly added to the application. I want to have only POSSampleFrameWork on the app side, with PaymentSampleFramework included within it. I have shared the GitHub link to my workspace for reference: https://github.com/sarathdev/MyWorkSpace (Added PaymentSampleFramework inside application to avoid crash) I'm seeking advice on whether it's possible to embed only POSSampleFrameWork without adding all internal dependencies. Any suggestions or solutions to resolve this issue would be greatly appreciated. why Apple discourages creating an umbrella framework, is the umbrella setup is the only solution!
1
0
509
Dec ’23
When iOS17 has a bug and cannot record audio, play the audio to a Bluetooth device
let session = AVAudioSession.sharedInstance() do { try session.setCategory(AVAudioSession.Category.playback) try session.setActive(true) //playAndRecord <AVAudioSessionPortDescription: 0x2828dc2b0, type = Speaker; name = 扬声器; UID = Speaker; selectedDataSource = (null)> //playback <AVAudioSessionPortDescription: 0x28204c1a0, type = BluetoothA2DPOutput; name = M2; UID = 00:02:5C:22:22:11-tacl; selectedDataSource = (null)> print(session.currentRoute.outputs) } catch { print(error) } when I ssession.setCategory(AVAudioSession.Category.playback) audio play output a2dp ble devices. session.currentRoute.outputs print bellow `<AVAudioSessionPortDescription: 0x28204c1a0, type = BluetoothA2DPOutput; name = M2; UID = 00:02:5C:22:22:11-tacl; selectedDataSource = (null)> when I ssession.setCategory(AVAudioSession.Category.playAndRecord) output <AVAudioSessionPortDescription: 0x2828dc2b0, type = Speaker; name = 扬声器; UID = Speaker; selectedDataSource = (null)> BluetoothA2DPOutput is gone. but it is normal in ios15-16. Is there any solution? I want to record audio and play music at the same time. And the music is output from the Bluetooth speaker
1
0
533
Dec ’23