iovation / deviceprint-SDK-iOS

iovation device print SDK for iOS
Other
34 stars 13 forks source link

Swift Package Manage support #14

Open ekimia opened 4 years ago

ekimia commented 4 years ago

now that it supports binaries, would be a great addition especially since carthage is pretty buggy in xcode 12

Lucky1st commented 3 years ago

+1

rmigneco commented 3 years ago

The URBN team is also requesting SPM support.

ryang1428 commented 3 years ago

Any updates here?

ashley-campbell-iovation commented 3 years ago

Hello!

We expect sometime soon to be releasing an XCFramework that may resolve some of these issues. Do you believe this will resolve your concern?

Thanks! Ashley

ekimia commented 3 years ago

@ashley-campbell-iovation thats part of it. They need to take a look at the Declare a Binary Target in the Package Manifest section at this link: https://developer.apple.com/documentation/swift_packages/distributing_binary_frameworks_as_swift_packages

rmigneco commented 3 years ago

@ashley-campbell-iovation A XCFramework would be a great start! We'd love to have SPM support because it would make installation much simpler for the 3 clients we use at URBN. Its also much easier to update to new versions with SPM. Thanks!

ashley-campbell-iovation commented 3 years ago

Hello all,

I wanted to announce that the XCFrameworks bundle is now available. I will update again when official SPM support is available.

Thanks! Ashley

tomfclearscore commented 3 years ago

This might also fix issues building projects that use this SDK on M1 Macs without doing so via Rosetta.

ashley-campbell-iovation commented 3 years ago

@tomfclearscore I'm interested in this use case. Are you having difficulty building iOS Apps on an M1 Mac in general or are you trying to build an iOS App as a MacOS App using the M1 capability?

Thanks! Ashley

ekimia commented 3 years ago
  nice!
tomfclearscore commented 3 years ago

@ashley-campbell-iovation The issues tend to be when building an iOS app on an M1 Mac targeting the simulator - in the normal way. I haven't looked into it deeply, but the difficulty seems to be when a linked framework wasn't built with an architecture slice required for simulators on M1 specifically. Fine building for a physical device target, and also fine when using Rosetta.

The problem doesn't seem to exist with most SPM packages since they're built from source, so Xcode is able to build what it needs.

rickarddahlffcg commented 3 years ago

I think what is missing and needs to be added for the simulator slice is arm64 support like this: _ios-arm64_x8664-simulator

This is what the current simulator slice for v5.2 looks like: __ios-x8664-simulator

hisaac commented 2 years ago

I've opened a pull request to add Swift Package Manager support to this library (https://github.com/iovation/deviceprint-SDK-iOS/pull/32). It remains to be seen if the maintainers will want to use it, but in the meantime, feel free to use my fork to integrate the library into your projects! https://github.com/hisaac/deviceprint-SDK-iOS/tree/add-spm-support

Note: I was able to add the library to an existing project of mine, and confirmed that the project built with this as a dependency. My team is just exploring using this library though, so we have not yet implemented it in our project, meaning I have not been able to actually test the library yet.