Skip to content

Instantly share code, notes, and snippets.

#!/bin/bash
version="$MARKETING_VERSION"
build="$CURRENT_PROJECT_VERSION"
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:7:DefaultValue $version" "${SRCROOT}/Settings.bundle/Root.plist"
/usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:8:DefaultValue $build" "${SRCROOT}/Settings.bundle/Root.plist"
@Shinolr
Shinolr / TableHeaderViewWithAutoLayout.swift
Created March 18, 2020 13:05
Using AutoLayout setup UITableView's tableHeaderView
override func viewDidLoad() {
let selfSizingTableHeaderView = SelfSizingTableHeaderView()
tableView.tableHeaderView = selfSizingTableHeaderView
selfSizingTableHeaderView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
selfSizingTableHeaderView.leadingAnchor.constraint(equalTo: tableView.leadingAnchor),
selfSizingTableHeaderView.centerXAnchor.constraint(equalTo: tableView.centerXAnchor),
selfSizingTableHeaderView.topAnchor.constraint(equalTo: tableView.topAnchor)
])
}
@Shinolr
Shinolr / checkSign.sh
Last active January 14, 2020 03:14
check enterprise signed status
# USAGE: ./checkSign.sh {ipa文件名:xxx.ipa}
# 看到⚠️证明该ipa证书签名有问题
# 删除文件
echo "🗑 删除codesign,pem,plist,和“Payload”文件夹及其子文件"
if [ -d "Payload" ] ; then
rm -rf Payload
fi
rm -f codesign0
rm -f codesign1
@Shinolr
Shinolr / setup_firebase_plist.sh
Created December 20, 2019 02:55
Use this script when project has multi environments by Configurations.
# Name of the resource to copy
INFO_PLIST_FILE=GoogleService-Info.plist
# Get references to debug and release versions of the plist file
DEV_INFO_PLIST_FILE=${PROJECT_DIR}/${TARGET_NAME}/Firebase/Development/${INFO_PLIST_FILE}
PROD_INFO_PLIST_FILE=${PROJECT_DIR}/${TARGET_NAME}/Firebase/Production/${INFO_PLIST_FILE}
# Make sure the debug version exists
echo "Looking for ${INFO_PLIST_FILE} in ${DEV_INFO_PLIST_FILE}"
if [ ! -f $DEV_INFO_PLIST_FILE ] ; then
@Shinolr
Shinolr / bump_build_number.sh
Created December 20, 2019 02:42
Auto increment build number
#!/bin/sh
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"
@Shinolr
Shinolr / AppGuide.swift
Last active April 30, 2019 11:57
Check app version, whether should load user guide
protocol AppGuide {
func shouldLoadAppGuide() -> Bool
}
extension AppGuide {
func shouldLoadAppGuide() -> Bool {
guard let versionString = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as? String else {
return false
}
guard let currentVersion = Int(versionString) else {
@Shinolr
Shinolr / SameNameWithXibFile.swift
Last active March 12, 2019 04:13
Xib file reusable
class SameNameWithXibFile: UIView, XibReusable {
var contentView: UIView!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
xibSetup()
}
override init(frame: CGRect) {
super.init(frame: frame)
@Shinolr
Shinolr / CardBannerFlowLayout.swift
Created March 12, 2019 03:48
具有分页效果的滚动 card banner
class CardBannerFlowLayout: UICollectionViewFlowLayout {
var padding: CGFloat = 20
var cardSize: CGSize {
return CGSize(width: screen_width - 2 * padding, height: 168)
}
let cardSpacing: CGFloat = 10.0
var initialNonCardLength: CGFloat {
return padding + cardSpacing
}