Just My Life & My Work

Posts tagged ‘cocoapods’

[iOS] Mac OS M1 跑 pod install

過去使用 Intel chip 都非常順利跑 pod install,現在使用 Apple chip,就出現問題囉~

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: https://www.ruby-lang.org/bugreport.html

似乎跟 Ruby ffi 有關係,好在只要進行下列指令:

  1. sudo arch -x86_64 gem install ffi
  2. arch -x86_64 pod install

即可解決問題。🤠

之後 pod install 就使用 2 步驟。

參考:

Don’t forget to include the Crash Report log file under DiagnosticReports directory in bug reports

[iOS] 從Fabric Crashlytics遷移Firebase Crashlytics

由於時代不停的變遷,使得必須從Fabric Crashlytics遷移Firebase Crashlytics

自從2017年Google收購Fabric,我之前所整合的Answers和Crashlytics就逐漸被整合到Firebase。遙想2017年我還在看Fabric後台,很有成就感地看著我開發的HiLifeNissan。文章:Fabric Crashlytics 崩潰紀錄

(繼續閱讀…)

[iOS] 移除第三方套件中的UIWebView

先前已記錄:棄用API的使用情況 (Deprecated API Usage),也先行移除專案自己寫的UIWebView,現在要進行移除第三方套件中的UIWebView

想要移除第三方套件中的UIWebView其實不難,只要套件作者願意移除,然後使用套件的開發者更新版本,就能順利完成!若該套件是非常被廣泛使用,其他開發者肯定會很早就提醒套件作者。像是AFNetWorking和Admob。

不是說2020年12月上傳ipa才會擋?原來今年第一次上傳ipa的App,直接被迫要使用WKWebView,不然連送審都不行哪~

Dear Developer,

We identified one or more issues with a recent delivery for your app, “油價管家" 1.0.1 (1). Please correct the following issues, then upload again.

ITMS-90809: Deprecated API Usage – New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

Best regards,

The App Store Team

(繼續閱讀…)

[iOS] pod install與pod update的差別

2013年就開始使用Cocoapods來使用第三方套件,儘管有發佈初學者的Cocoapods教學,可是在「管理」這方面卻還是有些不明白,像是pod install與pod update的差別,真的是要到需要的時候才會認真去釐清差異,過去一直install和update混著用,如今看官方說明就更明白,畢竟我今年開始是團隊合作寫iOS App囉!

廣告

文章開頭先說總結:團隊每人都要同步podfile.lock,如此能保證大家套件版本一致。

廣告
(繼續閱讀…)

[iOS] 指定Pod版本

四年前(2014年),我已寫過Cocoapods教學:使用 CocoaPods 管理第三方套件,此時要講指定Pod版本。好的第三方套件會時常更新來與時俱進,除了新增feature之外,還有修正既有的bug。

當我們自己開發的App已經過了好幾年,想要再透過Cocospods加入新的套件,此時要考慮到舊有的套件盡可能不要更新,若逼不得已還是得更新啦⋯⋯

使用Cocoapods的好處之一就是可以指定Pod版本。像是我有遇到下一個版本的語法被改掉,太難改的話我就會先返回原先的版本。

(繼續閱讀…)

[iOS] 靜態庫、動態庫、Framework的區別

持續使用Cocoapods來管理第三方套件,主要還是以Objective C來開發專案的我,有時候需要使用Swift的Open Source,才發現靜態庫、動態庫、Framework的區別要好好了解一下:P~

iOS 靜態庫、動態庫、Framework的區別 cocoapods.png (繼續閱讀…)

[iOS] 在Objective C專案使用Swift第三方套件

先前有提到在Swift專案使用Objective C第三方套件,現在想要反過來該怎麼做呢?目前我主要還是以Objective C來開發iOS App,然而有些超級好用的套件是用最潮的程式語言Swift打造,為了方便開發起見,還是來學著怎麼「橋接 (Bridging)」吧!

在這裡我是使用Cocoapods來下載Charts這個超過15000人使用開源做範例。

target ‘HappyChartTest’ do
# Uncomment the next line if you’re using Swift or would like to use dynamic       frameworks
use_frameworks!
pod ‘Charts’
# Pods for HappyChartTest
end

(繼續閱讀…)

[iOS] Cocoapods 多個 Target

有時候同一個專案(Project)需要建立不同的目標(Target),因為可以各自設定屬性狀態,讓code可以依據釋出版(Release)開發版(Debug)來運作。

cocoapod xcode target.png

此時若有使用Cocoapods來管理第三方套件

(繼續閱讀…)

[iOS] 可可豆莢多目標 (Cocoapods with Multiple Targets)

隨著時間發展,iOS App已經變得更加複雜且龐大,使用使用 CocoaPods 管理第三方套件已成為必要之事,然而這樣還是不夠,因為我們一個專案 (Project)中不再只是一個目標 (Target),這些目標都需要同一個函式庫 (Library),但是可可豆莢 (Cocoapods)預設只為最初的那個目標,我們該怎麼下指令才能讓所有目標都能引用同一函式庫呢?

cocoapods13

原來只要多加link_with關鍵字,後頭接上目標的名稱即可!

/**
 Theme: Podfile with Multiple Targets
 IDE: Xcode 6
 Language: Objective C
 Date: 104/04/01
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '6.0'

link_with 'HappyCan', 'HappyCan Today', 'HappyCan WatchKit Extension'

pod 'AFNetworking'
pod 'ZBarSDK'
pod 'Toast', '~> 2.4'
pod 'LineKit', '~> 1.4.1'
pod 'MBProgressHUD'
pod 'OpenSSL-Universal', '1.0.1.k’

以上範例表示我專案中有三個目標(HappyCan、HappyCan Today、HappyCan WatchKit Extension),都需要引用相同的函式庫。

參考:What is a Podfile?

[iOS] 使用 CocoaPods 管理第三方套件

專案越做越多、越做越大,肯定會使用到第三方套件,因為我們不想重新打造「輪子」,如此能夠加快開發速度,更能專注在專案核心需求上!

cocoapods13

於是我們想要有效率地使用第三方套件,就可以考慮使用CocoaPods這個工具。

(繼續閱讀…)

標籤雲