±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ¼òÊé,¡¸×é¼þ»¯¡¹ÊÇ
App ÅòÕ͵½Ò»¶¨Ìå»ýºóµÄ½â¾ö·½°¸£¬ÄÜÒ»¶¨³Ì¶ÈÉϽâ¾öÎÊÌ⣬ÔÚÌá¸ß¿ª·¢Ð§ÂʵĹý³ÌÖУ¬²É¿ÓÊÇÄÑÃâµÄ£¬Ï£ÍûÕâÆªÎÄÕÂÄܹ»´øÀ´Ð©°ïÖú¡£ |
|
ÔÚ×é¼þ»¯Ö®Ç°£¬Ä¢¹½½Ö App µÄ´úÂë¶¼ÊÇÔÚÒ»¸ö¹¤³ÌÀ↑·¢µÄ£¬ÔÚÈ˱ȽÏÉÙ£¬ÒµÎñ·¢Õ¹²»ÊǺܿìµÄʱºò£¬ÕâÑùÊDZȽϺÏÊʵģ¬ÄÜÒ»¶¨³Ì¶ÈµØ±£Ö¤¿ª·¢Ð§ÂÊ¡£
ÂýÂýµØ´úÂëÁ¿¶àÁËÆðÀ´£¬¿ª·¢ÈËÔ±Ò²¶àÁËÆðÀ´£¬ÒµÎñ·¢Õ¹Ò²¿ìÁËÆðÀ´£¬Õâʱµ¥Ò»¹¤³Ì¿ª·¢Ä£Ê½¾Í»áÏÔ¶³öһЩ±×¶Ë£º
1.ñîºÏ±È½ÏÑÏÖØ£¨ÒòΪûÓÐÃ÷È·µÄÔ¼Êø£¬¡¸×é¼þ¡¹¼äÒýÓõÄÏÖÏó»á±È½Ï¶à£©£»
2.ÈÝÒ׳öÏÖ³åÍ»£¨ÓÈÆäÊÇʹÓà Xib£¬»¹ÓоÍÊÇ Xcode Project£¬Ëä˵Óнű¾¿ÉÒÔ¸ÄÉÆ£©£»
3.ÒµÎñ·½µÄ¿ª·¢Ð§Âʲ»¹»¸ß£¨Ö»¹ØÐÄ×Ô¼ºµÄ×é¼þ£¬È´Òª±àÒëÕû¸öÏîÄ¿£¬ÓëÆäËû²»Ïà¸ÉµÄ´úÂëôÛºÏÔÚÒ»Æð£©¡£
ΪÁ˽â¾öÕâЩÎÊÌ⣬¾Í²ÉÈ¡ÁË¡¸×é¼þ»¯¡¹²ßÂÔ¡£ËüÄÜ´øÀ´ÕâЩºÃ´¦£º
1.¼Ó¿ì±àÒëËÙ¶È£¨²»ÓñàÒëÖ÷¿ÍÄÇÒ»´óÛç´úÂëÁË£©£»
2.×ÔÓÉÑ¡Ôñ¿ª·¢×ËÊÆ£¨MVC / MVVM / FRP£©£»
3.·½±ã QA ÓÐÕë¶ÔÐԵزâÊÔ£»
4.Ìá¸ßÒµÎñ¿ª·¢Ð§ÂÊ¡£
ÏÈÀ´¿´Ï£¬×é¼þ»¯Ö®ºóµÄÒ»¸ö´ó¸Å¼Ü¹¹£º

