晚清小历史(四)丨香水之都适不符合当新加坡?

   

《春秋公羊传》曰,“京师者何?天皇之居也。京者何?大也。师者何?众也。主公之居,必以‘众大’之辞言之。”

作者:Panda Fang

出处:http://www.cnblogs.com/lonkiss/p/6492385.html

原创著作,转载请注脚作者和出处,未经同意不可用于生意营利活动

这太岁住的地点,是国家的枢要命脉之地,它的起名,也必须高端、大气、上档次。地盘要广,用“京”形容其大;人口要多,以“师”描绘其众。后来新加坡也称作国都、都城、首都,虽名称不同,但其视作一国基本的地位向来不曾更改。

 

自古至今,这些拥有远见卓识和战略眼光的改革家们,无不将都城视为关联国家稳定的有史以来,亦概莫能外把新加坡的选址和布局,看作牵系着海内外气运的根本。正如韩吏部所说,“京师者,四方之真情,国家之根本。”又如孙长春所言,“都城者,木之根本,而人之头目也。”

二〇一八年到二零一九年做了多少个 iOS上的 AIR Native Extension (简称 ANE),
痛苦不堪。  ANE 的开发形式早已被长辈吐槽多多 功能低下 浪费生命
严重低于kpi 。体验过Unity的插件开发, 相比较之下真的是舒适多了,功能飙升。

在挑选建都地点的问题上,元朝,由于国家的土地相对较小,不用考虑太多复杂的要素,古人一般会把都城建立在居中的地点。《吕氏春秋》中提到,“古之王者,择天下之中而立国。”在一个小国里,地图主旨的职位最方便对全国举行统治,也离前沿战场最远,可以避免都城陷入战火之中。

言归正传, 痛苦之一就是难以实现AppDelegate
生命周期。关于生命周期实现,其实Android上的 ane 也难搞。下次再写。假如在
xcode上做一个正式的 iOS App 写 AppDelegate 很便利, 填函数就行了。
不过在ANE上 没有透露那个api给你实现。air 本身是运作在ios上的app ,adobe
实现它的时候自己使用了 delegate 可是却不暴露给大家利用。 我们利用adobe
air sdk做依赖adobe 的框架, 束手束脚, 真的忍不住一边做一方面骂adobe
。既然adobe air用了 那么我们就能靠hook了, 下边那篇小说非凡值得看

但随着王国海疆的随地扩充,统治者们急需直面越来越复杂的阵容、政治、经济、文化、宗教、地理时势和环境。在长崎市的选址问题上,需要考虑的要害变成了怎么样把握国家的“重心”,而非简单地搜索地图上的“中央”。

打通Android、IOS、ANE制作流程 – 知其然知其之所以然 – 博客频道 –
CSDN.NET
 

比如在北魏建立之初,刘邦曾想在岳阳定都,并就此询问娄敬的见解。娄敬认为,宜春为夏朝旧都,虽是“天下之中”,但其视作四战之地,已经不复适应后汉初年的新时势。要想国祚长久,不如采取地势险要、易守难攻、可威慑天下的关中之地建都。

紧接着自己将引用这篇作品举办教学

娄敬指出的理由是,“君王入关而都之,安徽虽乱,秦之故地可全而有也。夫与人斗,不搤其亢,拊其背,未能全其胜也。今国王入关而都,案秦之故地,此亦搤天下之亢而拊其背也。”

 

在当时,刘邦手下众三人仍提议应以沧州为都,但张良认为娄敬的指出更合理,于是刘邦最后废弃了信阳的选项,决计定都长安。

在xcode 中 新建一个 objective-c 文件 取名为 HookUtil  , xocde
将生成一个HookUtil.m文件 将文件里的代码删干净,
复制下边的代码粘贴进去。但下边的代码并无法缓解问题,真正要知其所以然依旧要坚定不移不懈看完自家最后是怎么化解的。

