iOS 熱更新,實時程式碼更新,動態更新,動態庫framework
允許轉載!
只要稽核通過後,無須再次稽核,就可以動態更新,iOS有三種處理方案:
一、開源框架 reactive native,但是程式語言是js
二、lua 指令碼
三、使用oc語言的動態庫framework。前兩者,我不打算細講,我主要介紹怎麼用oc進行熱更新
1、建立framework工程
2、程式碼處理:
寫一個controller的控制工具類:
[objc] view plain copy print?- //
-
// HotUpdateControl.m
- // HotUpdateMudel
- //
- // Created by wukong on 15/12/18.
- // Copyright © 2015年 lhc. All rights reserved.
- //
- #import "HotUpdateControl.h"
- #import "AController.h"
- #import "BViewController.h"
- #import "CViewController.h"
- #import "DViewController.h"
- #import "EViewController.h"
-
@implementation HotUpdateControl
- -(NSArray *)getVcs {
- return @[
- [[AController alloc]init],
- [[BViewController alloc]init],
- [[CViewController alloc]init],
- [[DViewController alloc]init],
- [[EViewController alloc]init]];
- }
- @end
- //
- // HotUpdateControl.m
- // HotUpdateMudel
- //
- // Created by wukong on 15/12/18.
- // Copyright © 2015年 lhc. All rights reserved.
- //
- #import "HotUpdateControl.h"
- #import "AController.h"
- #import "BViewController.h"
- #import "CViewController.h"
- #import "DViewController.h"
- #import "EViewController.h"
- @implementation HotUpdateControl
- -(NSArray *)getVcs {
- return @[
- [[AController alloc]init],
- [[BViewController alloc]init],
- [[CViewController alloc]init],
- [[DViewController alloc]init],
- [[EViewController alloc]init]];
- }
- @end
好了,開始打包framework,為了以免打包出來的framework,在真機上面執行不了,我們使用一個指令碼來進行打包,目的是多型號CPU核心的合成,就是打出一個通用的包。 [python] view plain copy print?
- # Sets the target folders and the final framework product.
- # 如果工程名稱和Framework的Target名稱不一樣的話,要自定義FMKNAME
- # 例如: FMK_NAME = "MyFramework"
- FMK_NAME=${PROJECT_NAME}
- # Install dir will be the final output to the framework.
- # The following line create it in the root folder of the current project.
- INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework
- # Working dir will be deleted after the framework creation.
- WRK_DIR=build
- DEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework
- SIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework
- # -configuration ${CONFIGURATION}
- # Clean and Building both architectures.
- xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos clean build
- xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator clean build
- # Cleaning the oldest.
- if [ -d "${INSTALL_DIR}" ]
- then
- rm -rf "${INSTALL_DIR}"
- fi
- mkdir -p "${INSTALL_DIR}"
- cp -R "${DEVICE_DIR}/""${INSTALL_DIR}/"
- # Uses the Lipo Tool to merge both binary files (i386 + armv6/armv7) into one Universal final product.
- lipo -create "${DEVICE_DIR}/${FMK_NAME}""${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/${FMK_NAME}"
- rm -r "${WRK_DIR}"
- open "${INSTALL_DIR}"
- # Sets the target folders and the final framework product.
- # 如果工程名稱和Framework的Target名稱不一樣的話,要自定義FMKNAME
- # 例如: FMK_NAME = "MyFramework"
- FMK_NAME=${PROJECT_NAME}
- # Install dir will be the final output to the framework.
- # The following line create it in the root folder of the current project.
- INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework
- # Working dir will be deleted after the framework creation.
- WRK_DIR=build
- DEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework
- SIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework
- # -configuration ${CONFIGURATION}
- # Clean and Building both architectures.
- xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos clean build
- xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator clean build
- # Cleaning the oldest.
-
if [ -d
相關推薦
Ios熱更新,實時程式碼更新,動態更新,動態庫framework
動態更新,iOS有三種處理方案 1,開源框架reactive native,但是程式語言是js iOS app可以在執行時從伺服器拉去最新的js檔案到本讀,然後執行,因為js是一門動態的指令碼語言 所以可以在執行時直接讀取js檔案執行,也因此能夠實現iOS的熱更新
iOS 熱更新,實時程式碼更新,動態更新,動態庫framework
允許轉載! demo 下載 只要稽核通過後,無須再次稽核,就可以動態更新,iOS有三種處理方案: 一、開源框架 reactive native,但是程式語言是js 二、lua 指令碼 三、使用oc語言的動態庫framewo
深入理解java列舉,讓程式碼更簡潔、易懂,提升工作效率!
以往設定常量,通常將常量在介面中,在JDK1.5版本新增列舉型別後就逐漸取代了這種常量定義方式 列舉常量定義 列舉常用方法 values():該方法可以將列舉型別成員以陣列的形式返回。 valueOf():該方法可以實現將普通字串轉換為列舉例項。 compare
矩形ROI截圖,實時顯示滑鼠的座標值,顯示原圖與截圖C++程式
//main.cpp檔案 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <stdio.h> using name
WebStorm2017中專案更新,智慧程式碼提示不顯示的解決方法
出現這個問題的時候,我百度了網上各種解決方法,都沒有用,後來就莫名其妙的好了。寫一個部落格記錄一下,以後再遇到同樣的問題的時候,給自己提供一個解決方法,雖然不能確保是不是有效,但多一種方法也沒有任何問題。對解決方法進行了一個總結,總結如下: 1.File-Power Save Mode,檢視該
利用svn鉤子hooks/post-commit,實現程式碼更新,自動執行指令碼
1. 在svn伺服器對應的專案中會存在以下幾個目錄和檔案 conf db format hooks locks README.txt 其中目錄hooks是放置程式碼提交執行的檔案 進入 hooks目錄新建一個 post-comm
2018 阿里雲優惠大全彙總_阿里雲優惠券,實時更新
企業上雲,首選阿里雲!企業及個人首選!全部優惠入口 阿里雲全部優惠都在這裡!實時更新!各入口點選下面 1、阿里雲通用代金券,點選領取1888元 2、阿里雲高效能伺服器2折入口: 3、阿里雲企業級效能雲伺服器限時優惠 4、阿里雲自營建站
關於vscode更新後 格式化程式碼造成函式括號後的空格被刪除,單引號變雙引號問題的解決方法
前段時間做專案時遇到了語法格式的警告即 究其原因是因為專案建立時選擇了 ESLint 來規範程式碼,由於在VSCode1.7.2中替換了內建格式化外掛。所以在新的專案中格式化程式碼後引發程式碼規範驗證錯誤,經過幾番研究之後終於將其解決下面貼出解決方案: 修改Vscode的配置檔案,不知
AndroidStudio GiT 處理衝突(兩端更新程式碼,處理程式碼衝突)
1.如果同時有不止1人修改了,專案中的同一個檔案,此時點選pull 會彈出一個訊息,提示說會 override覆蓋掉你的本地版本,此時,點選androidStudio上面的 updateProject按鈕 此時選擇: merge Using Stash 然後點選ok,會提示你有
通過複製程式碼建立專案功能,如何在後期建立並更新到gitee程式碼倉庫
第一步:git修改遠端倉庫地址 方法有三種: 1.修改命令 git remote origin set-url [url] 2.先刪後加 git remote rm origin git remote add origin [url] 3.直接修改config檔案 第二步: 參考
【程式碼】小技巧,動態更新中。。。。
若要在迴圈內部修改正在遍歷的序列(例如複製某些元素),建議您首先製作副本。在序列上迴圈不會隱式地建立副本。切片表示法使這尤其方便: >>> words = ['cat', 'window', 'defenestrate'] >>> for w in w
Qt學習:QtCharts繪製動態曲線,實時更新資料與座標軸
1.首先是掌握qtchart的基本使用,封裝一個屬於自己的繪圖類: Mychart.h #pragma once #ifndef CHART_H #define CHART_H #include <QtCharts/QChart> #inc
ios 企業證書明明已更新,我的手機可以下載,其他使用者都下載不了,填坑
前言:企業 $299的賬號遇到的問題。事情的經過是這樣的~ 上週五的晚上,同事在微信群裡說我們的app下載不了了,他們都試過了都是一團黑乎乎的在那,一直不動呢。what~!!額~怎麼可能上個星期還可以下載的呀,而且證書早就更新過了,怎麼會呢!於是我自己手機掃描下
爬取微信好友資訊,進行視覺化分析(頭像人臉識別部分已更新!)(程式碼已上傳)
【Code】下載 1、專案說明 本次專案主要實現了以下功能: 2、微信好友資訊的獲取與檔案儲存 3、微信好友性別分析 4、微信好友地區分佈視覺化 5、微信好友個性簽名詞雲圖及好友備註詞雲圖 6、微信好
不出門就知天下事的網站,實時更新
1,OpenCV 中文網 http://www.opencv.org.cn/ 2,伯樂線上 blog.jobbole.com 3,IT公司面試手冊 http://www.mianwww.com 4,菜鳥網 http://www.runoob.com/ja
RxJava實戰(後臺執行耗時操作,實時通知 UI 更新)
開源專案 RxJava-Android-Samples,這裡一共介紹了十八種RxJava2的使用場景,這一系列文章主要參考該專案進行。 我們經常會在後臺執行緒中去做一些耗時的操作,比如去網路取資料,處理的方法有 HandlerThread、Threa
測試程式碼,解決java gui swing多執行緒介面假死、僵死問題,實現介面動態重新整理,動態同步更新資料
(原創) 測試程式碼,解決java gui swing多執行緒介面假死、僵死問題,實現介面動態重新整理,動態更新,同步顯示資料 主類: package testguimulitiplethread; /** * * @author Administrator */ public class Mai
jenkins安裝,構建第一個工程(更新程式碼到工作空間)
1.安裝jenkins 第一種方式:可以再windows系統通過安裝包的方式直接安裝 第二種方式:下載jenkins.war,在tomcat執行,linux系統和windows系統都
【IOS學習之常見問題】蘋果開發者協議更新後,【Edit Phone Number】跳不出同意按鈕(紅色的警告)
█ 問題: ● 蘋果開發者協議更新後,跳不出同意按鈕 ● 有提示需要編輯手機號碼(以前沒填寫),修改後還是一樣 ● 部分人換了好幾張手機卡測試(和運營商沒關係),結果還是一樣 ● 部分人反應,在4月21號操作,可以成功,之後操作的就沒成功
ionic實現App動態更新,熱更新
本來自己要寫一篇熱更新的文章,發現有其他好文章,就推薦給大家: 補充一: 在第6步之後,生成的.chcpenv檔案裡的 { "content_url": "http://xxxxx.com", //用於獲取檔案 "config_url