¡¸×é¼þ»¯¡¹¹ËÃû˼Òå¾ÍÊǰÑÒ»¸ö´óµÄ App ²ð³ÉÒ»¸ö¸öСµÄ×é¼þ£¬Ï໥֮¼ä²»Ö±½ÓÒýÓá£ÄÇÈçºÎ×öÄØ£¿
ʵÏÖ·½Ê½
×é¼þ¼äͨÐÅ
ÒÔ iOS ΪÀý£¬ÓÉÓÚ֮ǰ¾ÍÊDzÉÓÃµÄ URL Ìø×ªÄ£Ê½£¬ÀíÂÛÉÏÒ³ÃæÖ®¼äµÄÌø×ªÖ»Ðè open Ò»¸ö URL
¼´¿É¡£ËùÒÔ¶ÔÓÚÒ»¸ö×é¼þÀ´Ëµ£¬Ö»Òª¶¨Ò塸֧³ÖÄÄЩ URL¡¹¼´¿É£¬±ÈÈçÏêÇéÒ³£¬´ó¸Å¿ÉÒÔÕâô×öµÄ£º
[MGJRouter
registerURLPattern:@"mgj://detail?id=:id"
toHandler:^(NSDictionary *routerParameters)
{
NSNumber *id = routerParameters[@"id"];
// create view controller with id
// push view controller
}];
|
Ê×Ò³Ö»Ðèµ÷Óà [MGJRouter openURL:@"mgj://detail?id=404"]
¾Í¿ÉÒÔ´ò¿ªÏàÓ¦µÄÏêÇéÒ³¡£
ÄÇÎÊÌâÓÖÀ´ÁË£¬ÎÒÔõô֪µÀÓÐÄÄЩ¿ÉÓÃµÄ URL£¿Îª´Ë£¬ÎÒÃÇ×öÁËÒ»¸öºǫ́רÃÅÀ´¹ÜÀí¡£

