儲存app內容到手機桌面

2021-06-29 01:00:59 字數 4030 閱讀 3084

下面是實際效果:

安裝描述檔案

safari生成webclip

通過安裝描述檔案的方式生成webclip1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

- (void)startserver

else

}

backgroundtask = uibackgroundtaskinvalid;

}];

}

[self startserver];

returnyes;

}

safari中開啟關鍵**

通過safari自帶功能生成webclip

safari帶有乙個為當前網頁生成webclip的功能,現在我們就需要使用這個方式來生成webclip。

因為使用者點開webclip的時候需要獲取到網頁的所有資訊,又因為我們的應用不是長時間在後台執行的,所以需要把所有網頁的內容以url的形式中儲存在webclip中,這種技術叫做data-url技術。

1

2

3

4

5

6

7

8

9

//配置返回值

"/old"withblock:^(routerequest *request, routeresponse *response) ];

//跳轉

使用者開啟js

通過safari儲存webclip

其他可以做的細節

1

2

3

4

5

6

7

nsstring *templatepath = [[nsbundle mainbundle] pathforresource:@"phone_template"oftype:@"mobileconfig"];

nsstring *data = [nsstring stringwithcontentsoffile:templatepath encoding:nsutf8stringencoding error:null];

data = [data stringbyreplacingoccurrencesofstring:@"!!name!!"withstring:name];

data = [data stringbyreplacingoccurrencesofstring:@"!!phonenumber!!"withstring:phonenumber];

nslog(@"%@", data);

bool success = [data writetofile:[profilegenerator profilepath] atomically:yes encoding:nsutf8stringencoding error:nil];

returnsuccess;

總結

2種方式都可以達到最終效果,選取哪種方式去實現,可以自己評估優劣。由於本人對服務端和前端不太熟悉,實現還有2點不足之處,希望有人能給出些比較好的方案。

可能由於瀏覽器快取的問題,如果之前safari開啟過localhost:埠號,下次再進入時可能不會去重定向,導致webclip儲存的不是重定向後的url,而是原本請求的url。

重定向返回的response header長度這裡也是有限制的,過長會造成截斷,這裡應該是可以通過**改進的。

儲存app內容到手機桌面

下面是實際效果 安裝描述檔案 safari生成webclip 通過安裝描述檔案的方式生成webclip 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36...

Tips xcode部署app到手機

參考 首先在xcode的performance中的accounts中加入icloud account 在編譯選項旁的目標裝置欄,選擇裝置,並在編譯選項中配置ios版本。需要在專案設定的general bundle identifier裡,對string做一定修改 如果這個專案的string已經用過了...

My語言策略實時推送倉位變化到手機App與微信

本文完整的源 請猛戳 紙上得來終覺淺,建議大家動手敲敲 為了便於演示,本文將引用之前的威廉w r交易策略,策略鏈結位址為 該策略邏輯由威廉值和 共同組成,完整的策略和回測配置,可以點選該鏈結獲取,下面是這個策略的 hc hhv high,14 close hl hhv high,14 llv low...