我的iPhone应用程序连接到三个不同的服务器,例如:生产,登台和测试.应用程序使用了一堆配置值,具体取决于它连接到哪个服务器,例如Facebook App ID,TestFlight团队密钥等.
我想在GIT中进行所有设置,并且只选择应用程序在编译或发布时应该使用的配置.例如,选择测试时,产品 - >在XCode中运行运行连接到测试的应用程序的调试版本,产品 - >存档创建具有也连接到测试的发布版本的IPA文件.
我不想创建比调试和发布更多的构建配置(因为这意味着构建配置/运行时配置的6种不同组合).我认为,理想的解决方案是我有三种方案:生产,测试和登台,每个方案选择三个Info.plist文件中的一个用于应用程序.这将允许我不仅定义不同的运行时设置,还根据后端服务器定义不同的应用程序版本或包标识符.但是,除了选择不同的构建配置之外,我看起来不能以任何其他方式配置存档操作.任何想法,如果可以以任何方式实现?
编辑:为了使它更清晰,生产/暂存/测试是后端服务器,而不是iOS应用程序的版本.iOS应用程序有两个版本:debug/release.换句话说,我可能想运行连接到生产服务器的应用程序的调试版本,例如调试由该服务器返回的JSON引起的崩溃.为了清楚起见,我本可以将服务器命名为A,B和C.
目前,render方法只能返回单个元素/组件.见:这里
在该票据的讨论中,一些人建议将从React组件返回的多个元素包装在HTML注释中,以便浏览器忽略包装组件,例如:
<A>
<B></B>
<Fragment>
<C></C>
<D></D>
</Fragment>
<E></E>
</A>
Run Code Online (Sandbox Code Playgroud)
会呈现给:
<a>
<b></b>
<!--<fragment data-reactid="">-->
<c></c>
<d></d>
<!--</fragment>-->
<e></e>
</a>
Run Code Online (Sandbox Code Playgroud)
但是如何实际创建一个只呈现HTML注释的组件?换句话说,上面例子中'fragment'组件的render函数如何看起来像?
我正在寻找一种工具来生成JavaScript函数和属性的文档,即使没有与这些函数或属性相关的适当格式化的注释块(如Doxygen那样).
JSDoc和其他一些文档工具之间的比较提到JSDoc可以解析源代码以生成文档,即使没有注释块(像Doxygen,如上所述).他们说所有其他工具只解析注释块.
我根据这条指令从npm(在节点上)安装了JSDoc 3.3.0-alpha4 ,我正在尝试为我的项目生成文档.据我所知,JSDoc不会为没有相关JSDoc标志的正确注释的函数或属性生成任何文档.
我知道JSDoc经历了多次迭代,是否已删除此功能或我没有使用正确的交换机?我试图检查命令行选项,但找不到任何开关.我只是这样使用它:
./node_modules/.bin/jsdoc -r -l my_project --destination doc/
Run Code Online (Sandbox Code Playgroud)
我知道还有其他工具可以自动为代码添加文档块,例如smartcomments,但这并不是我想要的.任何人都可以对此有所了解吗?
我有使用要么它返回一个细胞在JSX限定的阵营部件td或th,例如:
if(myType === 'header') {
return (
<th {...myProps}>
<div className="some-class">some content</div>
</th>
);
}
return (
<td {...myProps}>
<div className="some-class">some content</div>
</td>
);
Run Code Online (Sandbox Code Playgroud)
是否有可能以这样的方式编写JSX,即从变量中获取HTML标记?喜欢:
let myTag = myType === "header" ? 'th' : 'td';
return (
<{myTag} {...myProps}>
<div className="some-class">some content</div>
</{myTag}>
);
Run Code Online (Sandbox Code Playgroud)
上面的代码返回指向的错误"意外令牌" {.我正在使用带有babel插件的webpack来编译JSX.
解决文件中的冲突时,我可以
git checkout --ours filename
Run Code Online (Sandbox Code Playgroud)
然后提交文件。这样可以解决冲突。然而,
git checkout --ours submodule
Run Code Online (Sandbox Code Playgroud)
似乎不起作用。子模块的引用提交不会更改。
git checkout --ours filename解决子模块引用中的冲突将是什么意思?
我试图删除与表中的行关联的行,而不删除主行(因此无法使用 CASCADE)。
这是原始的 PostgreSQL 查询,它可以实现我想要使用 SQL 实现的功能。Sequelize 是否能够生成这样的查询:
DELETE FROM session USING user WHERE session.user_id = user.id AND user.username = 'bob'
Run Code Online (Sandbox Code Playgroud)
模型为(不包括不相关的列):
create table user (
id uuid primary key default uuid_generate_v4(),
username text UNIQUE NOT NULL
);
create table session (
id uuid primary key default uuid_generate_v4(),
user_id uuid NOT NULL references user(id) ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)
该关联在sequelize中定义为:
Session.belongsTo(models.User, {
foreignKey: "user_id"
});
User.hasMany(models.Session, {
foreignKey: "user_id"
});
Run Code Online (Sandbox Code Playgroud)
查询的替代版本可以是:
DELETE FROM session WHERE session.user_id = (SELECT user_id FROM user …Run Code Online (Sandbox Code Playgroud) 在FreeBSD上说,应用程序需要使用GNU make(gmake)编译,而不是标准系统make.是否有任何指令我可以放入Makefile停止执行它并在Makefile未使用gmake编译时打印错误?
任何人都可以帮助解决ARC和与内存相关的崩溃问题吗?
我有LTRequest一个带有成员变量的类,它存储一个块指针:
typedef void (^APICallOKBlock)(id);
@interface LTRequest : NSObject
@property (nonatomic, strong) APICallOKBlock okCB;
@end
Run Code Online (Sandbox Code Playgroud)
初始化该变量的代码:
-(void)addOKBlock:(APICallOKBlock)okBlock
{
self.okCB = okBlock;
}
Run Code Online (Sandbox Code Playgroud)
如果成功,我会调用块:
-(void)apiCallCompletedWithResult:(id)result
{
if(self.okCB != nil)
{
self.okCB(result);
}
}
Run Code Online (Sandbox Code Playgroud)
作为参考,该块看起来像这样:
APICallOKBlock okBlock = ^(id result)
{
[self handleAPICallCompleted:result];
};
Run Code Online (Sandbox Code Playgroud)
它调用在调度api调用的对象中定义的函数,但该部分并不重要.重要的是apiCallCompletedWithResult在api调用成功后调用时会发生什么.接下来发生的事情就是调用了块,但是当请求对象LTRequest被释放时,应用程序很快就会崩溃(SomeAppName是我们的应用程序):
Thread 6 name: Dispatch queue: com.apple.root.low-priority
Thread 6 Crashed:
0 libobjc.A.dylib 0x300bad9c objc_release + 12
1 libobjc.A.dylib 0x300c6c00 objc_storeStrong + 24
2 SomeAppName 0x00055688 -[LTRequest .cxx_destruct] (LTRequest.m:12)
3 libobjc.A.dylib 0x300bba66 object_cxxDestructFromClass …Run Code Online (Sandbox Code Playgroud) 根据x264编码指南,crf比例取决于x264是8位还是10位.据说x264 --help显示了Output bit depth.但在Windows ffmpeg -h full上没有说什么,Output bit depth并且crf缩放选项被描述为from -1 to FLT_MAX.如何检查我的ffmpeg是使用8位还是10位版本的libx264库?
是否有任何命令可以在两个分支中查找文件的共同祖先?
假设有一个文件在两个分支中独立修改。我想找到两个分支共有的该文件的最后一个版本。我相信这可以归结为在两个分支中找到该文件的单父提交。
但是,merge-base 只允许查找提交的父提交,而不是文件。我尝试指定最后两次提交修改各自分支中的文件,但我得到的父提交不在任一分支中该文件的更改历史记录中,这可能是由于提交通常包含的更改超过一个文件。
我知道在渲染期间我可以通过 refs 获取孩子,例如,在孩子上调用一个函数(我可以为此添加到孩子中)来确定孩子的类型。
<Child ref={(child) => {this._childType = child.myFunctionToGetTheType();}} />
Run Code Online (Sandbox Code Playgroud)
但是在这个例子中,直到 Child 被挂载,这个函数才真正被调用,所以在renderParent 的 完成执行之后。
我有一个父组件,它通过 props 接收它的子组件。由于React 的限制,我需要render在父级完成执行之前以特殊方式处理特定子级(即从父级render函数中为该特定子级返回其他内容)。
是否可以在从父render函数返回之前确定子函数的类型(即不使用 refs)?