OneSignal / OneSignal-Xamarin-SDK

OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your Xamarin app with OneSignal. https://onesignal.com
Other
104 stars 50 forks source link

[Fix] iOS builds on Windows with projects located at normal or long path lengths #317

Closed jkasten2 closed 1 year ago

jkasten2 commented 1 year ago

Description

One Line Summary

Resolve most iOS builds failing on Windows due Windows due 260 character file path limits.

Details

Motivation

It is common for Xamarin developers to use a Windows machine and a remote macOS machine to build. Builds were failing unless your project's root was an uncommonly short absolute path.

Scope

Only effects iOS builds, only the linking part to .xcframeworks.

Changes made

Example of error this addresses

Error       Unable to copy file "C:\Users\Kasten\.nuget\packages\onesignalsdk.xamarin\4.1.0\build\Xamarin.iOS\..\..\content\OneSignalSDK.Xamarin.iOS.resources\OneSignal.xcframework\ios-arm64_armv7_armv7s\OneSignal.framework\Headers\OneSignal.h" to "C:\Users\Kasten\source\repos\XamarinFormsTest2OneSignal4_1_0\XamarinFormsTest2OneSignal4_1_0\XamarinFormsTest2OneSignal4_1_0.iOS\bin\iPhone\Debug\/OneSignalSDK.Xamarin.iOS.resources/OneSignal.xcframework\ios-arm64_armv7_armv7s\OneSignal.framework\Headers\OneSignal.h". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. XamarinFormsTest2OneSignal4_1_0.iOS C:\Users\Kasten\.nuget\packages\onesignalsdk.xamarin\4.1.0\build\Xamarin.iOS\OneSignalSDK.Xamarin.targets   6   

Issues this resolves

Testing

Manual testing

Window - remote mac build

Affected code checklist

Checklist

Overview

Testing

Final pass


This change is Reviewable