Coder Social home page Coder Social logo

frdmodulemanager's People

Contributors

lincode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

frdmodulemanager's Issues

关于模块初始化顺序问题

目前缺少模块初始化优先级,当有三个模块A,B,C时,正好C依赖于B,B依赖于A,如果在配置文件中配置A,B,C的顺序又是打乱时,初始化会出问题

window初始化问题

那还是应该在appdelegate中进行初始化的window么
比如说我又更换rootViewController的逻辑, 检测应用是否需要升级.

闪退

dyld: Library not loaded: @rpath/FRDModuleManager.framework/FRDModuleManager

pod error

日志:

Finding Podfile changes
A Rexxar

  • AFNetworking
  • FRDIntent

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生命周期的那些协议的方法的委托?

带有返回参数的方法写法有问题

- (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;

FRDTimelineModule和FRDGroupModule中,didFinishLaunchingWithOptions方法调用了两次

运行了demo,发现FRDTimelineModule和FRDGroupModule两个类中didFinishLaunchingWithOptions方法都调用了两次,发现原因是AppDelegate里

  • (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary )launchOptions {
    NSString
    plistPath = [[NSBundle mainBundle] pathForResource:@"ModulesRegister" ofType:@"plist"];
    FRDModuleManager *manager = [FRDModuleManager sharedInstance];
    [manager loadModulesWithPlistFile:plistPath];
    [manager application:application didFinishLaunchingWithOptions:launchOptions];
    return YES;
    }
    这个方法里,不应该是 [manager application:application willFinishLaunchingWithOptions:launchOptions]吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.