起名,从此之后,娄敬的“拊背搤亢(按住脊背,掐住咽喉)”辩论,也改为了新生大一统王朝国都选址的一个战略指引思想。

  1 //
  2 //  HookUtils.m
  3 //  ResearchMethodSwizzl
  4 //
  5 //  Created by 薛旻 on 15/4/27.
  6 //  Copyright (c) 2015年 薛旻. All rights reserved.
  7 //
  8 
  9 #import <Foundation/Foundation.h>
 10 #import <UIKit/UIKit.h>
 11 #import <objc/runtime.h>
 12 
 13 
 14 @interface HookUtils : NSObject
 15 
 16 + (void)hookMehod:(SEL)oldSEL andDef:(SEL)defaultSEL andNew:(SEL)newSEL;
 17 
 18 @end
 19 
 20 @implementation HookUtils
 21 
 22 + (void)hookMehod:(SEL)oldSEL andDef:(SEL)defaultSEL andNew:(SEL)newSEL {
 23     NSLog(@"hookMehod");
 24 
 25     Class oldClass = objc_getClass([@"CTAppDelegate" UTF8String]);
 26 
 27     Class newClass = [HookUtils class];
 28 
 29     //把方法加给原Class
 30     class_addMethod(oldClass, newSEL, class_getMethodImplementation(newClass, newSEL), nil);
 31     class_addMethod(oldClass, oldSEL, class_getMethodImplementation(newClass, defaultSEL),nil);
 32 
 33     Method oldMethod = class_getInstanceMethod(oldClass, oldSEL);
 34     assert(oldMethod);
 35     Method newMethod = class_getInstanceMethod(oldClass, newSEL);
 36     assert(newMethod);
 37     method_exchangeImplementations(oldMethod, newMethod);
 38 
 39 }
 40 
 41 + (void)load {
 42     NSLog(@"load");
 43     [self hookMehod:@selector(application:didFinishLaunchingWithOptions:) andDef:@selector(defaultApplication:didFinishLaunchingWithOptions:) andNew:@selector(hookedApplication:didFinishLaunchingWithOptions:)];
 44 
 45     [self hookMehod:@selector(applicationWillEnterForeground:) andDef:@selector(defaultApplicationWillEnterForeground:) andNew:@selector(hookedApplicationWillEnterForeground:)];
 46 }
 47 
 48 
 49 /*具体要走的代码*/
 50 -(BOOL)hookedApplication:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)dic
 51 {
 52     NSLog(@"applicationDidFinishLaunching");
 53     [self hookedApplication:application didFinishLaunchingWithOptions:dic];
 54     return YES;
 55 }
 56 
 57 - (void)hookedApplicationWillResignActive:(UIApplication *)application {
 58     [self hookedApplicationWillResignActive:application];
 59 }
 60 
 61 - (void)hookedApplicationDidEnterBackground:(UIApplication *)application {
 62     [self hookedApplicationDidEnterBackground:application];
 63 }
 64 
 65 - (void)hookedApplicationWillEnterForeground:(UIApplication *)application {
 66     [self hookedApplicationWillEnterForeground:application];
 67 }
 68 
 69 - (void)hookedApplicationDidBecomeActive:(UIApplication *)application {
 70     [self hookedApplicationDidBecomeActive:application];
 71 }
 72 
 73 - (void)hookedApplicationWillTerminate:(UIApplication *)application {
 74     [self hookedApplicationWillTerminate:application];
 75 }
 76 
 77 /*支付宝对应的方法*/
 78 - (BOOL)hookedApplication:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
 79     [self hookedApplication:application openURL:url sourceApplication:sourceApplication annotation:annotation];
 80     return YES;
 81 }
 82 
 83 
 84 
 85 -(BOOL)hookedApplication:(UIApplication*)application handleOpenURL:(NSURL*)url {
 86     [self hookedApplication:application handleOpenURL:url];
 87     return YES;
 88 }
 89 
 90 
 91 #pragma 默认
 92 /*default 默认不需要改动*/
 93 - (BOOL)defaultApplication:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)dic { return YES;
 94 }
 95 
 96 - (void)defaultApplicationWillResignActive:(UIApplication *)application {}
 97 
 98 - (void)defaultApplicationDidEnterBackground:(UIApplication *)application {}
 99 
100 - (void)defaultApplicationWillEnterForeground:(UIApplication *)application {}
101 
102 - (void)defaultApplicationDidBecomeActive:(UIApplication *)application {}
103 
104 - (void)defaultApplicationWillTerminate:(UIApplication *)application {}
105 
106 - (BOOL)defaultApplication:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
107     return YES;
108 }
109 
110 - (BOOL)defaultApplication:(UIApplication *)application handleOpenURL:(NSURL *)url {
111     return YES;
112 }
113 @end

自汉唐以来,随着东部沿海地点经济前行,北方边疆地带民族融合,中国的经济和政治主题也不断北迁和东移。当大一统王朝建立之时,统治者必须把更多的出发点放在北部和东部地区,来保安全球的吐鲁番久安。

至于这一个HookUtils做几点表达: 

HookUtils是IOS的Hook机制的落实,所以适用于拥有IOS的开支,这里只是指向Air应用做了部分处理。 

