代码托管: http://git.oschina.net/
工作区(file) -> 暂存区(本地版本库) -> 分支(本地版本库) -> 远程推送
原理图:
file文件添加到暂存区, 暂存区提交到分支, 然后拉去远程推送的内容, 代码合并, 运行, 如果无问题则进行远程推送, 如果有错需要修改则从添加重新走一遍流程, soga!
远程推送会进行覆盖
让工程项目中显示生成的Xcode自带的git文件:
终端命令: 显示:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏:defaults write com.apple.finder AppleShowAllFiles -bool false
远程推送.原理图
APNS: 是苹果服务器
token: 是存在苹果服务器的唯一app标示
服务器: 本地服务器
描述:
APP在iOS注册, APNS向APP发送一个Token,
APP将得到的Token存在本机的服务器中, 当需要发送远程推送时, 有本地服务器发送 目标Token+内容 向APNS, 然后APNS想APP发送通知
信鸽推送: xg.qq.com
下载信鸽SDK, 选择Xg-Push-SDK-iOS-2.4.5 -> demo -> sdk -> 拖入工程
引入框架: Security.framework, libsqlite3.tbd, CoreTelephony.framework, SystemConfiguration.framew, libz.tbd, CFnetwork.framework六个框架
AppDelegate.m中引用XGPush.h头文件
// 注册失败返回error
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
NSLog(@"error ===== %@", error);
}
// 5. 发送通知返回通知内容
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
NSLog(@"userInfo ===== %@", userInfo);
}
// 2. 注册成功APNS返回Token
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// 3. 将获得的Token发送给自己的服务器
[XGPush registerDevice:deviceToken];
NSLog(@"Token ===== %@", [deviceToken description]);
}
ViewController.m中引用XGPush.h文件
// 1. 注册
// 系统判断
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0f) {
// 系统iOS8.0以上使用
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeSound | UIUserNotificationTypeBadge | UIUserNotificationTypeAlert categories:nil]];
[[UIApplication sharedApplication] registerForRemoteNotifications];
} else {
// 系统iOS8.0以下使用
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
}
[XGPush startApp:2200165512 appKey:@"IBS726V61PQP"];