我最近决定为已经在App Store上运行多年的游戏增加成就,而且我在使它们工作方面遇到了问题.
我使用以下代码发布成就:
GKAchievement *achievement = [[GKAchievement alloc] initWithIdentifier: identifier];
[achievement setPercentComplete:100.0];
[GKAchievement reportAchievements:@[achievement] withCompletionHandler:^(NSError *error){
}];
Run Code Online (Sandbox Code Playgroud)
但reportAchievements
只是记录no bundle for bundleID: (null)
.
我想知道它是否与成就尚未生效以及Apple已删除沙盒服务器这一事实有关.但它们已在iTunes Connect中注册,我正在使用测试用户.
同样重要的是要注意此应用程序是从其他开发人员转移的.
对于我尝试使用的应用ID:
com.olddeveloper.ach_id
com.olddeveloper.appid.ach_id
ach_id
com.newdeveloper.ach_id
com.newdeveloper.appid.ach_id
在转移之前存在的排行榜仍在工作,它使用旧开发人员的ID.
我甚至尝试刚开始使用的第一个答案代码中所有的成就列表在这里,但它仍然说no bundle for bundleID: (null)
.
编辑:
我发现即使它说no bundle for bundleID: (null)
,它仍然正确地返回所有成就的列表.我认为这个消息只是系统中的一些小故障,无论如何它都可以工作.
也就是说,我仍然无法使用任何ID组合解锁成就.
默认情况下,如果不存在具有指定索引的对象,DynamoDB将创建一个新条目.有没有办法阻止这种情况发生?我可以在更新之前查询表中的密钥,但是在一个请求中完成所有操作会很好.
我最近遇到了我的应用程序问题,我需要查看发送到我的iPhone的数据.我已经阅读了Paros并下载了它,但我不知道我需要将哪些信息放入paros和我的iPhone才能使其正常工作.我正在运行一个没有当前代理服务器的正常Windows 7安装,而我的ISP是使用光纤包的telus.那么我需要安装什么?在哪里可以找到读取我的iPhone使用paros通过网络发送的数据所需的所有信息?
我是JNI的新手,我想在将C++ iOS代码移植到它之前弄清楚某些事情是如何工作的.我成功地在Android工作室中获得了一个NDK示例,我可以看到Java如何调用C++函数.
我一直在搜索并获取大量代码,但我无法让它在我的具体实现中工作.
只是为了测试一切是如何工作的,我在java中设置了一个简单的文本日志功能,我试图从我的本机代码中调用它,但我遇到了问题.
这是我的Java函数:
public static void log(String s){
Log.d("Native", s);
}
Run Code Online (Sandbox Code Playgroud)
和C++:
void Log(std::string s){
JNIEnv *env;
g_JavaVM->GetEnv((void**)&env, JNI_VERSION_1_6);
jstring jstr1 = env->NewStringUTF(s.c_str());
jclass clazz = env->FindClass("com/android/gl2jni/GL2JNILib");
jmethodID mid = env->GetStaticMethodID(clazz, "log", "(Ljava/lang/String;)V");
jobject obj = env->CallStaticObjectMethod(clazz, mid, jstr1);
}
Run Code Online (Sandbox Code Playgroud)
从我看到的不同的例子,这应该工作,但它会抛出一个错误:
29835-29849/com.android.gl2jni A/libc? Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 29849 (Thread-17371)
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
编辑:
我已将其更改为GetStaticMethodID.但在记录函数的进度后,我发现失败的行是:
g_JavaVM->GetEnv((void**)&env, JNI_VERSION_1_6);
Run Code Online (Sandbox Code Playgroud)
我认为这是因为g_JavaVM被设置为static JavaVM* g_JavaVM = NULL;
然后再也没有触及过.我猜我需要设置这个变量,但是如何?
是否有任何.Net库来解析我通过mediawiki api检索到的页面?一个标准的mediawiki解析器,可以只用纯数据提供标题和数据,但我宁愿有一个特别适合wiktionary,一个可以给我什么类型的单词和所有定义.
我不想为此编写自己的解析器.有什么建议?
我目前正在开发一款我刚刚开始的游戏.进展很顺利,一切运行顺利,但我决定尝试使用XCode Instruments来检查代码中的任何泄漏.我正在使用ARC,只有删除其他对象时才会添加新对象(游戏内部工作的一部分),但总内存大小在运行时会不断增长.
我的游戏完全是程序生成的,不需要任何资源,它也只使用仅用颜色映射的几个多边形,因此没有纹理.我预计它应该只需要几个MB来运行(它开始时)但它只是不断增长.
现在,我注意到了一些有趣的事情......大部分数据的用处是名为IOAccelResource的条目.这很奇怪,因为我没有使用任何加速度计/陀螺仪/指南针数据.我甚至没有在我的项目中引用CoreMotion框架.
数据的第二个主要用途是四个不断增长的malloc集合.还有一些保持相对相同.
但是,这两个条目不被程序视为泄漏.当我告诉XCode分析我的代码时,它并没有指出任何问题.
所有其他条目都很小,并且在同一点附近波动,或者保持不变.
以下是麻烦条目的屏幕截图:
有什么建议?
我目前在我的游戏中有这个代码:
Vector2 pixelpos = new Vector2(x, y);
Vector2 center = new Vector2(t.Width / 2, t.Height / 2);
Vector2 pixelposWorld = (pixelpos - center);
float rotation = (float)Math.Atan2(pixelposWorld.Y, pixelposWorld.X);
float rotationPercent = (MathHelper.ToDegrees(rotation) / 360);
Run Code Online (Sandbox Code Playgroud)
我的目标是最终使 rotationPercent 成为 0.0 到 1.0 之间的值,0 度为 0.0,180 为 0.5,360 为 1.0。
目前,rotationPercent 仅作为 1.0 出现。
我能做些什么来解决这个问题?
我正在尝试编译我的游戏并且出现一个不应该出现的错误.
这些是我班级的文件:
Circle.h:
#import <UIKit/UIKit.h>
@interface Circle : NSObject
{
}
@property (readwrite, assign) CGPoint Center;
@property (readwrite, assign) float Radius;
+ (Circle *) CircleMakeFromCenter:(CGPoint)center radius:(float)radius;
@end
Run Code Online (Sandbox Code Playgroud)
Circle.m:
#import "Circle.h"
@implementation Circle
@synthesize Center;
@synthesize Radius;
+ (Circle *) CircleMakeFromCenter:(CGPoint)center radius:(float)radius{
Circle *c = [[Circle alloc] init];
c.Center = center;
c.Radius = radius;
return c;
}
@end
Run Code Online (Sandbox Code Playgroud)
这是一个错误,说Radius是一个重复的符号.
为什么会出现这个错误?
c# ×3
ios ×2
iphone ×2
.net ×1
android ×1
android-ndk ×1
c++ ×1
debugging ×1
game-center ×1
instruments ×1
java ×1
memory-leaks ×1
objective-c ×1
php ×1
vector ×1
wiki ×1
wiktionary ×1
xna ×1