iOS-only SPM targets built against watchOS - xcode

Our project uses several 3rd party packages using Swift Package Manager. Some of them are shared among the iOS and watchOS project, but several packages depend on UIKit, so they are not included in the "Frameworks, Libraries, and Embedded Content" part of the WatchKit Extension target in Xcode project settings.
I can build the iOS or the watchOS app and run in Simulator or on a device, but when I want to preview SwiftUI files included in the watchOS application, building fails.
What I read from the build log is that Xcode wants to build all of the packages added to the iOS project against watchOS too, which will fail obviously.
Is some of my project settings bad or is this a bug?

It seems to be an unresolved bug on Xcode 14.
There is an opened discussion on Apple Developer forums

Related

how to develop tvOS app using nativescript

I'm trying to build a tvOS and roku app with nativescript.
I was about to start working on the tvOS app after I read this article https://www.nativescript.org/blog/running-the-nativescript-runtime-for-ios-on-apple-tv but I'm not sure where the nativescript ios runtime or the metadata generator are in my project. Also, would this mean that my provisioning file and certificates should be for an appletv app instead of ios?
The iOS runtime is generally downloaded from NPM for your project. But it includes support for only iOS. For tvOS, you will have to checkout the open source iOS runtime project from Github and update the config scripts as described in the blog post,
set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator;-appletvos;-appletvsimulator")
set(CMAKE_XCODE_ATTRIBUTE_SUPPORTED_PLATFORMS "iphoneos iphonesimulator appletvos appletvsimulator")
and build your custom version of iOS runtime with CMake.

Swift universal iOS framework with CocoaPods dependencies

I've been trying to build an iOS universal framework that includes a CocoaPod dependency, namely SQLite. However, the problem that I keep getting is that I cannot use the framework as such either when building the app within the simulator, or physical device. This greatly depends on the type of device I've chosen when building the framework.
To solve this issue, I've followed these script: iOS universal framework script
Any piece of advice onto what is the best common practice for building an universal iOS framework that includes a CocoaPod dependency?

Your application is using the 'HealthKitUI' framework

I recently updated Xamarin. Ever since that time, I have been unable to build my iOS application due to this error:
Your application is using the 'HealthKitUI' framework, which isn't
included in the iOS SDK you're using to build your app (this framework
was introduced in iOS 9.3, while you're building with the iOS 9.2
SDK.) This configuration is only supported with the legacy registrar
(pass --registrar:legacy as an additional mtouch argument in your
project's iOS Build option to select). Alternatively select a newer
SDK in your app's iOS Build options.
Has anyone else seen this? I haven't changed anything in my code.
Looks like you need to upgrade to Xcode 7.3. Could you perform that update and let us know?
iOS 9.3 requires Xcode 7.3 support, these were added in Xamarin.iOS 9.6.0.0: https://releases.xamarin.com/stable-release-ios-9-3-xcode-7-3-support/
Also, check out the following for information on iOS SDK releases against Xcode releases.

Can I distribute an app for test built with StoryBoard when target is 4.3?

I have built an application with xcode 4.5.2 using a Storyboard. Finally I was able to build for deployment of 4.3 but when I follow the instructions on how to distribute the app for beta testing, I get to the point I need to archive the app for iOS Device. When I do that I get an error that Stortyboards are unavailable for version 4.3 and prior. Is there a way to get around it or should I build the app without a Storyboard?
Thanks,
Simon

Program run on iOS 5.1 device can't find SDK with Xcode 4.5

When i run my project at iOS 5.1 simulator , it shows
yld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic_copy
Referenced from: /Users/apple/Library/Application Support/iPhone Simulator/5.1/Applications/3A003E5F-2C66-494F-BCC1-C3EE82F01464/dogTree.app/dogTree
Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/Frameworks/Foundation.framework/Foundation
And I don't have 5.1 SDK. But why library search path is 5.1 not 6.0?
All my project and be run at iOS 6.0 device, but when I install then at iOS 5.0 or 5.1 device, it crash and show like the following message.
Please give me some help, is it necessary for iOS 5.1 SDK to run iPhone 5.1 simulator?
I had the same problem and found that I had simply forgotten to change the target platform in an included project. Xcode automatically switches target to the latest iOS when upgrading. Just changing the target for the included project fixed this.
I have met similar issue, and solved by set the deployment target to 4.3 (the same as my app's minimum version) for each static library depended on.
I found that the static library depended on was 6.0 as default, and that must cause some library missing when the compatibility was needed for lower version.
For libraries, such as pods, its in the build settings at iOS Deployment Target.

Resources