CommonCrypto for Framework в подспец - PullRequest
0 голосов
/ 25 апреля 2018

Я схожу с ума от того, как я могу заставить этот podspec работать.

Я разрабатываю быстрый фреймворк, необходим CommonCrypto.После многих проблем, чтобы заставить его работать для каждой команды (Cordova, React), вот как реализован CommonCrypto:

Я получил совокупную цель CommonCryptoModuleMap со сценарием запуска на этапе сборки:

if [ -d "${BUILT_PRODUCTS_DIR}/CommonCryptoModuleMap" ]; then
echo "${BUILT_PRODUCTS_DIR}/CommonCryptoModuleMap directory already exists, so skipping the rest of the script."
exit 0
fi

mkdir -p "${BUILT_PRODUCTS_DIR}/CommonCryptoModuleMap"
cat <<EOF > "${BUILT_PRODUCTS_DIR}/CommonCryptoModuleMap/module.modulemap"
module CommonCrypto [system] {
    header "${SDKROOT}/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}
EOF

Но теперь цель состоит в том, чтобы реализовать его как зависимость от другой платформы в Swift.Поэтому я должен указать целевую зависимость в podspec.

У меня нет проблем, чтобы собрать или архивировать ее из Xcode.

Вот мой Podspec:

Pod::Spec.new do |s|
  s.name               = "AFrameworkHasNoName"
  s.version            = "0.1.5"
  s.summary            = "Foo bar"
  s.homepage           = "https://github.com/MyRepository_ios"
  s.license            = "License"
  s.author             = { "Veesla" => "valentin.cousien@gmail.com" }
  s.source             = { :git => "git@github.com:MyRepository_ios.git", :tag => "develop" }
  s.swift_version      = "4.0"
  s.platform           = :ios, "8.0"
  s.requires_arc       = true
  s.exclude_files      = "AFrameworkHasNoNameTests/*"
  s.source_files       = "AFrameworkHasNoName/**/*.{h,m,swift}"
  s.module_name        = "AFrameworkHasNoName"
end

Вот ошибка:

- WARN  | source: The version should be included in the Git tag.
    - WARN  | source: Git SSH URLs will NOT work for people behind firewalls configured to only allow HTTP, therefore HTTPS is preferred.
    - WARN  | url: The URL (https://github.com/MyRepository_ios) is not reachable.
    - WARN  | [iOS] license: Unable to find a license file
    - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - ERROR | [iOS] xcodebuild:  MyFileImportingCommonCrypto.swift:10:8: error: no such module 'CommonCrypto'

Спасибо за ваши ответы

1 Ответ

0 голосов
/ 09 мая 2018

Неважно, кажется, что я не единственный, кто не смог включить CommonCrypto в SDK, включенный в другой SDK.

Я просто обошел проблему, включив CryptoSwift (используя только чистый Swift).Это прекрасно работает для меня.Это немного тяжело, но вам не нужно разбираться с файлами modulemap и библиотекой C ... Довольно просто работать, хорошая реализация

Вот ссылка CryptoSwift: https://github.com/krzyzanowskim/CryptoSwift

Надеюсь, это поможет одному из вас!

PS: кто-нибудь может объяснить мне, почему я проголосовал?(

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...