Git Product home page Git Product logo

base32's Introduction

Base32 for Swift on OS X and iOS

MIT License Carthage compatible SwiftPM xcodebuild pod lib lint codecov

Base32 is a Base32 implementation for Swift.

Requirements

  • iOS 9 or later
  • macOS 10.9 or later
  • tvOS 9 or later
  • watchOS 2 or later

Installation

Carthage

Base32 is available through Carthage. To install it, simply add the following line to your Cartfile:

github "norio-nomura/Base32"

Cocoapods

Base32 is also available through Cocoapods just adding the following line to your Podfile:

pod 'SwiftBase32', '~> 0.9.0'

Author

Norio Nomura

License

Base32 is available under the MIT license. See the LICENSE file for more info.

base32's People

Contributors

azure-pipelines[bot] avatar dcordero avatar gofake1 avatar norio-nomura avatar yageek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

base32's Issues

Dangling pointers

Build warnings in Base32.swift

Initialization of UnsafePointer<UInt8> results in dangling pointer
Initialization of UnsafeMutablePointer<UInt8> results in dangling pointer

EXC_BAD_ACCESS code=1

I add the flow code to Base32Tests.swift

    func testBase32Decode() {
        self.measure{
            let b32 = "AY22KLPRBYJXNH6TRM4I3LPBYA======"
            for _ in 0...100 {
                _ = b32.base32DecodedData
            }
        }
    }

Run testBase32Decode can reproduce the error

Warnings in XCode 10.2.1, Swift 5

Base16.swift and Base32.swift: warning: 'withUnsafeBytes' is deprecated: use 'withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R' instead

StringExtension.swift: 'init(bytes:)' is deprecated: use 'init(_:)' instead

XCode 12 Build Error range of supported deployment target versions is 9.0 to 14.0.99

Hi,
when doing a carthage update on base32, I get some errors, see below. It seems to be related, that Xcode 12 only supports iOS 9 upwards as deplyoment target. How to fix this?

*** Building scheme "Base32" in Base32.xcodeproj
Build Failed
Task failed with exit code 1:
/usr/bin/xcrun lipo -create /Users/xxx/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0.1_12A7300/Base32/0.8.0/Build/Intermediates.noindex/ArchiveIntermediates/Base32/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Base32.framework/Base32 /Users/xxx/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0.1_12A7300/Base32/0.8.0/Build/Products/Release-iphonesimulator/Base32.framework/Base32 -output /Users/xx/D/Carthage/Build/iOS/Base32.framework/Base32

2020-10-05 16:26:13.235 xcodebuild[43889:6527489] [MT] iPhoneConnect: Failed _shouldMakeReadyForDevelopment check even though device is not locked by passcode.
Domain: com.apple.platform.iphoneos
Code: 5
Failure Reason: allowsSecureServices: 1. isConnected: 0. Platform: <DVTPlatform:0x7fe7257190e0:'com.apple.platform.iphoneos':<DVTFilePath:0x7fe725719060:'/Applications/Xcode.app/Conte
nts/Developer/Platforms/iPhoneOS.platform'>>. DTDKDeviceIdentifierIsIDID: 0
User Info: {
DVTDeviceDescription = "\Ud83d\Udcf1<DVTiOSDevice (0x7fe72a6c4c40), xxx, iPad, 13.4.1 (17E262), 4fd85e41fa4f1f31a891c04c8e0375eb177cd793>";
}

2020-10-05 16:26:13.235 xcodebuild[43889:6527489] [MT] iPhoneConnect: <9F><93><DVTiOSDevice (0x7fe72a6c4c40), xxxx, iPad, 14.0.1 (18A393), 4fd85e41fa4f1f31a891c04c8e0375eb
177cd793> == END: Underlying device preparation errors ==
note: Constructing build description
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Base32' from projec
t 'Base32')
CreateBuildDirectory /Users/xxx/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0.1_12A7300/Base32/0.8.0/Build/Intermediates.noindex/ArchiveIntermediates/Base32/InstallationBuil
dProductsLocation (in target 'Base32' from project 'Base32')
cd /Users/xx/Documents/WORK/D/Carthage/Checkouts/Base32
builtin-create-build-directory /Users/xx/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0.1_12A7300/Base32/0.8.0/Build/Intermediates.noindex/ArchiveIntermediates/Base32/In
stallationBuildProductsLocation

Swift 5

Next weekend I have time to make a pull request. If someone has time before that don't hesitate to make a pull request before me.

Module Compiled using older version of compiler

As per the instructions, in your README.md file, the package gets added successfully into the project, but during building phase, it says:
Module file was created by an older version of the compiler; rebuild 'Base32' and try again

I am using XCode 7.2 currently!

Can you please update the library so that, a version build with recent compiler is fetched by Carthage.

Extensions not public

Extensions are not visible due to default internal access despite extension functions being public.

'deallocate(capacity:)' is deprecated

'deallocate(capacity:)' is deprecated: Swift currently only supports freeing entire heap blocks, use deallocate() instead

Base32.swift Line 227 and 230

This applies for Swift 4, Xcode 9.3

Uploading app with Base32 to iTunes Connect fails because of missing CFBundleVersion

Uploading app with Base32 to iTunes Connect fails because of missing CFBundleVersion.
Base32 was included via Carthage and build with Xcode 8.3.3.

I see there is a ${CURRENT_PROJECT_VERSION} in there but at least when building with Carthage and Xcode 8.3.3 that is empty and so CFBundleVersion is empty. I fixed this for our app by forking Base32 and setting CFBundleVersion to 1.0, but that's probably more a quick and dirty solution.

But otherwise the bundle version of a framework doesn't seem to be important as it is always deployed inside an app and iOS uses the bundle version of the app to decide whether it's a new version or not.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.