lincode / frdmodulemanager Goto Github PK
View Code? Open in Web Editor NEWiOS Module Manager library
License: MIT License
iOS Module Manager library
License: MIT License
目前缺少模块初始化优先级,当有三个模块A,B,C时,正好C依赖于B,B依赖于A,如果在配置文件中配置A,B,C的顺序又是打乱时,初始化会出问题
那还是应该在appdelegate中进行初始化的window么
比如说我又更换rootViewController的逻辑, 检测应用是否需要升级.
dyld: Library not loaded: @rpath/FRDModuleManager.framework/FRDModuleManager
日志:
Finding Podfile changes
A Rexxar
Fetching external sources
-> Pre-downloading: Rexxar
from https://github.com/lincode/FRDModuleManager.git
, commit 0.1.0
Git download
Git download
$ /usr/bin/git clone https://github.com/lincode/FRDModuleManager.git
/var/folders/z7/qw_mkgz91831pvq5sq7s3t6h0000gn/T/d20161101-26507-1ijf228
--template=
Cloning into '/var/folders/z7/qw_mkgz91831pvq5sq7s3t6h0000gn/T/d20161101-26507-1ijf228'...
$ /usr/bin/git checkout --quiet 0.1.0
error: pathspec '0.1.0' did not match any file(s) known to git.
[!] Error installing Rexxar
[!] /usr/bin/git checkout --quiet 0.1.0
error: pathspec '0.1.0' did not match any file(s) known to git.
1.注册过的对象会都变成和AppDelegate
一样生命周期的单例对象吗?
2.是不是TimelineModule
的实例其他业务功能不变,只是新增了AppDelegate
生命周期的那些协议的方法的委托?
xcode11创建的工程多了一个delegate,我们如何适配所有方法?
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { BOOL result = NO; for (id<SHModule> module in self.modules) { if ([module respondsToSelector:_cmd]) { result = result || [module application:app openURL:url options:options]; } } return result; }
这种带有BOOL返回值的,不能直接使用
result = result || [module application:app openURL:url options:options];
这会导致如果一个模块实现了这个方法返回YES,那么他后面的模块都无法再调用这个方法。
应改为:
BOOL moduleResult = [module application:app openURL:url options:options]; result = result || moduleResult;
运行了demo,发现FRDTimelineModule和FRDGroupModule两个类中didFinishLaunchingWithOptions方法都调用了两次,发现原因是AppDelegate里
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.