Hook体制中需要拿到使用的兑现了生命周期的类名,这样才能Hook处理,尽管你是Xcode工程支出的代码这您会很有益于的找到这个类名,这适用于IOS原生,Unity以及Cocos引擎,因为它们都会利用Xcode开发工具。然而,Air开发是在Flash
Builder上,并不直接关联到Xcode工程,通过代码打印Air应用的生命周期类,找到了Air的类名CTAppDelegate,于是代码中装置为,其他发动机自行修改,当然,你也足以由此部署文件(Info.plist)获取,这样代码就不需要修改了

 Class oldClass = objc_getClass([@"CTAppDelegate" UTF8String]);


你需要在hooked**艺术中贯彻您的切实可行代码,最后在+ (void)load()方法中调用头文件定义的措施(void)hookMehod:(SEL)oldSEL andDef:(SEL)defaultSEL andNew:(SEL)newSEL;来达到Hook的目的

在明日崇祯年间,有一名学者叫做刘侗。据说他就曾提议一个妙趣横生的答辩,“(新乡)中宅天下,不若(长安)虎眂天下,虎眂天下,不若(蓟城)擎天下为瓶,而身坻其口。”

地点是援引这篇博客的,我加好代码后就问题了, 这什么地方来调用它吗。
问了有经验的iOS开发者才清楚 其实并不用在另外函数里面来调用这一个HookUtil里的函数,
这么些类措施 load就是进口, 只要表明为类措施并起名load会被系统活动调用。
制作好ane
后在demo中测试,原本能够跑起来的demo自从加了HookUtil反而启动就闪退了,通过观看log发现
hookMethod执行了,果然是系统自动调用这一个代码, ane
还没在demo中经过按钮触发实例化呢

此间涉及的蓟城,是周朝时期燕国都城的称谓,也就是现行的法国首都市。刘侗把中华地图形象地比喻一个瓶子,长安倚重天险,就像瓶腹中随时出击的猛虎,可以影响天下。而东京,则是抵住了瓶口,以此为国都,对内,能俯察天下,对外,能抵抗外敌。

于是乎扩充log 最后一定到在34行  assert(oldMethod);  这行挂掉,原来
oldMethod是null ,可是看半天没看出来哪儿错了, 后来怀疑25行  oldClass   会不会也是null 呢,
于是加了日记  NSLog(@”oldclass
%@”, oldClass);  果然
也是null , 这时候想起这篇博客,也许不是CTAppDelegate 那些名字呢?
这篇博客说通过代码打印Air应用的性命周期类,找到了Air的类名CTAppDelegate。
于是在 hookMethod里面打印  

也正因如此,刘侗得出了“洛不如关,关不如蓟,守洛以环球,守关以关,守天下必以蓟”的结论。这事实上也是他对西楚皇家“始祖守国门”的一种认同和表彰。

1    id delegate = [UIApplication sharedApplication].delegate;
2     NSLog(@"delegate %@", delegate);

在元明清三代中,1267年,金朝忽必烈在法国巴黎地区建立国都,称“元基本上”;1420年,大顺永乐太岁从阿德莱德(Adelaide)北迁;1644年,汉朝顺治君主从盛京南迁。三朝的统治者,都不约而同地挑选了定鼎香水之都。

唯独依然null ,然后又想啊, 会不会是机会太早啊。 于是放在了
ane的一个api方法里面在 应用层demo中经过按钮触发,

实在,历代的统治者们所面临的形势都不太一致,定都的目标也不尽相同。元、清是北方少数民族入主中原建立的王朝,比起江南地区,他们更适于燕蓟之地的气象和文化,同时上海离他们的发财之地更近,假如有朝一日江山易主,他们也可以很容易撤出中原、回到家乡。明成祖朱棣迁都上海,则是出于内部政治努力和增长北方防御能力的双重考虑。而结尾,他们都作出了定都都城的一头采用,足以显示在这段特定历史时期里,东京(Tokyo)对全国和全中华民族而言所独具的极为特殊和重点的战略意义。

1 FREObject initSDK(FREContext ctx, void *data, uint32_t argc, FREObject argv[])
2 {
3     id delegate = [UIApplication sharedApplication].delegate;
4     NSLog(@"------------delegate %@", delegate);
5 }

杨荣,是大明的五朝元老,首辅大臣。当年朱棣决定迁都迪拜时,杨荣便是雷打不动的维护者之一。他赞同迁都的论据,是“地势宽厚,关塞险固,总握中原之夷旷者,又莫过於燕蓟。……蓟燕左环苍海,右拥太行,内跨中原,外控朔漠,宜为海内外都会。”

果然不再是null 了, 打印出来的名字也不是CTAppDelegate,而是 CTAppController
我的 airsdk 是21 ,adobe adobe 又改名字了。  把25行代码中的CTAppDelegate
改成 CTAppController 之后测试, delegate中的函数得到正确调用,
实现生命周期delegate就此解决

