I have 2 frameworks, which are both Swift Statically-linked frameworks. This means that my Mach-O Type is Static Library for both of the targets. One of the targets (A) depends on another target (B). I successfully archive A, and then I successfully archive B, linking against A. Embedding is enabled, however I don't seem to find any mentions of A in the exported build artifacts. However, when I import archived and exported B in another target, it gives me a compilation error: ld: warning: Could not find or use auto-linked framework 'A' Undefined symbols for architecture x86_64: A.someMethodInsideA() -> Swift.Int, referenced from: B.someMethodInsideB() -> Swift.Int in B(B.o) ld: symbol(s) not found for architecture x86_64 You see, I set the A's Mach-O Type to Static Library, so I expect A's binaries to be completely embedded into B with static linkage, but this doesn't happen for some reason. How can I embed a static framework
Search results for
Building for iOS Simulator, but the linked and embedded framework ‘XX.framework‘ was built for
186,325 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
The error suggests that the same symbol / class is defined twice.- Check the frameworks linked to see if there are any duplicates. If so remove the duplicate- Clean build folder (Command + Shift + K)- If simulator, then reset the simulator and try- If device, restart the device and tryI faced the same issue twice, once it was duplicate frameworks and the other time resetting simulator helped.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
I can't debug my VOIP app using simulator (latest Xcode and iOS simulator version) with CallKit framework. I want to know if this is Apple's policy, or is it my development issue? If it's my development issue, I will add my code and hope you can check it.
Since some people asked for exact steps on how to create the fat framework with lipo, here is how I did it: # Create a template framework starting from the arm64 ios simulator one mkdir -p build-iossim cp -r build-iossim-arm64-release/target/MyFramework.framework build-iossim # Merge the arm64 and x86_64 binaries with lipo xcrun lipo -create -output build-iossim/MyFramework.framework/MyFramework build-iossim-x86_64-release/target/MyFramework.framework/MyFramework build-iossim-arm64-release/target/MyFramework.framework/MyFramework # Codesign the fat binary xcrun codesign --sign - build-iossim/MyFramework.framework/MyFramework # Create the xcframework merging the ios_arm64 framework and the fat simulator framework mkdir -p build-xcframework xcodebuild -create-xcframework -framework build-ios-arm64-release/target/MyFramework.framework -framework
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
I don't think that Xcode fix has anything to do with your problem, since you don't declare your own module maps.Instead, it looks like your target is being linked against both the iOS device and iOS simulator libraries, and you're probably going to have to a bit of detective work on your project to figure out why. Note that it could be there was always something wrong with your project, but Xcode didn't care before 8.3, or it could be that when Xcode updated your project for 8.3 it did something wrong.Look in the General tab of the project editor, and see if there's anything odd there. (It shouldn't list any system frameworks, because these are found automatically these day, I believe.) Also check the Build Phases tab, especially the Link With Binaries phase. Also check the framework and include path build settings. Sometimes Xcode will migrate an old unwanted path into one of those.
Topic:
Programming Languages
SubTopic:
Swift
Tags:
I have a framework and want to add a feature which will call another library if it is present during runtime (eg. linking to the application binary). And because of the size of that library which kind of big and I want to enable this feature based on my client (consumer of my framework) so I tried to do a weak linking behavior similar to iOS SDK frameworks and checking for the library at runtime.I tried many ways but all of them have some downsides so I want to know if there's a way to mimic the iOS SDK frameworks weak linking.These are the ways that I tried1. Use linker flags -Wl, -U on every external library's symbols but this way make my framework's incompatible to Bitcode.2. Use -undefined dynamic_lookup linker flag but there is a warning says that -undefined dynamic_lookup is deprecated on iOS which make my framework be able to break in the future.3. Provide another target that linking to that libr
I have a project of an iOS app with an embedded framework called TotoKit with some model classes. Now I've added a new target with the template WatchApp for iOS App to my project. When I try to do import TotoKit from the newly created WatchKit extension, no such module is found. What do I have to do ? I have tried without success to: add one dependencies to TotoKi in BuildPhase of the extension target add AppleWatch in Deployment/Target Device Families of the TotoKit target Thanks,
I created a new iOS app from the built-in template and then added a framework target to it. I then built an archive from that and went to export that archive. The export process lets me select automatic signing. So, I don’t think there’s anything fundamental about embedded frameworks that prevent you from using automatic signing. Are you sure it’s the frameworks that are causing the problem here? If you temporarily remove those frameworks, does it go away? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
I bought a Mac M1. I'm developing an app using Firebase, but I can't build it with the simulator. I found out that I had a similar problem with the M1 chip, but can anyone solve it? Error statement ld: in/--Filepath--/Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector(FIRAnalyticsConnector_a8eeba373b74508311b8b22b8d3202a6.o), building for iOS Simulator, but linking in object file built for iOS, file '/--Filepath--/Pods/FirebaseAnalytics/Frameworks/FIRAnalyticsConnector.framework/FIRAnalyticsConnector' for architecture arm64 Firebaseに直接問い合わせる必要があります。たぶん彼らのポッドを更新する必要があります。 彼らのフォーラムにアクセスして、そこに解決策があるかどうかを確認してください。 You should ask to Firebase directly. Maybe their pod has to be updated. Go to their forum to see if there are solutions there.
Topic:
Programming Languages
SubTopic:
Swift
Tags:
Libraries built for the iOS simulator with previous versions of Xcode need to be rebuilt with Xcode 11 for the Project Catalyst environment specifically for the Mac -- there are differences in the compiled product, and a build for the iOS simulator is not sufficient.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Question: am i able to change the building simulator after submission to the app store connect and the app is in the app store? in other words, can I change the build from any ios device 64 (arm64) to simulator iPhone 12 pro max ?
Unable to launch this sample project. Can you be more specific about that issue? I downloaded the sample, opened the TicTacToe.xcodeproj project in Xcode 14.3, selected an iOS simulator a the run destination, and it built just fine. Building it for a device is a bit trickier because of the embedded watchOS app. Unless you care about the other platforms I recommend that you remove the tvOS and watchOS targets then, in the remaining iOS target, select your team in the Signing & Capabilities editor and that should build just fine too. how to use a mac app to receive mouse data while it's in background macOS has a lot fewer limitations on background execution than iOS. Typically you’d do this sort of thing by constructed two apps, one nested within the other. Mark the nested app as a UI element and then set it up to run at login using SMAppService. I am planning to use Network framework for networking That’s what I’d recommend. A
Topic:
App & System Services
SubTopic:
Networking
Tags:
Preconditions: Xcode Beta 5. Steps: 1) Create new project with iOS target 2) Add Apple Watch Target 3) Add App Clip Target 4) Try to run WatchOS App on simulator Result: Eternal Attaching to {WatchOSAppName} on Apple Watch Series ... in Xcode NavBar If you will remove App Clip dependency from iOS target you will be able to run WatchOS app. I cannot attach .zip with project here. If can send you link to it in other ways
@robby28: Bosian's solution worked for me. My code also needed to only include references to the framework when not building for simulator, like so:#if ! TARGET_IPHONE_SIMULATOR #import <myDeviceOnlyFramework> #endifThat should prevent linking failure errors.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
I just tried this with Xcode 15.2 and a Clean build. The same thing is happening. The frameworks that Xcode compiles and links at project Build time are left untouched. However, all pre-built Frameworks that my app links to get Merged into the app's binary. While I don't think anything bad is happening because of this, I'd prefer to have complete control over my build chain. Is there any way to disable this behavior?
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags: