Invalid bitcode version (Producer: '800.0.38.0_0' Reader: '703.0.31_0') のエラーの対処法。

今まで問題なくArchive出来てたのに、急に出来なくなった・・・。
エラーの内容は下記。
ld: warning: directory not found for option '-F/Users/username/project_path/build/Debug-iphoneos/Growthbeat'
error: Invalid bitcode version (Producer: '800.0.38.0_0' Reader: '703.0.31_0')
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Growthbeatっていうpush通知をうまい事してくれるサービスのSDKをcocoapdsでインストールをしていて、それがうまく読み込めていないっぽい。

確かに、Archive出来なくなる前に、firebase analyticsとかをpod updateした。
それが原因でエラーが発生するようになったらしい。

解決方法は、Build Settings > Enable BitcodeをNOにする。
これでArchive出来るようになった。

参考サイト
XCode 8 bitcode compatibility
Xcode7でbitcodeのエラーが出た
スポンサーサイト

cocoapodsで入れたgoogle analyticsがTestプロジェクトでコンパイルエラーになる

cocoapodsでgoogle analyticsを入れたら
Testプロジェクトでコンパイルエラーになるようになってしまった。

それの解決メモ。
エラーの内容は下記みたいなやつ。
ld: framework not found GGLAnalytics for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


解決方法は、PodfileのTestターゲットに必要なものを追記する感じ。
target 'GASampleProject' do
use_frameworks!

# Pods for GASampleProject
pod 'Google/Analytics'

target 'GASampleProjectTests' do
inherit! :search_paths
# Pods for testing
end
end
これを
target 'GASampleProject' do
use_frameworks!

# Pods for GASampleProject
pod 'Google/Analytics'

target 'GASampleProjectTests' do
inherit! :search_paths
# Pods for testing
pod 'Google/Analytics'
end
end
に変更するとテストが出来るようになった。


参考サイト
GoogleAnalyticsをcocoapods使って複数ターゲットがあるプロジェクトに入れたらビルドできないっ!

swiftで二次元配列のindexOf

swiftで二次元配列のindexOfの書き方をメモ。
let areas = [
["code": "22", "name": "東京"],
["code": "23", "name": "神奈川"],
["code": "21", "name": "千葉"],
["code": "20", "name": "埼玉"],
]
こんな配列がある時に、code=21のindexを取得したときの書き方。
let index = areas.indexOf({$0["code"] == "21"})
これで indexの結果は"2"が返ってくる。

参考サイト
[Swift]指定した要素を配列から探してそのインデックスを取得
【Swift】クロージャの使い方。名前の無い関数を作る。

swiftで「#if DEBUG」で分岐させる方法をメモ

いつも忘れるので、swiftで「#if DEBUG」で分岐させる方法をメモ。
Xcode の Build Settings の
Swift Compiler - Custom Flags
 Other Swift Flags
のDebug のところに
-D DEBUG
を追加すればOK

参考サイト
Swift での #ifdef DEBUG のやり方

swift, CocoaPodsでAFNetworkingを入れた時に躓いたのでメモ

swift, CocoaPodsでAFNetworkingを入れた時に躓いたのでメモ。
pod initで作ったPodfileに
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

target 'SimpleChat' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for SimpleChat
pod "AFNetworking"

target 'SimpleChatTests' do
inherit! :search_paths
# Pods for testing
end

target 'SimpleChatUITests' do
inherit! :search_paths
# Pods for testing
end

end
こんな感じで記述して、pod installした。
インストールは成功して、Pods/AFNetworking には、インストールされているのに、ビルドをするとimport AFNetworkingしている箇所で下記のエラーが発生した。
No such module 'AFNetworking'


原因は
xcodeproj
ファイルでxcodeを開いていたため。

cocoapodsを使った場合は
xcworkspace
ファイルから開く必要がある。

参考サイト
Podsでライブラリをインストールすれどもimportできず
AFNetworking を使って GET するまで
Swift AFNetworkingライブラリを使ってみよう!

プロフィール

U2K

Author:U2K
いろいろプログラムに関しての覚え書きをちょくちょくと書いていきます。

オススメ










オススメ

忍者AdMax

u2k on Twitter

最近の記事