手把手教你修改iOS版QQ的運動步數


手把手教你修改iOS版QQ的運動步數

現在很多軟件都加上了運動模塊,比如QQ和微信,而且還有排行榜,可以和好友比較誰的運動步數多,任何東西只要添加了比較功能,就變得不一樣了。今天教大家用代碼去修改QQ上的運動步數,修改完效果是這樣的:


屏幕快照 2016-06-21 下午5.02.56.png
本帖子是抱着學習的心態來看待這個功能的,如果不喜歡請略過。
1准備工作

你需要一個iOS程序員所需要的設備:一個mac系統的電腦、一個Xcode、一個開發者賬號(用開發者賬號這是因為要使用HealthKIt框架,就必須開啟授權)、還有一個蘋果手機.

2新建項目

既然你都有開發者賬號了,這我就只介紹重要的東西了,像怎么新建項目就不說了。
1.添加HealthKit.famework庫。
2.開啟授權,將Healthkit開關打開.如圖:


786E95C6-E1E0-4272-BFBF-D19FBF4CE9AB.png


打開開關后會自動下載一個文件是后綴是:.entitlement的文件,如上圖文件目錄。

3 上代碼

1引入頭文件

#import <HealthKit/HealthKit.h>

2初始化 HKHealthStore
HKHealthStore —— 關鍵類(使用HealthKit框架必須創建該類)

 self.healthStore = [[HKHealthStore alloc] init];

3發出具體的請求許可,這里我們只需要寫入步數就可以。
創建步數類型

HKQuantityType *stepCountType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount];
 NSSet *writeDataTypes = [NSSet setWithObjects:stepCountType, nil];

發出具體的請求許可

[self.healthStore requestAuthorizationToShareTypes:writeDataTypes readTypes:readDataTypes completion:^(BOOL success, NSError *error) { if (!success) { //失敗了 return; } }];

程序運行到這就回彈出健康的那個提示界面了,選擇允許選項。

4 設置步數並且保存

//數據看類型為步數. HKQuantityType *quantityTypeIdentifier = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount]; //表示步數的數據單位的數量 HKQuantity *quantity = [HKQuantity quantityWithUnit:[HKUnit countUnit] doubleValue:100]; //數量樣本. HKQuantitySample *temperatureSample = [HKQuantitySample quantitySampleWithType:quantityTypeIdentifier quantity:quantity startDate:[NSDate date] endDate:[NSDate date] metadata:nil]; //保存 [self.healthStore saveObject:temperatureSample withCompletion:^(BOOL success, NSError *error) { if (success) { //保存成功 }else { //保存失敗 } }];

那個100就是增加的步數了。
然后打開手機里的健康應用,你會發現步數增加了。再打開QQ里的運動,步數也增加了。理論上來說只要軟件的步數是從健康應用里獲取的就都可以改變,不只是QQ哦!!!!!

demo:https://github.com/idage/idageChangeQqSport


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM