Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
¾©¶«iOS¿Í»§¶Ë×é¼þ¹ÜÀíʵ¼ù
 
×÷ÕߣºËï´ïÍþ À´Ô´£ºinfoq ·¢²¼ÓÚ£º 2017-8-17
  3066  次浏览      27
 

±àÕß°´£º´ÓÈ¥Ä꿪ʼ£¬¹ØÓÚiOS×é¼þ»¯µÄÌÖÂۺͷÖÏí·Ç³£¶à£¬Ò²ÐγÉÁ˼¸ÖֱȽϳÉÊìµÄ·½°¸¡£×é¼þ¶àÁË£¬ËüÃǵÄÒÀÀµ¹ØÏµ¡¢°æ±¾µÈµÄ¹ÜÀí³ÉΪÎÊÌ⣬µ«Õâ·½ÃæµÄ·ÖÏíºÜÉÙ¡£¾©¶«iOS²»µ«ÊµÊ©ÁË×é¼þ»¯£¬»¹×¨ÃÅ¿ª·¢ÁËÒ»Ì××é¼þ¹ÜÀíϵͳ¡£Ï£Íû¾©¶«µÄʵ¼ù¿ÉÒÔ¸ø´ó¼ÒһЩ²Î¿¼Ë¼Â·¡£

ǰÑÔ

ÏÈ´ó¸Å½»´úϱ³¾°£º¾©¶«µÄiOS¿Í»§¶Ë´Ó2011Äê2Ô·¢²¼ÖÁ½ñÒÑÀú¾­6Äê+µÄʱ¼ä£¬Ñз¢ÍŶÓÒ²´Ó×îÖյöÈ˱ä³ÉÁËN¶àÈË£¬ÒµÎñµÄ¸´ÔÓ¶ÈÔçÒѲ»¿ÉÏëÏó¡£

ÎÒ¸öÈËÈÏΪһ¸ö³¬¹ýÁË10È˵ÄÍŶÓ×ö×é¼þ»¯ÊǺÏÊʵģ¬Ò²ÓбØÒª¡£µ±È»ÉÙÓÚ10¸öÈËÒ²Ó¦¸Ãȥ˼¿¼Ò»ÏÂÓ¦Óÿò¼Ü¸ÃÈçºÎÑݱ䣬×éÖ¯µÄÕâ¼þÊ¡£

Ä¿±ê

¶ÔÓÚÿ¼ÒÓ¦Óû¹µÃ½áºÏʵ¼ÊÒµÎñÀ´¿¼ÂÇ£¬±Ï¾¹¼¼Êõ×îÖÕÒ²ÊÇΪÁËÒµÎñ¶ø·þÎñ¡£¾©¶«iOS×é¼þ»¯µÄÄ¿µÄ´ÓÒµÎñ²ãÃæÀ´½²Ö÷ÒªÊÇΪÁ˽â¾ö£º¶àÒµÎñµÄ²¢Ðм¯³É£¬¶à²¿ÃŵÄÒµÎñÊä³ö¡£

´Ó¼¼Êõ²ãÃæÀ´½²ÎÒÃÇ×ö×é¼þ»¯µÄÄ¿±êÊÇΪÁË¿ÉÒÔ×öµ½¼õ»º´úÂ븯»¯¹ý³Ì£¬¼Ó¿ì±àÒëʱ¼ä£¬Ä£¿é·ÖȨ¹ÜÀí£¬´úÂë¹æ·¶£¬bug¼õÉÙ£¬¶ÀÁ¢¿ª·¢¡¢µ÷ÊÔ¡¢×Ô¶¯»¯±àÒ룬¼¯³ÉµÈµÈ¹¤×÷£¨ºÃÏñºÜÀ÷º¦µÄÑù×Ó£©¡£¸ü½üÒ»²½µÄ½²£¬ÎÒÃÇÐèÒªÒ»Ì××Ô¶¯»¯µÄϵͳÀ´°ïÖúÎÒÃÇÍê³ÉËùÓеÄ×é¼þ¹ÜÀí¹¤×÷£¬Èÿª·¢ÈËÔ±ÄܸüרעÓÚ´úÂë²ãÃæ£¬ÎÞÐè¹ØÐÄÓ¦ÓÃÅäÖã¬ÇþµÀ£¬ÒÔ¼°ÈçºÎ¼¯³ÉµÈÎÊÌâ¡£

×é¼þ¹ÜÀíÑݽøÖ®Â·

ÈκÎÊÂÎï¶¼ÓÐÒ»¸öÑݽøµÄ¹ý³Ì£¬¾ÍÏñÂÞÂí²»ÊÇÒ»Ì콨³ÉµÄÒ»Ñù¡£iOSÕâЩÄê¸÷ÖÖ¼¼Êõ£¬»¨Ñù²ã³ö²»ÇºÃ¶à¹«Ë¾£¬ºÃ¶à´óÅ£ÔÚiOS×é¼þ»¯·½Ãæ·ÖÏí³öÁ˺ö౦¹óµÄ¾­Ñ飬ҲÈÃÎÒÃÇÉÙ×ßÁËÐí¶àÍä·¡£¹ØÓÚiOS×é¼þ»¯µÄ×ö·¨Ã¿¼Ò¹«Ë¾¶¼´óͬСÒì£¬ÕæÕýÐèÒªÎÒÃÇÈ¥ÉîÍÚµÄÓ¦¸ÃÊÇÔõô°Ñ×é¼þÓÐÐòµÄ¹ÜÀíÆðÀ´£¬ÕâÒ²ÊÇÎÒÃÇÏëºÍ´ó¼Ò̽ÌÖµÄÄÚÈÝ£¬ÔÚÌÖÂÛ×é¼þ¹ÜÀíÄÚÈÝ֮ǰÎÒÃÇÏȼòµ¥ËµÃ÷ÏÂ×é¼þ»¯ÊµÏֵĴó¸Å˼·¡£

´úÂë½âñî

Cocoapods¹ÜÀí

s ´úÂë½âñî

Ê×ÏÈÈëÊֵŤ×÷¾ÍÊÇ´úÂëµÄ½âñÕâÀïÆäʵûÓÐÌ«¶àµÄ¼¼Êõº¬Á¿£¬Ö»Òªµ¨´óÐÄϸ£¬Óмƻ®£¬Ò»¸ö¹¤³Ì×ÜÄܱ»²ð³ÉÒ»¸ö¸ö¶ÀÁ¢µÄÄ£¿é¡£ÎÒÃǰÑÿһ¸ö¶ÀÁ¢µÄÄ£¿é¾Í³ÆÖ®Îª×é¼þ£¬Ï໥֮¼ä²»ÄÜͨ¹ýÓ²±àÂëÒýÓõķ½Ê½½øÐе÷Óá£Í¨ÐÅͨ¹ý×Ô¶¨ÒåµÄЭÒé½øÐС£

×é¼þÔ­Ôò

×é¼þ±»¶¨ÒåΪÁ½ÖÖÀàÐ͵Ä×é¼þ£º»ù´¡×é¼þ£¬ÒµÎñ×é¼þ¡£

»ù´¡×é¼þ¿ÉÒÔ±»ÒµÎñ×é¼þÒÀÀµ£¬»ù´¡×é¼þ²»¿ÉÒÀÀµÒµÎñ×é¼þ¡£

ÒµÎñ×é¼þ²»¿ÉÒÀÀµÒµÎñ×é¼þ¡£

×Ô¶¨ÒåЭÒé

×é¼þÖ®¼äͨÐÅ×ñÑ­Ò»Ì××Ô¶¨ÒåµÄЭÒéͨÐÅ£¬ÊµÏֵķ½Ê½ÍøÉÏÓÐЩ¿ªÔ´µÄÏîÄ¿£¬ÎÒÃÇ×ۺϸ÷¼ÒʵÏÖ¿¼ÂÇ£¬×îºó¶¨³öµÄÒ»¸ö·½°¸£º×é¼þ¼äµÄͨÐÅÓ¦¸ÃÊÇÇáÁ¿¼¶µÄ£¬µ÷ÓÃÍê¾Í×ߣ¬²»ÁôºÛ¼££¬²»ÐèҪά»¤Í¨ÐÅÊý¾Ý¡£

´óÖÂʵÏÖÈçÏ£º

ÎÒÃÇʵÏÖÒ»¸öJDRouterµÄ×é¼þ£¬ÓÃÀ´ÊµÏÖ×é¼þÓë×é¼þÖ®¼äµÄͨÐÅ¡£Ö»±©Â¶Ò»¸öÍ·Îļþ£¬Á½¸ö·½·¨£ºÊäÈ룬Êä³ö£¨ºê¹æ·¶£©¡£

ÊäÈ루Aµ÷ÓÃB£©

router://JDBClass/getString?name=Steven

Êä³ö£¨B±»Aµ÷Óã©

+(id)getDataWithString:(NSString *)name {
NSString *str = [NSString stringWithFormat:@"HI, %@", name];
return str;
}

ÊäÈë˵Ã÷

ͨ¹ýJDRouterµ÷Óã¬ÀàËÆÓÚÓÐÕâÑùÒ»¸ö·½·¨£¬Íê³Éaµ½bµÄͨÐÅ

id g = [JDRouter openURL: @"router://JDBClass/getString?name= steven" arg:nil error:nil completion:nil];

Êä³öͳһ

ÊäÈëµÄ·½·¨Í³Ò»ÁË£¬Êä³öÒ²µÃͳһ£¬Ã»ÓÐ¹æ¾Ø²»³É·½Ô²£¬µ«ÓÖ²»ÄÜͨ¹ý˵½ÌµÄ·½Ê½ÒªÇó´ó¼ÒÈ¥ÌṩÊä³ö·½·¨¡£Èç¹ûÓÐÒ»¸öͳһµÄ°ì·¨¿ÉÒÔ²»ÐèҪЭÒé×¢²á£¬Ð­Òé¹ÜÀíµÄ»úÖÆ£¬Ö±½Óдһ¸öÀà·½·¨¿ÉÒÔÈÃJDRouterͨ¹ýURIÀïµÄÄÚÈÝ¿ÉÒÔÓ³Éä¹ýÈ¥¾ÍºÃ°ìÁË£¬ÎÒÃÇʹÓúêÌæ»»£¬ÔÚJDRouterÀïÌṩһ¸öÊä³öµÄ¹æ·¶£¬ÀàËÆÕâÑù£º

#define JDROUTER_EXTERN_METHOD(m,i,p,c) + (id) routerHandle_##m##_##i:(NSDictionary*)arg callback:(Completion)callback

Êä³ö¹æ·¶Í³Ò»£¬½«ÉÏÃæµÄÀà·½·¨±äΪºêÌæ»»Êä³ö£º

JDROUTER_EXTERN_METHOD (JDBClass, eat, getString, callback) {

NSString *str = [NSString stringWithFormat:@"HI, %@", name];
return str;

}

AppDelegateÈë¿Ú½âñî

Ò³ÃæÈÝÆ÷£¬µÚÈý·½SDK³õʼ»¯¹¤×÷ÐèÒªÔÚÆô¶¯Ê±Íê³É£¬ÎÒÃÇͨ¹ýhook AppDelegate£¬½«Èë¿ÚËù×öµÄ¹¤×÷½»¸øÒ»¸ö×é¼þÍê³É£¬ÔÚ¸Ã×é¼þÖÐ×¢²áÆäËüÐèÒªÔÚÆô¶¯Ê±µ÷ÓÃAppDelegate·½·¨µÄ×é¼þ£¬ÈÃÿ¸ö×é¼þ¶¼¿ÉÒÔÓµÓÐÒ»ÀàËÆdidFinishLaunchingWithOptions·½·¨¡£

AppDelegateModule×é¼þʵÏÖhook AppDelegate

Èë¿Ú×é¼þ

+ (void) load {
NSArray *modules = @[@"MainModule"];
NSString *url = @"router: //AppDelegateModule/setDidFinishLaunchingModules";
[JDRouter openURL:url arg: modules error:nil completion:nil];

//
NSString *urlrun = @"router://AppDelegateModule/run";
[JDRouter openURL: urlrun arg:nil error:nil completion:nil];
}

ÔÚMainModuleÖÐʵÏÖAppDelegateµÄ·½·¨

static UIWindow *gWindow = nil;
static UIViewController *gTempViewController = nil;
+ (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
gWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[[[UIApplication sharedApplication] delegate] setWindow:gWindow];

gTempViewController = [[UIViewController alloc] init];
gTempViewController.view.backgroundColor = [UIColor redColor];
gWindow.rootViewController = gTempViewController;
[gWindow makeKeyAndVisible];
return YES;
}

°ÑʵÀý·½·¨¸ÄΪÀà·½·¨

½«ÐèÒªµ÷ÓÃappdelegate·½·¨µÄ×é¼þ£¬ÔÚMainModuleÖÐ×¢²á£¬ÕâÀïµÄmodulesÊǸöÊý¾Ý£¬¿É½â¾öµ÷ÓÃdelegate·½·¨µÄ˳ÐòÎÊÌâ¡£

NSArray *modules = @[@"MainModule", @"ÐèÒªµ÷ÓõÄ×é¼þ"];

Cocoapods¹ÜÀí

´úÂë½âñîºÜ¼òµ¥£¬Ö»Òª×ñÑ­¼¸¸öÔ­Ôò¼´¿É£¬×î¸ù±¾µÄÎÊÌâ¾ÍÊÇÒµÎñÓëÒµÎñÖ®¼ä²»ÄÜÓÐñîºÏ£¬²»È»×é¼þ»¯Õâ¼þʾÍûÓÐÒâÒå¡£ÎÒÃÇͨ¹ýCocoapods°Ñÿһ¸ö×é¼þ¶¼²ð³É¶ÀÁ¢µÄpod¿â¡£´úÂë¿â¹ÜÀíÑ¡Ôñgitlab(¿ªÔ´£¬ÌṩAPI£¬¿É¶þ´Î¿ª·¢)£¬ºóÐøÐèÒª¶Ôÿһ¸ö×é¼þ½øÐÐȨÏÞ¹ÜÀí£¬±ÈÈçÓÐÒ»Ð©Éæ¼°µ½°²È«µÄ×é¼þÖ»Óа²È«×éµÄ¿ª·¢ÈËÔ±¾ßÌåÔ´ÂëȨÏÞ£¬ÆäËûÈËÖ»ÄÜÄõ½¶þ½øÖÆ£¬ÔÙ±ÈÈç×é¼þÐèÒª¾ßÓÐmasterµÄȨÏ޲ſÉÒÔ½øÐз¢²¼£¬¼¯³ÉµÈ¹¤×÷¡£

¹ØÓÚCocoapods£¬ruby£¬gitlab»·¾³´ó¼ÒÍøÉÏËÑË÷һϡ£

×¼±¸¹¤×÷

ͨ¹ýCocoapods´î½¨Ë½Óп⣬´´½¨ÏàÓ¦µÄÄ£°æ¡£

