我的印象是,当您使用开发配置文件构建应用程序时,只有指定的开发人员才能将该版本部署到手机上.
但我刚刚使用Xcode Organizer部署了一个使用开发配置文件到手机的版本,即使我不是该配置文件的有效开发人员之一.我的一位同事甚至没有安装Xcode,他的手机使用iTunes做了同样的事情.
在这种情况下,为什么不使用开发配置文件将您的应用程序分发给您的QA团队,而不是临时分发?
编辑:请在回答之前仔细阅读该部分.我不是在问一个基本的"这是怎么回事"的问题.我已经做了很多开发,临时和应用程序商店构建,现在我发现我似乎做了一些错误的假设.
iphone apple-push-notifications provisioning-profile ios-provisioning
我有一个UINavigationController,我使用Interface Builder中导航栏的Tint属性将其更改为白色.但按钮和标题中的文本仍然是默认颜色,白色,因此在白色背景下丢失.任何人都知道如何解决这个问题?
这是一个脑力激荡问题,因为代码完全正常,它只会轻微刺激我的审美意识.我正在转向Stack Overflow,因为我自己的大脑现在正在让我失望.
这是一段代码,使用Google Maps JS API查找地址并在地图上放置标记.但是,有时初始查找失败,所以我想用不同的地址重复该过程.
geocoder.getLatLng(item.mapstring, function(point) {
if (!point) {
geocoder.getLatLng(item.backup_mapstring, function(point) {
if (!point) return;
map.setCenter(point, 13);
map.setZoom(7);
map.addOverlay(new GMarker(point));
})
return;
}
map.setCenter(point, 13);
map.setZoom(7);
map.addOverlay(new GMarker(point));
})
Run Code Online (Sandbox Code Playgroud)
(第二个参数getLatLng是回调函数.)
当然,您可以看到中心和缩放地图并添加标记的三条线是重复的,一次在主回调中,一次在"后备回调"中(哈哈).你能找到一种方法来表达整个事物而没有任何冗余吗?如果您的解决方案适用于任意数量的备份地图字符串,您将获得奖励积分和我的奉承.
哪个是对的?这个:
NSArray* foo = [[NSArray alloc] initWithObjects:@"a", @"b", nil];
[bar performSelectorInBackground:@selector(baz:) withObject:foo];
- (void)baz:(NSArray*)foo {
...
[foo release];
}
Run Code Online (Sandbox Code Playgroud)
要么:
NSArray* foo = [[[NSArray alloc] initWithObjects:@"a", @"b", nil] autorelease];
[bar performSelectorInBackground:@selector(baz:) withObject:foo];
- (void)baz:(NSArray*)foo {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
...
[pool release];
}
Run Code Online (Sandbox Code Playgroud)
我知道第一个有效,但Clang抱怨它,所以我想知道是否有更好的模式可供使用.
我会"尝试"第二个,但是通过自动释放,谁知道缺少EXC_BAD_ACCESS意味着你做得对,或者你刚刚幸运...
我一直试图通过序列化我的主要UITabBarController使用来保持我的iPhone应用程序的状态[NSKeyedArchiver archiveRootObject:toFile:],但我遇到了困难.
首先我遇到了问题UIImage,因为它没有实现NSCoding协议,但我通过UIImage为该存储创建扩展类别并检索原始图像数据来解决这个问题.
我现在坚持的问题是,当我从存档恢复时,我的视图控制器不存在.我UINavigationControllers在每个选项卡中都有,当我还原时,UINavigationItems仍然存在(我可以使用Back按钮等来更改它们)但是视图控制器已经不见了.
我看到UINavigationController的viewControllers属性标记(nonatomic, copy).这是否意味着当您归档a时UINavigationController,它不包括其视图控制器堆栈?如果是这样,我怎么能解决这个问题呢?我首先想到我会覆盖这些NSCoding方法UINavigationController,但这会搞砸NIB文件中的初始化.
我有点不安,因为我一直在努力保持app状态.我认为这是一个很常见的用例,它可以直接实现.我在这里错过了什么吗?
所以我得到了这个,大致:
<div id="A">
<ul>
<li id="B">foo</li>
</ul>
</div>
<div id="C">
...
</div>
Run Code Online (Sandbox Code Playgroud)
这些定位使得B和C重叠.
A具有z-index的90,B具有z-index的92,和C具有z-index的91.但是C出现在B面前.我做错了什么?(如果需要更多细节,请告诉我.)
我在Snow Leopard上使用终端.
在命令行,如果我输入了foo.bar.baz.bang.quuz.quux,当我点击选项-B时,它会逐字地向后移动光标 - 在每个周期停止,因为它认为一个周期是一个字边界.同样,选项-F逐字前进.
在irb(0.9.5,ruby 1.8.7)中,选项-B和-F也有这种行为,但句点不再被视为单词边界,这使得这些键盘快捷键显着减少了用处.
我怎么能改变这个?
编辑:Curiouser和curiouser:在具有相同irb和ruby版本的EC2实例上,句点被视为单词边界.
考虑这个例子:
> x = User.first # or any persisted Mongoid::Document
=> #<User _id: 52014532a6356d1ac9000001, ...>
> x.set :foo, :bar
=> :bar
> x.set :foo2, 'bar'
=> "bar"
Run Code Online (Sandbox Code Playgroud)
请注意,"foo"和"foo2"未在Ruby中声明.
那么,在MongoDB shell中:
> db.users.findOne({_id: ObjectId('52014532a6356d1ac9000001')})
{
"_id" : ObjectId("52014532a6356d1ac9000001"),
"foo" : "bar",
"foo2" : "bar",
...
}
Run Code Online (Sandbox Code Playgroud)
但现在,回到Ruby:
> x = User.find x.id; nil # to clear out any possibility of metadata on the instance
=> nil
> [x.read_attribute(:foo), x.read_attribute(:foo2)]
=> [:bar, "bar"]
Run Code Online (Sandbox Code Playgroud)
怎么知道的?
下面是一个代码块,它在我应用程序主线程的一个单独的线程中运行.如何在每个按钮获取缩略图后更新UI?现在它不会更新,直到整个方法完成.这些按钮已添加到UIScrollView中.
(LotsGridButton只是一个带有一些额外属性的UIButton.)
- (void)fetchThumbnails {
CCServer* server = [[CCServer alloc] init];
for (int i=0; i<[buttons count]; i++) {
LotsGridButton* button = [buttons objectAtIndex:i];
if (button.lot.thumbnail) continue;
// load the thumbnail image from the server
button.lot.thumbnail = [server imageWithPath:button.lot.thumbnailURL];
[button setImage:button.lot.thumbnail forState:UIControlStateNormal];
}
[server release];
}
Run Code Online (Sandbox Code Playgroud) 我有一个自定义的UITableViewController子类,我在nib文件中的两个地方使用它.如果我希望这两个实例的行为略有不同,我该怎么办?当然在代码中我可以根据BOOL的值选择一种行为或另一种行为,但是如何从Interface Builder中设置BOOL,而不必编写Interface Builder插件?
NSArray* arr = [NSArray array];
int a = MIN([arr count], 1); // 0 correct
int b = MIN(0 - 1, 1); // -1 correct
int c = MIN([arr count] - 1, 1); // 1 WRONG
Run Code Online (Sandbox Code Playgroud)
这是NSObjCRuntime.h中MIN宏的定义:
#if !defined(MIN)
#define MIN(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __a : __b; })
#endif
Run Code Online (Sandbox Code Playgroud) 这里是我的困境:我有两种类型的语义完全不同的路线,并应该去不同的控制器.
ny/new-york/brooklyn/cleaners # should go to a list of cleaners for a neighborhood
ny/new-york/cleaners/mrclean # should go to an individual cleaner's page
Run Code Online (Sandbox Code Playgroud)
请注意,这里的"brooklyn"和"cleaners"仅仅是示例.该应用程序有许多服务类型(例如"清洁")和许多邻域,因此不可能将列表硬编码到正则表达式中并使用它来区分这两个路径.
是否有可能在路由决策中涉及访问ActiveRecord模型的任意方法?我正在使用Rails 2.3.8.
cocoa-touch ×5
iphone ×5
objective-c ×4
ruby ×2
callback ×1
cocoa ×1
css ×1
html ×1
irb ×1
javascript ×1
macos ×1
mongodb ×1
mongoid ×1
mongoid3 ×1
readline ×1
recursion ×1
url-routing ×1
z-index ×1