È»ºó¿ÉÒÔ°ÑÕâЩ¶ÌÁ´Éú³É²»Í¬Æ½Ì¨ËùÐèµÄÎļþ£¬iOS ƽ̨Éú³É .{h,m}
Îļþ£¬Android ƽ̨Éú³É .java Îļþ£¬²¢×¢Èëµ½ÏîÄ¿ÖС£ÕâÑù¿ª·¢ÈËÔ±Ö»ÐèÔÚÏîÄ¿Öдò¿ª¸ÃÎļþ¾ÍÖªµÀËùÓеĿÉÓÃ
URL ÁË¡£
Ŀǰ»¹ÓÐÒ»¿éûÓÐ×ö£¬¾ÍÊDzÎÊýÕâ¿é£¬ËäÈ»ÃèÊöÁ˶ÌÁ´£¬µ«ÕæÏëÒªÉú³ÉÍêÕûµÄ URL£¬»¹ÐèÒªÖªµÀÈçºÎ´«²ÎÊý£¬Õâ¸öÕýÔÚ¿ª·¢ÖС£
»¹ÓÐÒ»ÖÖÇé¿ö»áÉÔ΢Âé·³µã£¬¾ÍÊÇ¡¸×é¼þA¡¹Òªµ÷Óá¸×é¼þB¡¹µÄij¸ö·½·¨£¬±ÈÈçÔÚÉÌÆ·ÏêÇéҳҪչʾ¹ºÎï³µµÄÉÌÆ·ÊýÁ¿£¬¾ÍÉæ¼°µ½Ïò¹ºÎï³µ×é¼þÄÃÊý¾Ý¡£
ÀàËÆÕâÖÖͬ²½µ÷Óã¬iOS ֮ǰ²ÉÓÃÁ˱Ƚϼòµ¥µÄ·½°¸£¬»¹ÊÇÒÀÍÐÓÚ MGJRouter£¬²»¹ýÌí¼ÓÁËÐµķ½·¨
- (id)objectForURL:£¬×¢²áʱҲʹÓÃÐµķ½·¨½øÐÐ×¢²á£º
[MGJRouter
registerURLPattern:@"mgj://cart/ordercount"
toObjectHandler:^id(NSDictionary *routerParamters){
// do some calculation
return @42;
}]
|
ʹÓÃʱ NSNumber *orderCount = [MGJRouter objectForURL:@"mgj://cart/ordercount"]ÕâÑù¾ÍÄõ½Á˹ºÎï³µÀïµÄÉÌÆ·Êý¡£
ÉÔ΢¸´ÔÓµ«¸ü¾ßͨÓÃÐԵķ½·¨ÊÇʹÓá¸ÐÒ项 <-> ¡¸Àࡹ°ó¶¨µÄ·½Ê½£¬»¹ÊÇÒÔ¹ºÎﳵΪÀý£¬¹ºÎï³µ×é¼þ¿ÉÒÔÌṩÕâô¸ö
Protocol:
@protocol
MGJCart <NSObject>
+ (NSInteger)orderCount;
@end |
¿ÉÒÔ¿´µ½Í¨¹ýÐÒé¿ÉÒÔÖ±½ÓÖ¸¶¨·µ»ØµÄÊý¾ÝÀàÐÍ¡£È»ºóÔÚ¹ºÎï³µ×é¼þÄÚÔÙн¨¸öÀàʵÏÖÕâ¸öÐÒ飬¼ÙÉèÕâ¸öÀàÃûΪMGJCartImpl£¬½ÓמͿÉÒÔ°ÑËüÓëÐÒ鹨ÁªÆðÀ´[ModuleManager
registerClass:MGJCartImpl forProtocol:@protocol(MGJCart)]£¬¶ÔÓÚʹÓ÷½À´Ëµ£¬ÒªÄõ½Õâ¸öMGJCartImpl£¬ÐèÒªµ÷ÓÃ[ModuleManager
classForProtocol:@protocol(MGJCart)]¡£Äõ½Ö®ºóÔÙµ÷Óà + (NSInteger)orderCount¾Í¿ÉÒÔÁË¡£
ÄÇô£¬Õâ¸öÐÒé·ÅÔÚÄÄÀï±È½ÏºÏÊÊÄØ£¿Èç¹û¸ú×é¼þ·ÅÔÚÒ»Æð£¬Ê¹ÓÃʱ»¹ÊÇÒªÏÈÒýÈë×é¼þ£¬Èç¹ûÓжà¸öÕâÑùµÄ×é¼þ¾Í»á±È½ÏÂé·³ÁË¡£ËùÒÔÎÒÃǰÑÕâЩ¹«¹²µÄÐÒéͳһ·Åµ½ÁË
PublicProtocolDomain.hÏ£¬µ½Ê±Ö»ÒÀÀµÕâÒ»¸öÎļþ¾Í¿ÉÒÔÁË¡£
Android Ò²ÊDzÉÓÃÀàËÆµÄ·½Ê½¡£
×é¼þÉúÃüÖÜÆÚ¹ÜÀí
ÀíÏëÖеÄ×é¼þ¿ÉÒԺܷ½±ãµØ¼¯³Éµ½Ö÷¿ÍÖУ¬²¢ÇÒÓиú AppDelegateÒ»ÖµĻص÷·½·¨¡£ÕâÒ²ÊÇ ModuleManager×öµÄÊÂÇé¡£
ÏÈÀ´¿´¿´ÏÖÔÚµÄÈë¿Ú·½·¨£º
-
(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
{
[MGJApp startApp];
[[ModuleManager sharedInstance] loadModuleFromPlist:[[NSBundle
mainBundle] pathForResource:@"modules"
ofType:@"plist"]];
NSArray *modules = [[ModuleManager sharedInstance]
allModules];
for (id<ModuleProtocol> module in modules)
{
if ([module respondsToSelector:_cmd]) {
[module application:application didFinishLaunchingWithOptions:launchOptions];
}
}
[self trackLaunchTime];
return YES;
}
|
ÆäÖÐ [MGJApp startApp]Ö÷Òª¸ºÔðһЩ SDK µÄ³õʼ»¯¡£[self
trackLaunchTime]ÊÇÎÒÃÇ´òµÄÒ»¸öµã£¬ÓÃÀ´¼à²â´Ó main·½·¨¿ªÊ¼µ½Èë¿Ú·½·¨µ÷ÓýáÊø»¨Á˶೤ʱ¼ä¡£ÆäËûµÄ¶¼ÓÉ
ModuleManager¸ã¶¨£¬loadModuleFromPlist:pathForResource:·½·¨»á¶ÁÈ¡
bundle ÀïµÄÒ»¸ö plist Îļþ£¬Õâ¸öÎļþµÄÄÚÈÝ´ó¸ÅÊÇÕâÑùµÄ£º

ÿ¸öModule¶¼ÊµÏÖÁËModuleProtocol£¬ÆäÖÐÓÐÒ»¸ö-(BOOL)applicaiton:didFinishLaunchingWithOptions:·½·¨£¬Èç¹ûʵÏÖÁ˵ϰ£¬¾Í»á±»µ÷Óá£
»¹ÓÐÒ»¸öÎÊÌâ¾ÍÊÇ£¬ÏµÍ³µÄһЩʼþ»áÓÐ֪ͨ£¬±ÈÈç applicationDidBecomeActive»áÓжÔÓ¦µÄUIApplicationDidBecomeActiveNotification£¬×é¼þÈç¹ûÒª×öÏìÓ¦µÄ»°£¬Ö»Ðè¼àÌýÕâ¸öϵͳ֪ͨ¼´¿É¡£µ«Ò²ÓÐһЩʼþÊÇûÓÐ֪ͨµÄ£¬±ÈÈç
- application:didRegisterUserNotificationSettings:£¬Õâʱ×é¼þÈç¹ûÒ²Òª×öµãÊÂÇ飬Ôõô°ì£¿
Ò»¸ö¼òµ¥µÄ½â¾ö·½·¨ÊÇÔÚAppDelegateµÄ¸÷¸ö·½·¨ÀÊÖ¶¯µ÷Ò»±é×é¼þµÄ¶ÔÓ¦µÄ·½·¨£¬Èç¹ûÓоÍÖ´ÐС£
(void)application:(UIApplication
*)application didRegisterForRemoteNotificationsWith
DeviceToken:(NSData
*)deviceToken
{
NSArray *modules = [[ModuleManager
sharedInstance]
allModules];
for (id<ModuleProtocol> module in modules)
{
if ([module respondsToSelector:_cmd]) {
[module application:application didRegisterForRemoteNotificationsWith
DeviceToken:deviceToken];
}
}
}
|
¿Ç¹¤³Ì
¼ÈÈ»ÒѾ²ð³öÈ¥ÁË£¬ÄDzð³öÈ¥µÄ×é¼þ×ܵÃÓиöÔØÌ壬Õâ¸öÔØÌå¾ÍÊǿǹ¤³Ì£¬¿Ç¹¤³ÌÖ÷Òª°üº¬Ò»Ð©»ù´¡×é¼þºÍÒµÎñSDK£¬ÕâÒ²ÊÇÖ÷¹¤³Ì°üº¬µÄһЩÄÚÈÝ£¬ËùÒÔÈç¹ûÔڿǹ¤³Ì¿ÉÒÔÕý³£ÔËÐеϰ£¬µ½ÁËÖ÷¹¤³ÌҲûʲôÎÊÌâ¡£²»¹ýÕâÀï´æÔڰ汾ͬ²½ÎÊÌ⣬֮ºó»á˵µ½¡£
Óöµ½µÄÎÊÌâ
×é¼þ²ð·Ö
ÓÉÓÚ֮ǰµÄ´úÂë¶¼ÊÇÔÚÒ»¸ö¹¤³Ìϵģ¬ËùÒÔÒªµ¥¶ÀÄóöÀ´×÷Ϊһ¸ö×é¼þ¾Í»áÓöµ½²»ÉÙÎÊÌâ¡£Ê×ÏÈÊÇ×é¼þµÄ»®·Ö£¬µ±Ê±ÔÚ¶¨Òå×é¼þÁ£¶ÈʱҲ»¨ÁËЩʱ¼äÌÖÂÛ£¬¾¿¾¹ÊÇÁ£¶È´ÖµãºÃ£¬»¹ÊÇϸµãºÃ¡£´ÖµãµÄ»°±È½ÏÓÐÀûÓÚ²ð·Ö£¬Ï¸µãµÄ»°Áé»î¶È±È½Ï¸ß¡£×îÖÕ»¹ÊÇÑ¡Ôñ´ÖÒ»µãµÄÁ£¶È£¬ÏȲð³öÀ´ÔÙ˵¡£
¼ÙÈçÒª°ÑÏêÇéҳǨ³öÀ´£¬¾Í»á·¢ÏÖËüÒÀÀµÁËһЩÆäËû²¿·ÖµÄ´úÂ룬ÄÇ×î¿ìµÄ·½Ê½¾ÍÊÇÖ±½Ó°Ñ´úÂ뿽¹ýÀ´£¬¸Ä¸öÃûʹÓᣱȽϼòµ¥±©Á¦¡£ËµÆðÀ´±È½Ï¼òµ¥£¬×öµÄʱºòÒ²ÊÇͦÓÐÌôÕ½µÄ£¬ÒòΪÕý³£µÄÒµÎñ²¢²»»áÒòΪ¡¸×é¼þ»¯¡¹¶øÍ£Ö¹£¬ËùÒÔ¿ª·¢Í¬Ñ§ÃÇÐèҪͬʱ¼æ¹ËÕý³£µÄÒµÎñºÍ×é¼þµÄ²ð·Ö¡£
°æ±¾¹ÜÀí
ÎÒÃǵÄ×é¼þ°üÀ¨µÚÈý·½¿â¶¼ÊÇͨ¹ý Cocoapods À´¹ÜÀíµÄ£¬ÆäÖÐ×é¼þʹÓÃÁË˽Óп⡣֮ËùÒÔÑ¡Ôñ Cocoapods£¬Ò»¸öÊÇÒòΪËü±È½Ï·½±ã£¬»¹ÓоÍÊÇÓû§»ùÊý±È½Ï´ó£¬ÇÒÉçÇøÒ²±È½Ï»îÔ¾£¨»îÔ¾µ½ÁË»áʱ²»Ê±µØ´¥·¢
Github µÄ rate limit£¬µ¼Ö³¤Ê±¼ä clone ²»ÏÂÀ´¡¤¡¤¡¤ ¼û´Ë£©£¬µ±È»Ò²ÓÐÆäËûµÄ¹ÜÀí·½Ê½£¬±ÈÈç
submodule / subtree£¬ÔÚ¿ª·¢ÈËÔ±±È½Ï¶àµÄÇé¿öÏ£¬·½±ã¡¢Áé»îµÄ·½°¸ÈÝÒ×Õ¼ÉϷ磬ËäÈ»ËüÒ²ÓÐ×Ô¼ºµÄÎÊÌâ¡£Ö÷ÒªÓа汾ͬ²½ºÍ¸üÐÂ/±àÒëÂýµÄÎÊÌâ¡£
¼ÙÈç»ù´¡×é¼þ×öÁ˸ö API ½Ó¿ÚÉý¼¶£¬Õâ¸öÉý¼¶»á¶ÔÔÓеĽӿÚ×ö¸Ä¶¯£¬×ÔÈ»¾Í»áÉýÒ»¸öÖÐλµÄ°æ±¾ºÅ£¬±ÈÈçÔÏÈÊÇ
1.6.19£¬ÄÇôÏÖÔھͱä³É 1.7.0 ÁË¡£¶øÎÒÃÇÔÚ Podfile Àï¶¼ÊÇÓà ~
Ö¸¶¨µÄ£¬ÕâÑù¾Í»á³öÏÖÖ÷¹¤³ÌµÄ pod °æ±¾ÉýÉÏÈ¥ÁË£¬µ«Êǿǹ¤³ÌûÓÐͬ²½µ½£¬È»ºóȺÀï¾Í»á¸÷ÖÖ·´À¡±àÒë²»¹ý£¬¶øÇÒÕâ¸ö±àÒë²»¹ýµÄ³¤Î²ÓÐʱÄÜÍÏÉÏÁ½ÈýÌì¡£
È»ºóÎÒÃǾÍÏëÁ˸ö°ì·¨£¬Èç¹û²»Ôڿǹ¤³ÌÀïÖ¸¶¨»ù´¡¿âµÄ°æ±¾£¬Ö»ÔÚÖ÷¹¤³ÌÀïÖ¸¶¨ÄØ£¬ÀíÂÛÉÏÓ¦¸Ã¿ÉÐУ¬Ö»Òª²»³öÏÖij¸ö»ù´¡¿âҪͬʱά»¤¶à¸ö°æ±¾µÄÇé¿ö¡£µ«Êµ¼ùÖз¢ÏÖ£¬¿Ç¹¤³ÌÓÐʱ»áĪÃûÆäÃîµØÉý²»ÉÏÈ¥£¬ÔÚ
podfile ÀïÖ¸¶¨×îеİ汾ÓÖ¿ÉÒÔÉýÉÏÈ¥£¬ËùÒÔ´Ë·²»Í¨¡£
»¹ÓÐÒ»¸öÎÊÌâÊÇpod updateʱ¼ä¹ý³¤£¬¾³£»áÔÚAnalyzing DependencyÉÏ¿¨ 10
¶à·ÖÖÓ£¬·Ç³£Ó°ÏìЧÂÊ¡£ºóÀ´ÅŲéÏÂÀ´ÊǸú×é¼þµÄ Podspec Óйأ¬ÅäÖÃÁË subspec£¬ÇÒÒÀÀµ±È½Ï¶à¡£
È»ºó¾ÍÊÇ pod update Ö®ºóµÄ±àÒ룬ÓÉÓÚÊÇÔ´Âë±àÒ룬ËùÒÔÕâ¿éµÄʱ¼ä»¨·ÑÒ²²»ÉÙ£¬½ÓÏÂÈ¥»á¿¼ÂÇ
framework µÄ·½Ê½¡£
³ÖÐø¼¯³É
ÔÚ¸Õ¿ªÊ¼£¬³ÖÐø¼¯³É»¹²»ÊǺÜÍêÉÆ£¬ÒµÎñ·½Éý¼¶×é¼þ£¬Ö±½Ó°Ñ podspec
ÈÓµ½ private repo Àï¾ÍÍêÊÂÁË¡£ÕâÑù×î¼òµ¥£¬µ«Ò²¾³£»á´øÀ´±àÒëͨ²»¹ýµÄÎÊÌâ¡£¶øÇÒÕâÖÖËæÒâµÄ°æ±¾Éý¼¶Ò²²»Ì«Äܱ£Ö¤ÖÊÁ¿¡£ÓÚÊÇÎÒÃǾʹÁËÒ»Ì׳ÖÐø¼¯³Éϵͳ£¬´ó¸ÅÈç´Ë£º

ÿ¸ö×é¼þÉý¼¶Ö®Ç°¶¼ÐèÒªÏÈͨ¹ý±àÒ룬ȻºóÔÙ¾ö¶¨ÊÇ·ñÉý¼¶¡£ÕâÌ×Ìåϵ¿´ÆðÀ´²»¸´ÔÓ£¬µ«ÔÚʵʩ¹ý³ÌÖо³£»áÓöµ½ºó¶ËµÄ²¢·¢ÎÊÌ⣬µ¼ÖÂÒµÎñ·½ÒªÃ´¼¯³Éʧ°Ü£¬ÒªÃ´ÒªµÈ²»ÉÙʱ¼ä¡£¶øÇÒҲûÓÐÒ»¸öµØ·½¿ÉÒÔ³ÊÏÖµ±Ç°°æ±¾µÄ×é¼þ°æ±¾ÐÅÏ¢¡£»¹ÓоÍÊÇÒµÎñ·½¶ÔÓÚÕâÖÖÃüÁîÐеÄÉý¼¶·½Ê½½ÓÊܶÈÒ²²»ÊǺܸߡ£

»ùÓÚ´Ë£¬ÔÚ¾¹ýÁ˼¸ÂÖÌÖÂÛÖ®ºó£¬ÓÐÁËаæµÄ³ÖÐø¼¯³Éƽ̨£¬Éý¼¶²Ù×÷ͨ¹ýÍøÒ³¶ËÀ´Íê³É¡£
´óÖÂ˼·ÊÇ£¬ÒµÎñ·½Èç¹ûÒªÉý¼¶×é¼þ£¬¼ÙÉèÏÖÔڵİ汾ÊÇ 0.1.7£¬Ìí¼ÓÁËһЩ feature Ö®ºó£¬¿Ç¹¤³Ì²âÊÔͨ¹ý£¬Ï뼯³Éµ½Ö÷¹¤³ÌÀï¿´¿´Ð§¹û£¬»òÕ߯äËû×é¼þÒ²ÏëÒýÓÃÕâ¸ö×îÐµģ¬¾Í¿ÉÒÔÔÚºǫ́ÊÖ¶¯°Ñ°æ±¾Éýµ½
0.1.8-rc.1£¬ÕâÑùµÄ»°£¬ÔÏÈÒÀÀµ~> 0.1.7µÄ×é¼þ£¬²»»áÉýµ½ 0.1.8£¬Í¬Ê±ÏëÒª²âÊÔÕâ¸ö×é¼þµÄ»°£¬Ö»ÒªÊÖ¶¯°Ñ°æ±¾µ÷µ½
0.1.8-rc.1 ¾Í¿ÉÒÔÁË¡£Õâ¸ö¹ý³Ì²»»á´¥·¢ CI µÄ±àÒë¼ì²é¡£
µ±²âÊÔͨ¹ýºó£¬¾Í¿ÉÒÔ°Ñβ²¿µÄ-rc.nÈ¥µô£¬È»ºóµã»÷¡¸¼¯³É¡¹£¬¾Í»á×ß
CI ±àÒë¼ì²é£¬Í¨¹ýµÄ»°£¬»áÔÚÖ÷¹¤³ÌµÄ podfile ÀïдÉϹ̶¨µÄ°æ±¾ºÅ 0.1.8¡£Ò²¾ÍÊÇ˵£¬podfile
ÀïËùÓеÄ×é¼þ°æ±¾ºÅ¶¼Êǹ̶¨µÄ¡£

ÖܱßÉèÊ©
»ù´¡×é¼þ¼°×é¼þµÄÎĵµ / Demo / µ¥Ôª²âÊÔ
ÎÞÏß»ù´¡µÄÖ°ÄÜÊÇΪ¼¯ÍÅÌṩ½â¾ö·½°¸£¬Ö»ÊÇÔÚÄ¢¹½½Ö App ÀïÄÜ work
ÊÇÔ¶Ô¶²»¹»µÄ£¬ËùÒÔ¾ÍÐèÒªÌṩÈë¿Ú£¬ÖªµÀÓÐÄÄЩ¿ÉÓÃ×é¼þ£¬²¢ÇÒÈçºÎʹÓ㬾ÍÏñÕâÑù£¨Ä¿Ç°»¹Î´ÊµÏÖ£©

Õâ¾ÍÒªÇó×é¼þµÄ¸ºÔðÈËÐèÒª¼°Ê±µØ¸üРREADME / CHANGELOG
/ API£¬²¢ÇÒµ±·¢Éú API ±ä¸üʱ£¬Äܹ»¿ìËÙ֪ͨµ½Ê¹Ó÷½¡£
¹«¹² UI ×é¼þ
×é¼þ»¯Ö®ºó»¹ÓÐÒ»¸öÎÊÌâ¾ÍÊÇ×ÊÔ´µÄÖØ¸´ÐÔ£¬ÒÔǰÔÚÒ»¸ö¹¤³ÌÀïµÄʱºò£¬×ÊÔ´¶¼¿ÉÒԺܷ½±ãµØÄõ½£¬ÏÖÔÚ¶ÀÁ¢³öÈ¥ÁË£¬Ò²²»ÖªµÀÄÄЩÊǹ«Óõģ¬ÄÄЩÊǶÀÓеģ¬Ë÷ÐÔ¶¼·Åµ½×Ô¼ºµÄ×é¼þÀÕâÑù¾Í»áµ¼Ö°ü±ä´ó¡£»¹ÓÐÒ»¸öÎÊÌâÊÇÿ¸ö×é¼þ¿ÉÄÜÊDz»Í¬µÄ²úÆ·¾ÀíÔÚ¸ú£¬¶øËûÃǺܿÉÄÜÖ»¹Ø×¢ÓÚ×Ô¼º¹ØÐĵÄÒ³Ãæ³¤Ê²Ã´Ñù£¬¶øºöÂÔÁËÕûÌåµÄÑùʽ¡£¹«¹²
UI ×é¼þ¾ÍÊÇÓÃÀ´½â¾öÕâЩÎÊÌâµÄ£¬ÕâЩ×é¼þÉõÖÁ¿ÉÒÔ¿ç App ʹÓᣣ¨Ä¿Ç°»¹Î´ÊµÏÖ£©

|