²»ÍƼöCocoapods±àÒë¶þ½øÖÆÎļþ£¬×Ô¼ºÐ´½Å±¾±àÆðÀ´¸üÁé»î¡£

×Ô¶¨Òågem£¬Íê³ÉpodspecÔ´Âë¶þ½øÖÆÇл»¡£

¶þ½øÖÆÎļþ£¨×é¼þ±àÒëΪ¾²Ì¬°ü£©´æ´¢µ½ÄÚ²¿ÔÆ¡£

ʹÓù¤¾ß£¯½Å±¾¹ÜÀípodfile¡£

ϵͳ¹ÜÀípod¿â¡£

¹¤³Ì½á¹¹

ͨ¹ýCocoapods´îµÄ×Ô¶¨Òå¿â£¬×Ô¶¨ÒåÄ£°æ¡£

ÿ¸öͬѧÄõ½µÄ×é¼þ¶¼ÊÇÒ»¸öÏàͬ½á¹¹µÄ¹¤³Ì£¬ËùÐèÒª×öµÄ¹¤×÷¾ÍÊÇÔÚÏàÓ¦µÄPods/Developemnt Pods/×é¼þ/ClassesϱàÂ룬×é¼þÊä³öÀàͨ¹ýÄ£°æ´´½¨£¬¿ÉÔÚÏàÓ¦µÄÀàÀïʹÓÃJDROUTER_EXTERN_METHODÌṩ½Ó¿Ú¡£

iBiu×é¼þ¹ÜÀíϵͳ

ÒÔÉÏÊÇÐÐÒµÖжÔiOS×é¼þ»¯µÄÒ»¸ö´óÌå˼·¡£Èç¹ûÎÒÃÇÍêÈ«ÊÖ¶¯×öÕâЩ¹¤×÷µÄ»°£¬³É±¾»áºÜ´ó£¬CocoapodsÅäÖÃ˵Ã÷²éѯ£¬×é¼þ°æ±¾ÒÀÀµ£¬Í³Ò»¼¯³ÉµÈµÈ¡£ÎªÁ˽â¾öÕâЩÈËΪ¸ÉÔ¤ËùÒý·¢µÄ¸÷ÖÖÎÊÌ⣬ÎÒÃÇÑз¢ÁË×é¼þ¹ÜÀíϵͳiBiu¡£

Ö÷App½âñ×÷ºÍϵͳÉè¼ÆÊÇͬʱ½øÐеģ¬ËùÒÔ×î³õϵͳֻÊÇΪ¾©¶«iOSÖ÷AppËùÉè¼Æ£¬ÔÚ¶ÀÁ¢³öһЩ×é¼þºó£¬ÎÒÃǾÍÔÚ˼¿¼Ò»¼þÊ£¬ÈÃϵͳ¿É¹ÜÀí¾©¶«ÆäËüµÄApp¡£

È¥Ó¦Óû¯

Èç¹û¹«Ë¾µÄËùÓÐÓ¦ÓÃÈ«²¿¶¼×é¼þ»¯£¬²¢ÇÒ×é¼þ¼äͳһЭÒéͨÐÅ£¬ÄÇôӦÓÃ×îÖÕµÄÊä³ö·½Ê½Ó¦¸Ã¾ÍÏñ¹¤³§¼Ó¹¤Ò»Ñù£¬¼Ó¹¤¹ý³Ì¾ÍÊÇ×é¼þ×éºÏ¹ý³Ì£¬³ö³§Ê±ÌùÉϱêÇ©¡£ÌýÆðÀ´ºÜÀíÏ룬ÊÂʵÉÏÊÇ¿ÉÒÔ×öµ½µÄ£¬´ÓiBiuϵͳÉÏÏßµ½Ä¿Ç°Ò»¸öÔÂʱ¼äÎÒÃǽÓÈë¹ÜÀí×ÅÈý¸öÓ¦ÓðüÀ¨Ö÷App£¬³¬¹ý100¸ö×é¼þ¡£

×é¼þÅäÖñí

×é¼þÈçºÎ×éºÏ±»³éÏó³öÒ»¸ö×é¼þÅäÖÃ±í£¬¼Ç¼Á˲»Í¬Ó¦ÓõÄ×é¼þÅäÖ㬶ÔÓ¦µ½¾ßÌåµÄ×é¼þÔðÈÎÈË£¬°æ±¾£¬¶Ô½Ó²úÆ·£¬²âÊÔÒÔ¼°¿ª·¢£¬Í¨¹ý¹¤¾ßÒ»¼üÍê³É×é¼þµÄ·¢²¼Ó뼯³ÉµÈ¹¤×÷¡£

ÉÏͼ½âÊÍÆðÀ´¾ÍÊÇ£¬¼ÙÈçÓÐÒ»¸öÐéÄâµÄApp-A£¬ÔÚËüϱßÓаüº¬ÁËһϵÁеÄ×é¼þ£¬ÎÒÃÇ¿ÉÒÔͨ¹ý¡°×é¼þÅäÖÃ±í¡±(ÅäÖñíÀï¼Ç¼ÁË×é¼þµÄ°æ±¾£¬ÊÇ·ñΪ¶þ½øÖÆ£¬ÒÀÀµµÈ)¶Ô×é¼þ½øÐÐ×éºÏ£¬×îÖÕÊä³öÎÒÃÇÏëÒªµÄApp¡£

ÔÙ½«ÉϱߵÄÉè¼ÆÉý¼¶Ò»Ï£º

ÈÃÓ¦ÓÿÉÒÔ°üº¬Ó¦Óã¨ÕâÀïËù˵µÄÓ¦ÓÃÊÇÒ»¸öÐéÄâµÄÓ¦Ó㬻òÕß½Ð×öCollection¸üºÏÊÊ£©¡£Collection¿ÉÒÔÈÎÒâ°üº¬ÁíÍâµÄCollection£¬Í¬Ê±¿ÉÒÔÄõ½CollectionϵÄ×é¼þ£¬ÈçÉÏͼ£¬App-AÕâ¸öCollection×îÖÕÊÇÓÐÁíÍâÈý¸öCollectionϵÄ×é¼þËù×éºÏ¶ø³É¡£

ϵͳÉè¼Æ

Ö÷ÒªÓÉÈý´ó¿éÄÚÈݹ¹³É£º

½Å±¾£¨Ìṩ¿ª·¢»·¾³£¬Èç¹ûpod¹ÜÀí£¬git¹ÜÀí£¬Îļþ¹ÜÀíµÈ£©

iBiu¹¤¾ß£¨¿ÉÊÓ»¯£©

iBiu Server£¨ºǫ́¹ÜÀí£¬API£©

ÎÒÃÇÏ£Íû»¯·±Îª¼ò£¬×îÖÕ¿ª·¢Í¬Ñ§Ö»ÐèÒª°²×°Ò»¸ö¿ÉÊÓ»¯µÄ¹¤¾ß¾Í¿ÉÒÔ×öµ½£º×é¼þ×¢²á£¬×éºÏ£¬·¢²¼£¬¼¯³ÉµÈ¹¤×÷£¬µ«»ù´¡¹¤×÷»¹µÃÒ»²½²½µÄÀ´¡£

µÚÒ»²½£º

ͨ¹ýpodÃüÁî´´½¨ÏàÓ¦µÄ×é¼þ¶ÔÓ¦¿â

pod lib create $lib_name --template-url=${TEMPLATE_URL}

µÚ¶þ²½£º

½«´´½¨×é¼þµÄ½Å±¾·â×°£¬ÎÒÃÇÏ£Íû°Ñ½Å±¾·Åµ½iBiu ServerÕą̂»úÆ÷ÉÏ£¬ÈÃÕâ¸ö¹ý³Ì³ÉΪ:¿ª·¢Õß×¢²á->ÉóºË->×Ô¶¯Éú³É×é¼þ->´úÂëÌá½»Gitlab->֪ͨ¿ª·¢Õß¡£

ÎÊÌâÒ»¸ö½ÓÒ»¸öµÄ³öÏÖÁË£º

¿Ó£ºÓÉÓÚ¹«Ë¾ÍøÂçÔ­Òò£¬²»Í¬Íø¶ÎͬѧÎÞ·¨·ÃÎÊһ̨¹¤×÷ÍøÂç»·¾³ÖеĻúÆ÷¡£

¿Ó£º½Å±¾´´½¨×é¼þÕâ¸ö¹ý³ÌÒÀÀµXcode»·¾³¡£

Ò²¾ÍÊÇ˵ÎÒÃÇÎÞ·¨ÓÃÒ»¸öMac»úÆ÷³äµ±·þÎñÆ÷£¬µ«ÓÖ±ØÐëÒªXcode»·¾³¡£µÚÒ»Ïë·¨¾ÍÊǰÑiBiu Server²¿µ½ÏßÉÏ»·¾³£¬ÕÒһ̨Mac»úÆ÷°Ñ½Å±¾·ÅÉÏÈ¥£¬ÈÃiBiu Server·ÃÎÊÕą̂Mac£¬µ«ÏßÉÏ»·¾³ÊÇÍêÈ«·µÏò²»»ØÀ´¹¤×÷ÍøÂçµÄ¡£

¿Ó£º»»ÏßÏ»·¾³£¬²¿ÊðiBiu Server£¬»¹ÊÇ·ÃÎʲ»Á˹¤×÷ÍøÂçÖеÄÕą̂Mac¡£

×îºóÖ»ÄÜÔÚiBiu ServerÕą̂»úÆ÷Éϲ¿ÁËÌ×Jenkins£¬Éú³É×é¼þµÄ½Å±¾²¿ÔÚMacÕą̂½ÚµãÉÏ£¬ÎÊÌâ½â¾ö¡££¨Õâ¿éÒ»Ö±ÊǸö²»Ì«ÀíÏëµÄ×ö·¨£¬ÎªÁ˽â¾öÎÊÌâÒ²Ö»ÄÜÕâô×öÁË£©

µÚÈý²½£º

ͳһÓû§Ìåϵ£¬ERPÕ˺ÅÓëiBiu¡¢Gitlab´òͨ¡£

µÚËIJ½£º

ÐÞ¸ÄPodfile

Èç¹ûÊÇÊÖ¶¯ÒýÈë×é¼þµÄ»°£¬Ã¿Ò»¸ö×é¼þ¶ÔÓ¦µÄPodfile¿ÉÄÜ»áÊÇÏÂͼÕâÑù£¬¸Ã×é¼þËùÓеĿª·¢Õߣ¬¶Ô¸Ã×é¼þÒýÈëÐ޸ͼÓпÉÄÜÔì³É³åÍ»¡£

Èç¹û¿ÉÒÔͨ¹ýPodfile¶ÁÈ¡µ½¡°×é¼þÅäÖÃ±í¡±£¬¶øÅäÖñíÓÖ¿ÉÒÔͬ²½µÄ»°£¬Äܽâ¾öµÄÎÊÌâ¾Í²»Ö»ÊdzåÍ»µÄÎÊÌâÁË¡£

ÎÒÃÇ´´½¨ÁËÒ»¸öbiu gem£¬ÓÃÀ´È¥´¦ÀíÅäÖñí½âÎöµÄ¹¤×÷£¬Podfile×îÖÕ±ä³ÉÏÂͼµÄÑù×Ó£¬¿ª·¢ÕßÎÞÐèÊÖ¶¯ÐÞ¸ÄËü¡£

ËùÓй¤×÷¶¼Í¨¹ýmekeup_podsÕâ¸ö·½·¨Íê³É¡£

µÚÎå²½£º

ÎÒÃÇÐèÒª°Ñÿ¸ö×é¼þÔÚ·¢²¼Ê±¶¼¶ÔÓ¦¶þ½øÖÆÎļþÊä³ö£¬ÓйØxcodebuild´ò°ü¶þ½øÖƵĽű¾¾Í²»ÔÚÕâÀïÃèÊöÁË¡£

½«¶þ½øÖÆÍ³Ò»Êä³öΪһ¸öxxxx.framework£¬Ò²·½±ã²é¿´

½Å±¾»á°Ñÿ´Î±àÒëµÄ¸ºÔðÈËÐÅϢдµ½xxxx-umbrella.hÎļþÖУ¬·½±ãÎÊÌâ¸ú×Ù¡£

µÚÁù²½£º

½«ËùÓÐshell½Å±¾Í¨¹ýPackages´ò°ü£¬Ìṩ¸øËùÓпª·¢Õß¿ÉÒÔÖ±½ÓʹÓá£

µÚÆß²½£º

iBiu¿ÉÊÓ»¯¹¤¾ßiBiu Server¶Ë¿ª·¢£¬¹¤¾ßÖ÷Ì幦ÄܵĿª·¢Ê±¼ä²¢Ã»Óл¨ÁËÌ«¶àµÄʱ¼ä£¬Ö÷Ҫʱ¼ä»¹ÊÇ»¨ÔÚÁËÊáÀíÕû¸ö¹ÜÀíÁ÷³ÌÉÏ¡£

µÚ°Ë²½£º

ºÏ²¢iBiu½Å±¾£¬¿ÉÊÓ»¯¹¤¾ß£¬Packages´ò°ü¡£

×é¼þ¹ÜÀíʵ¼ù

ϵͳ¼°¿ÉÊÓ»¯¹¤¾ß

ͨ¹ý¹¤¾ßÉêÇë×é¼þ

¿ª·¢ÕßÑ¡Ôñ¶ÔÓ¦µÄApp£¬ÊäÈëÏàÓ¦µÄ×é¼þÃûµÈÐÅÏ¢£¬½«×¢²áÐÅÏ¢Ìá½»¸øiBiu Server£¬ÏµÍ³¹ÜÀíÔ±»áÊÕµ½×¢²áÓʼþ£¬ÔÚºǫ́Íê³ÉÉóºË¡£Í¬Ê±»áϵͳÓʼþ·¢¸øÏàÓ¦µÄ¿ª·¢Õß¡£

ÉóºË¹ý³Ìͨ¹ýÇ°ÃæÌáµ½µÄ£¬ÏµÍ³»á×Ô¶¯Íê³É´´½¨pod¿â£¬git¿â£¬¿ª·¢ÕßȨÏÞ·ÖÅäµÈ²Ù×÷¡£

×é¼þÉêÇëÈ˼´ÊǸÃ×é¼þµÄ¸ºÔðÈË£¬ÓµÓÿª·¢ÕßȨÏÞ·ÖÅ䣬×é¼þ·¢²¼£¬¼¯³É£¬Ð­Òé¹ÜÀíµÈȨÏÞ¡£

ºǫ́¹ÜÀí¿ª·¢ÕßȨÏÞ·ÖÅ䣺

¿ª·¢µ÷ÊÔ×éºÏ°²×°

¿ª·¢ÕßÊÕµ½×é¼þÉóºËÓʼþºó£¬¸ù¾ÝgitµØÖ·À­È¡´úÂ룬ͨ¹ýiBiu¿ÉÊÓ»¯¹¤¾ß´ò¿ª×é¼þ¹¤³Ì£¬¹´Ñ¡Òª×éºÏµÄ×é¼þ½øÐа²×°¡£