在近千年的命宫里,元明清三朝的统治者之所以敢身当瓶口,在京城定都,玄汉君主居然“始祖守国门”,他们所器重的,就是首都“关塞险固”。三面环山,坐北朝南,周围险要的地形,可以令这座皇城固若金汤。

 

翌日先前时期,因苗族政权自毁长城,北方少数民族得以趁虚而入。在冷兵器时代,迪拜占有地利,易守难攻,因而满洲人入主华夏后,仍沿用金朝旧都迪拜,建立了晋朝。

两百年来,清政党可以紧紧控制住广袤的华夏大地,申明了以京城为根基立国的科学。不过,大清那个朝代相比较宅,搞闭关锁国,喜欢关起门来自己玩自己的,不爱跟邻居打交道,也不经意外面的世界发生了哪些。

等到西夏失去了大航海时代,错过了工业革命的蓬勃发展,还满心以为“蓟燕左环苍海”,别人难于接近的时候,邻居突然前来敲门,我们弹指间都傻了眼。

这时清政党才感叹地发现,外国人已经足以直接从海上,把蒸汽轮船开到自己家门口了。

迪拜市东面临海,本来是守卫京城的一道重大天险,但在净土的坚船利炮面前,反而成为了一道软肋。列强只要把军舰开到圣迭戈大沽口外架个炮,就一定于直接拿枪抵住了大清的脑门。

在新的韬略形势下,香港是否适当继续作为大清的都城,成为了一个值得研究的问题。

晚清时代,受命前来中国出任“洋枪队”队长,出席镇压太平天堂的英帝国人戈登,曾就中国的都城问题向清政党指出过提出。

自然,作为一名客人,戈登没有直接提出大清迁都,而是委婉地指出,“中国一日以上海为建都之地,则一日不可与别国开衅,因都城距西宁太近,洋兵易于长驱直入,无能阻挡,此为孤注险着。”

其言下之意,假设齐国非要以首都为首都,这在拍卖对外关系时,就做好当缩头乌龟的准备呢。

戈登的这条提议,倒也不是什么先见之明。他亲眼见过也亲身加入过,在此之前晋代在三回鸦片战争中败北求和,就是因为这个缘故。此外,平时还有人说晚清时代的大清内战无敌,外战不堪一击,其实在很大程度上,也是出于京城离出曲靖太近,对外交战战略纵深不足的缘故。

除此之外戈登之外,当时境内的部分总经理也提议了迁都的想法,但都不曾引起清政坛的十足重视。

究其原因,在咸丰驾崩后,第二次鸦片战争和冬至净土叛乱都麻利被终止,且在两宫太后和恭亲王奕訢的勠力同心之下,秦朝还打开了一段“同光三星”的黄金一代。

在这三十年间,举国上下相对安静,李鸿章等人的洋务运动搞得风生水起,朝野臣民对大清的前途充满希望,觉得北洋水师可以守好门户,因此失去了风雨飘摇时期这种迁都的紧迫感。

只是,在光绪二十年(1894年),大清在庚戌战争中折戟,再一次惊醒了同胞的美梦。在这一场战火中,新加坡离岳阳过近,又四回变成了武周对日开展坚持不懈作战的制约,而且还被东瀛人得到谈判桌上,当成了胁迫大清的筹码。

光绪二十一年(1895年),中日双方在扶桑马关的媾和谈判中,扶桑首相伊藤博文便开门见山威迫李鸿章和李经方,“若不幸此次谈判破裂,则自己一声令下,将有六七十艘运输船,搭乘搭手之大军,舳舻相接,陆续开往战地。如此,法国首都的危险亦有不忍言者。如再进一步言之,谈判一旦破裂,中国的重臣离开这里,能否再平静出入日本首都城门,恐亦无法确保。”

因为这把悬在头上的利剑,清政坛不敢不承诺东瀛提议的全套要求。湖南、澎湖、辽东被所有割让,后来李鸿章遇到东瀛浪人刺杀,挨了一枪,也只为大清省下了一亿两白银的赔款,地仍旧得照割。

立马国人的激情是,西洋人的火器厉害,打然则我们认栽。但不管输给何人,也不能够输给这多少个当了中国数千年表哥的日本。由此,当《马关条约》签订的音讯传回国内,一时全国上下群情鼎沸,迁都再战之声不断。

在那多少个指出迁都的声响中,其中之一便是发源河北的一位举人——康有为。这位曾对近代中国时有暴发过紧要影响的人物,就在这时候通过一份上天子书,正式地登上晚清的历史舞台了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图