Ëù¹´Ñ¡µÄ×é¼þ¿ÉÒÔ¸ù¾Ýµ±Ç°Óû§µÄȨÏÞ·ÖÔ´ÂëÓë¶þ½øÖÆÁ½ÖÖ·½Ê½£¬ÊÇ·ñÒÀÀµ¡£

Èç¹ûijÓû§Ëù×éºÏµÄij¸ö×é¼þÐèÒªµ÷ÊÔ£¬µ«Ã»ÓÐÔ´ÂëȨÏÞ£¬¿ÉÕÒ¸Ã×é¼þµÄ¸ºÔðÈËÒªÇó¿ªÍ¨È¨ÏÞ¡£

Éú³É×é¼þÅäÖñí

¸ù¾ÝËù¹´Ñ¡µÄ×é¼þ£¬Éú³ÉÒ»ÕÅ×é¼þÅäÖÃ±í£¬ÕâʱËù×éºÏ°²×°Éú³ÉµÄApp¼´ÊÇÒ»¸ö¸ù¾ÝÅäÖñíÉú³ÉµÄ¹¤³Ì¡£

¿Ó£ºÅäÖñíÊÇÍÑÀë×é¼þ¹¤³Ì¶ÀÁ¢´æÔÚµÄÒ»¸öJSONÃèÊöÎļþ£¬ÒòΪÿ¸ö¿ª·¢Õß¶Ôÿһ¸ö×é¼þËùÓµÓеÄȨÏÞ²»Ò»Ñù£¬Èç¹û°ÑÅäÖñíËæ¹¤³Ì´úÂëÒ»²¢Ìá½»£¬ºÜ¿ÉÄÜÔì³É±í³åÍ»£¬°²×°²»ÁË×é¼þ¡£½â¾ö°ì·¨¾ÍÊÇʹӵÓÃmasterȨÏÞµÄÓû§¿ÉÒÔ½«±íÄÚÈÝͬ²½ÖÁ·þÎñ¶Ë£¬×é¼þ²ÎÓëÕßÏÂÔØÍ¬²½±í¡£È»ºóÔÚ¼¸¸ö¹Ø¼üµãÑéÖ¤±íÖÐ×é¼þ¶ÔӦȨÏÞ£¬Ã»ÓÐÔ´ÂëȨÏÞµÄÌáʾÓû§×Ô¶¯ÇÐΪ¶þ½øÖÆ·½Ê½¡£

×é¼þ°²×°¹ý³Ì

ÅäÖð汾×éºÏ°²×°

ÓµÓÐ×é¼þmasterȨÏÞµÄÓû§¿ÉÒÔ½«ÏàÓ¦×é¼þ·¢²¼£¬¼¯³Éµ½Ä³¸öÓ¦ÓÃϵÄij¸ö°æ±¾¡£

ÎÒÃǵÄÓ¦Óõü´úÖÜÆÚÒ»°ãΪһ¸öÔÂ×óÓÒ£¬¶ÔÓ¦µ½²»Í¬µÄÏîÄ¿£¬²»Í¬µÄ²úÆ·£¬Ñз¢¼°²âÊÔ¡£Í¨¹ýiBiuϵͳ¿ÉÒÔ×öµ½²¢ÐаæÒÔ±¾¿ª·¢£¬²âÊÔ£¬¼¯³É¡£

×é¼þµÄ·¢²¼£¬¼¯³É²»ÊÜÏîÄ¿µÄʱ¼äÏÞÖÆ£¬ËæÊ±¿ÉÒÔ·¢²¼¡£

AppÕûÌ弯³É£¬×é¼þµÄ¼¯³ÉÐèÒª°´ÏîÄ¿Á÷³Ì½øÐУ¬×é¼þÐèÒªÔÚApp»Ø¹é²âÊÔʱǰÁ½Ì켯³É¡£µã»÷iBiu¿ÉÊÓ»¯¹¤¾ßÓÒÉϽǼ¯³É°´Å¤£¬Ñ¡Ôñ×é¼þ°æ±¾£¬¼¯³Éµ½Ä³¸öÓ¦ÓõÄij¸ö°æ±¾ÖС£

ÿ¸öÓ¦ÓõÄÿ¸ö°æ±¾£¬ÔÚ×é¼þ¼¯³É½×¶ÎÉú³ÉÏàÓ¦µÄ×é¼þÅäÖÃ±í£¬³¬¹ýÕâ¸öʱ¼ä£¬Ó¦ÓÃ°æ±¾Ëø¶¨£¬×é¼þ½«ÎÞ·¨ÔÙ¼¯³Éµ½¸ÃÓ¦Óð汾ÖС£

ÀýÈçÓ¦Óá°¾©¶«¡±µ±Ç°Òª·¢²¼AppStoreµÄ°æ±¾Îª6.1.3£¬·¢²¼Ê±¼ä7ÔÂ19£¬µ¹ÍÆÊ±¼ä£¬»Ò¶È1ÖÜ£¬¼¯³É²âÊÔΪ1ÖÜ£¬ÄÇôËùÓиð汾µÄ×é¼þ±ØÐëÔÚÁ½ÖÜǰÁ½ÌìÍê³É¼¯³É¡£¹ýÆÚ²»ºò£¬Ö»Äܰ´×é¼þÉÏÒ»¸öÎȶ¨°æ±¾¼¯³É£¬Èç¹ûÓÐÌØÊâÇé¿öÐèÌØÊâ¶Ô´ý¡£

JDRouterЭÒé¹ÜÀí

ÿ¸öÒµÎñ×é¼þ¶¼Ó¦¸ÃÌṩJDRouter½Ó¿Ú£¬Í¨¹ýºǫ́¹ÜÀíÕâЩ½Ó¿Ú£¬·½±ãËùÓпª·¢Õß²éѯ¡£

³ÖÐø¼¯³É¸ÄÔì

Ó¦ÓÃÒÔǰÊÇ¿ÉÒÔ³ÖÐø¼¯³ÉµÄ£¬iBiuϵͳ×é¼þ¹ÜÀíºóÐèÒª¶Ô³ÖÐø¼¯³Éϵͳ×öһЩ¸ÄÔì¡£ÔÚÏàÓ¦µÄ½Úµã»úÆ÷Éϰ²×°iBiu°²×°°ü£¬ÔËÐкó×Ô¶¯°²×°»·¾³¡£

CIͨ¹ýiBiu ServerËùÌṩµÄAPI£¬½Å±¾¼ì²â´´½¨XXXXAppModule£¨¿Õ×é¼þ£©£¬»ñȡij¸öÓ¦ÓõÄij¸ö°æ±¾µÄ×é¼þÅäÖÃ±í°²×°×é¼þ£¬Íê³É´ò°ü¹¤×÷¡£

ͳһÅäÖÃ

×é¼þ»¯´øÀ´µÄÒ»¸öÎÊÌ⣬ÿ¸ö×é¼þ¶ÀÁ¢´æÔÚ£¬¹¤³Ì½á¹¹ÀàËÆÓÚÕâÑù£º

Example for XXXXÊǵ±Ç°×é¼þÔÚ¿ª·¢¹ý³ÌÖÐËùÓÃÀ´²âÊÔ£¬ÑéÖ¤µÄdemo´úÂë¡£

PodsΪ×îÖÕ×é¼þÊä³öʵ¼Ê¹¤³ÌÇøÓò¡£

±àÒë×éºÏµÄ×é¼þ£¬Êä³ö×îÖÕµÄApp£¬Èç¹ûÔÚij¸ö°æ±¾ÐèÒª¸üÐÂicon»òÆô¶¯Í¼Ôõô°ì£¿×ܲ»¿ÉÄÜÈÃÿ¸ö×é¼þÔÚExampleÖÐÐÞ¸ÄÕâЩ×ÊÔ´»òÊý¾Ý¡£

ÓÐûÓпÉÒÔͳһÕâЩÅäÖõİ취£¬¶øÓÖû±ØÒªÈÿª·¢ÕßÈËΪµÄÌæ»»¹ÜÀí£¿

´ð°¸Êǿ϶¨µÄ£¬ÎÒÃÇÔÚiBiu¿ÉÊÓ»¯¹¤¾ßÖмÓÈëÁËÓ¦Óð汾µÄÅäÖÃÀ­È¡½Å±¾¹¦ÄÜ¡£¼òµ¥µã½²¾ÍÊǰ²×°×éºÏʱִÐÐÔ¶³Ì½Å±¾¡£ÔÚiBiuºǫ́Õë¶ÔÓ¦Óð汾ÅäÖÃÏàÓ¦µÄ½Å±¾£¬¿ÉÒÔÐ޸Ť³ÌÈÎÒâÅäÖá£

ÕâÊÇÒ»¶Î¼ì²âÌæ»»iconµÄ½Å±¾£¬Í¨¹ý°²×°×é¼þʱ¿ÉÖ´ÐÐÔ¶³Ì½Å±¾£¬ÄÜ×öµÄÊÂÇé²»½öÏÞÓÚÌæ»»¸öͼƬÕâô¼òµ¥£¬ÓÉÓÚ¿ÉÖ´ÐÐÔ¶³Ì½Å±¾È¨ÏÞÌ«´ó£¬¸Ã¹¦ÄÜʹÓû¹ÊÇÐèÒª½÷É÷¡£

×îºó

¸ÃÎÄÕÂÖ÷ÒªÃèÊö¾©¶«iOS×é¼þ¹ÜÀíµÄ½â¾ö˼·£¬ÓÉÓÚÄÚÈݹý¶à£¬ÎÞ·¨Õ¹¿ªÏ¸½²Ã¿¸ö»·½Ú£¬¶ÁÕßÅóÓÑÈç¹û¶ÔijЩϸ½Ú¸ÐÐËȤ¿ÉÒÔÁôÑÔ£¬ÎÒÃÇÓÐÕë¶ÔÐÔµÄÁí¿ª×¨Ìâ¡£

   
3066 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì